|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
采用8段数码管,有一半以上的英文字母无法显示,本文介绍用15段数码管来显示英文字母的方法,显示清晰,全部显示大写字母。* t& f* ?9 w6 O
一、硬件 硬件电路如附图。采用扫描显示,二片74HC595串/并转换移位寄存器作段显示,占用P1.5、P1.6、P1.7口,一片74LS164串/并转换移位寄存器作位显示,可控制8位数码管,数码管为共阴管。如果用0.8英寸管,段位无需加驱动,整个硬件电路较简单,且可利用串行口上的74LS164扩展键盘。7 f9 v) y8 l5 O. w
二、软件 首先将数字或英文字母分为高8位和低8位,数字部分最好都设计在低8位,在传送段位数据时先送高8位后送低8位,并锁存在74HC595内,再通过串行口传送位数据。显示“ABCDEF14”的软件清单如下:4 m, q# f9 ~1 \) t2 ^" P9 N' z
ORG 0) P3 x. e$ h0 ]8 c/ ^) K
AJMP MAI
! K3 x: b3 ]* `/ c# _ ORG 0030H9 ~* a# T0 D1 u6 E0 x i4 i: i
MAI: MOV SP,#65H
2 `: Q9 [) \2 k9 s MOV 30H,#0AH( G0 @& A# c' C' e3 H$ i1 ^$ O
MOV 31H,#0BH
: ]0 C* W4 p+ c MOV 32H,#0CH4 C' P: V: j r3 h
MOV 33H,#0DH
3 u* a) }0 ~8 M2 U. u8 x MOV 34H,#0EH- f2 }5 _; H% V, S( g
MOV 35H,#0FH
$ Y& r1 y2 j% u" u MOV 36H,#01H S% i6 n2 U( x" r" @- F
MOV 37H,#04H; h' I: v- L$ Z' c2 ]
MOV 40H,#1AH4 U* i. _. f3 t+ I& o( T5 H
MOV 41H,#1BH
, }! L' e2 ]) p# F. b MOV 42H,#1CH& g2 F0 o( I* x' E P+ n
MOV 43H,#1DH8 {5 r+ O6 [/ ?
MOV 44H,#1EH
5 Y/ s( P5 R7 `3 E* h$ E' H MOV 45H,#1FH
* c* @; f* a K MOV 46H,#11H
' P* }2 V" i8 _& g& b MOV 47H,#14H
- o y# |6 Y: nDIS: CLR C
0 E8 [$ R; N/ U9 T! z MOV SCON,#00H
0 I" A3 y2 b8 G3 w) y4 x MOV RO,#30H
$ I8 S! I+ P& W" y$ g# t MOV R1,#40H, N% E; }) S) _- U. c+ L0 c: R
MOV R2,#01H
% E1 J; D( ?4 _ MOV R4,#08H; s) P, M( ?& q* X& }* P$ _' B
DIS1:MOV A,@R1
@$ `# {4 l7 f7 X0 R4 F% M ACALL WRIT: L7 z- R! J8 ~" ?) N/ s! K" B
MOV A,@R00 |/ f0 p9 }+ f u+ d' ~
ACALL WRIT8 u, L* K! S* R* m$ `' m
CLR P1.6
1 l3 J5 o( g$ f- G0 ?" ]+ _8 U NOP
/ g8 e6 W3 z5 K2 g e' p' P" [ NOP7 l' N! Q) q( l" w/ b
SETB P1.6
; Z0 ]( d4 |4 ]- C MOV A,R2. }$ ~9 M1 i; T- u' \
MOV SBUF,A
) f( F7 `! m$ M. ?9 QTL1: JNB TI,TL1
9 L2 ?) s# S8 s7 _' L0 S# s7 d CLR TI, z2 w# V. h$ s0 g) J& \) M3 a) Z
ACALL DILO& @. F7 Y* I) D! i" L: L6 E
INC R1 y" q: P0 D$ F" y* `
INC R0
2 i6 S3 z! f2 F9 s MOV A,R2
s8 M9 z0 }! y. R Y) q, U RL A
( a7 P+ @3 V( x/ J- G4 n MOV R2,A7 r0 P, }5 T' S, \4 A( V9 P/ F1 c1 I
DJNZ R4,DIS1$ ^: r+ q6 i3 ^& {
AJMP DIS
0 {9 ], S' A+ a8 r9 XWRIT:MOV R3,#08H
* a# B* ~" e& X* ^7 e! g ADD A,#13H
/ ?$ U; a( R( ? MOVC A,@A+PC" d0 H( n3 [! ?3 T8 s
LD2: RLC A
" T. g! L m5 @5 E, A: \$ a, R% D MOV P1.5,C; [( {! A; u% j5 M, \' h* W
CLR P1.7% f& G4 X# p) `- q" B* u+ L/ c
SETB P1.70 Z$ l4 F# L0 N3 L- @+ u
DJNZ R3,LD2
9 Q' `" ~8 g0 L, }3 x RET0 Z2 Z. W; O( \) [
DIL0:MOV R7,#02H7 ?# r) M$ ^$ `
MOV R6,#0FFH
5 l1 m4 R* _( a$ n: r! d6 HDIL1:DJNZ R6,DIL1& y8 x! i9 }! s3 Z' o2 ^
DJNZ R7,DIL1
3 h- r' A+ q# H4 |, G! a RET
; ?, _8 {% ^$ q7 | v/ x7 D- M5 z/ `DTAB:DB 0C0H,0FFH,24H,30H,1FH2 ^( l! b' m. r V
DB 12H,02H,0D8H,00H,10H
U& d* W c' } I8 N DB 0B9H,0B0H,0C6H,
$ o- \( c: ?3 {. M+ ^" c# A DB 0F0H,46H,4EH! V6 r8 }6 y9 i
DB 0FFH,0F9H,0FFH,0FFH,0F9H- H# c. J8 t( e* L
DB 0FFH,0FFH,0FFH,0FFH
0 w f4 W7 y: \9 f! K DB 0FFH,0EEH,0F9H,0FFH
: N6 t- t( b4 T+ K& J DB 0F9H,0FFH,0FFH
' P' h& Y7 u$ f, X2 t8 X8 _1 u END |
|