|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
采用8段数码管,有一半以上的英文字母无法显示,本文介绍用15段数码管来显示英文字母的方法,显示清晰,全部显示大写字母。0 \. ~& v3 P n X8 m
一、硬件 硬件电路如附图。采用扫描显示,二片74HC595串/并转换移位寄存器作段显示,占用P1.5、P1.6、P1.7口,一片74LS164串/并转换移位寄存器作位显示,可控制8位数码管,数码管为共阴管。如果用0.8英寸管,段位无需加驱动,整个硬件电路较简单,且可利用串行口上的74LS164扩展键盘。
v1 e7 a; X l% z 二、软件 首先将数字或英文字母分为高8位和低8位,数字部分最好都设计在低8位,在传送段位数据时先送高8位后送低8位,并锁存在74HC595内,再通过串行口传送位数据。显示“ABCDEF14”的软件清单如下:- d$ |5 e4 ]$ V; x- U A3 }
ORG 08 ^$ k4 H" k/ E; R' i
AJMP MAI
4 ], r' m8 S; h) F" b ORG 0030H0 e; l; j( U/ n6 w
MAI: MOV SP,#65H
. t0 T3 ?& M& X MOV 30H,#0AH
3 \7 v/ k7 B- O0 K t& {. D MOV 31H,#0BH) l1 R- j. N* j) _% m& r
MOV 32H,#0CH
+ `) N8 K1 ~% P1 S1 W, |, L- _5 ~ MOV 33H,#0DH9 O, B1 E7 V; @+ ? r
MOV 34H,#0EH
( `$ K7 t5 R1 ?3 |8 q MOV 35H,#0FH
- s6 u* d* q" n+ Q5 A1 @0 |7 d8 V+ `2 g3 W MOV 36H,#01H
) W! e1 V4 R# ~0 u, | MOV 37H,#04H
O2 n$ ~8 o* S6 ?5 h MOV 40H,#1AH
; @; ?1 v6 N' _+ c7 X$ c MOV 41H,#1BH
: L9 ~( ]# M9 M" c; N MOV 42H,#1CH
2 ?- Q" [( ?, X/ d, R9 b! A MOV 43H,#1DH
) g j& a( R4 r5 t& e# b MOV 44H,#1EH, Y+ h2 w0 D0 ~: L
MOV 45H,#1FH8 Z. ?, d6 n' X
MOV 46H,#11H" a) y, k# \3 o2 V
MOV 47H,#14H
. d! C& e1 f# J& z5 i5 Y- e/ nDIS: CLR C
' s3 y. e% C5 u- e8 Y MOV SCON,#00H
" e* \/ u L5 l% z- E MOV RO,#30H. Z, }( n0 h4 c" m; @' ^! P9 j
MOV R1,#40H
% U U/ Y8 k4 `6 {1 t6 L2 n MOV R2,#01H
5 |. L7 F) B. P v$ M( W: B2 z6 [0 k MOV R4,#08H
: c9 x1 {6 ^- o9 E& l' tDIS1:MOV A,@R1
" {- R: O8 ?/ l0 u, l ACALL WRIT9 J0 S. H, Q8 }. W2 d
MOV A,@R0
1 @ Y, `) G! a) R! e( N- F: ^ ACALL WRIT
( G& T0 N1 |3 F CLR P1.6
9 ?3 E7 g% d( ^& c! r$ N NOP
1 ~, V5 a, [6 x" x4 }3 Y- ? NOP7 q3 \ E- \% g; V2 U
SETB P1.6
3 G3 b2 I7 ~1 B* w$ d7 P- s4 l MOV A,R2
; x6 b# Z9 [' U8 Z. s MOV SBUF,A- @3 ?4 y6 G7 ?2 z) @$ v% k
TL1: JNB TI,TL1
' x8 z: P- d& A0 X# u9 u ~+ [8 x CLR TI
4 Y9 }0 D K* l ACALL DILO
3 D% ?/ t3 m$ W$ S5 {" m5 d9 w INC R1; V5 } W1 }7 P J8 ]
INC R02 w4 Z: Q+ m0 _$ x
MOV A,R2! C4 A" a2 q1 z7 K
RL A8 `# p9 y# p, E1 E2 u3 i
MOV R2,A7 t/ y, H8 S2 O% n0 k: [
DJNZ R4,DIS1, R& ^$ d/ u; A2 u
AJMP DIS
$ ], ~. h5 D0 C1 mWRIT:MOV R3,#08H! }4 v8 ~0 s5 E9 ]3 }! k
ADD A,#13H
( Q3 B& G5 d# r MOVC A,@A+PC
m9 y+ `" K' t9 D( w* FLD2: RLC A; ]9 G+ [+ n- m) g2 b9 F
MOV P1.5,C
/ d% q, M! J. g. d/ N2 V CLR P1.7+ S8 B2 c% d+ C. s# c9 O4 @, x
SETB P1.7
' I: m z2 {0 I1 X2 Z6 ?6 _ DJNZ R3,LD2( A" x( o# W8 S9 k4 i0 t
RET
/ e) V# k! p' Q/ X- }; VDIL0:MOV R7,#02H' D/ S/ h8 l1 l7 u
MOV R6,#0FFH/ K0 G8 E* d& k$ a2 D1 X9 s
DIL1:DJNZ R6,DIL1, M/ x& ?$ E# K% ]3 s
DJNZ R7,DIL18 R3 o8 _$ n* X$ B6 h* U
RET
$ w" f3 s" r( J7 K7 Q; XDTAB:DB 0C0H,0FFH,24H,30H,1FH& \& Z2 _4 L# I1 R Y L
DB 12H,02H,0D8H,00H,10H# e5 f4 [- G U& e2 V8 c- }/ c
DB 0B9H,0B0H,0C6H,. o, h3 G4 Y0 [
DB 0F0H,46H,4EH9 m- P; D1 `3 T: h& k P
DB 0FFH,0F9H,0FFH,0FFH,0F9H8 H( ~/ S/ `( P
DB 0FFH,0FFH,0FFH,0FFH
9 m( \1 r9 ]) b1 F) U" }& s: F DB 0FFH,0EEH,0F9H,0FFH
) ^1 n; g5 b% L DB 0F9H,0FFH,0FFH
& p% L* I% i% j/ N e END |
|