|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
采用8段数码管,有一半以上的英文字母无法显示,本文介绍用15段数码管来显示英文字母的方法,显示清晰,全部显示大写字母。7 n( i8 g& |; y% O0 v
一、硬件 硬件电路如附图。采用扫描显示,二片74HC595串/并转换移位寄存器作段显示,占用P1.5、P1.6、P1.7口,一片74LS164串/并转换移位寄存器作位显示,可控制8位数码管,数码管为共阴管。如果用0.8英寸管,段位无需加驱动,整个硬件电路较简单,且可利用串行口上的74LS164扩展键盘。
: Q0 a9 u# t" T5 |0 N; E 二、软件 首先将数字或英文字母分为高8位和低8位,数字部分最好都设计在低8位,在传送段位数据时先送高8位后送低8位,并锁存在74HC595内,再通过串行口传送位数据。显示“ABCDEF14”的软件清单如下:7 R" y/ ] P: @: |2 ?! ]% d
ORG 0) x/ c* l3 ^0 @4 u8 k, p
AJMP MAI
" T' U! b* u- s+ o0 [ ORG 0030H- Y- ]! w( t- w3 d5 V2 |
MAI: MOV SP,#65H4 w3 z+ V4 j: w4 R; ` H9 k
MOV 30H,#0AH
) y" b6 D2 V3 C MOV 31H,#0BH. h" I) ^6 \# e. Z b( l0 k9 _
MOV 32H,#0CH
1 c; @9 b% ~5 E- I6 b9 ?0 l5 j MOV 33H,#0DH
" B9 W& U. x6 d$ c) j- c MOV 34H,#0EH! e" o2 [- l$ Y+ q6 i" f7 L% |2 y
MOV 35H,#0FH
4 S9 W2 q2 Q# w2 { MOV 36H,#01H
9 H; g1 o; a" v+ b& k- O B MOV 37H,#04H
4 Y. e9 r' t: I5 ? MOV 40H,#1AH9 e6 `! V1 A. F( C" \
MOV 41H,#1BH
) t0 h4 F# v. g! i1 r MOV 42H,#1CH
- G y" k4 A& s0 E2 f MOV 43H,#1DH- S) @/ _6 {3 v6 o, L
MOV 44H,#1EH; Q- ]! _8 K0 \ b, L1 Q# u, d
MOV 45H,#1FH
/ W- t& W8 M. Y4 |3 h% t6 S MOV 46H,#11H
5 r2 a s9 ~$ B" M" L+ P. }0 I, b. @ MOV 47H,#14H
) I: _) N5 ?" L4 i6 }DIS: CLR C
$ r6 {6 P( z/ Y% C MOV SCON,#00H2 Y8 V6 K7 w; T \
MOV RO,#30H
8 W. F8 l- G9 _* Z+ Y MOV R1,#40H% M6 O. Z9 s* p
MOV R2,#01H7 A! I7 U5 a3 u0 \% O5 G/ c
MOV R4,#08H
' w- X A8 l2 C! n$ jDIS1:MOV A,@R1
, n- o2 g1 Q+ v4 b) x/ \8 O ACALL WRIT( N. v! T+ }. Q' \, x& i
MOV A,@R0
0 P! R- j2 q2 R ACALL WRIT, Z! b' n$ r. X- T; H
CLR P1.6; ?7 i. Z" P5 J7 I. d
NOP) ^- q7 t; m/ H5 i/ z, W) n% O
NOP
8 W$ p4 k5 x ~! x1 d SETB P1.6* G, B( b9 ~1 I* E/ z- O
MOV A,R24 e& n1 W4 N4 l% O
MOV SBUF,A
' Z5 @4 B5 B. y* ?* eTL1: JNB TI,TL1
1 U9 r/ ?7 w; ~7 D; I9 v; k: F CLR TI# e( F7 T5 q+ }- E$ h2 m; w' S
ACALL DILO
4 B) [. ^. H2 R2 ? o; h( N INC R16 A% T2 N- O0 k
INC R0# b8 h( J/ e9 P9 v: q% q
MOV A,R2
) k# z4 T; H5 c& [' Y; v RL A( M1 B4 _- ^' Q$ T7 z. w9 j/ b
MOV R2,A
5 t5 L0 k: c- h' o9 ? DJNZ R4,DIS17 j6 s- t1 w% C1 D6 g+ f" G
AJMP DIS
. d4 w' V# x; X' }WRIT:MOV R3,#08H1 @; l, h6 X1 W( J3 j. O. q
ADD A,#13H
0 J( L# ]1 W0 l5 Y MOVC A,@A+PC, } f& \6 ^* h* \
LD2: RLC A* S+ i" e( O1 G, @; T
MOV P1.5,C& D1 l8 x3 w6 v
CLR P1.7
( H( l4 u" B( c SETB P1.7
: y8 p! S G; N# O6 o DJNZ R3,LD21 Z$ c1 k, m/ [, z
RET7 p8 G# `( Z: M4 I8 L- G6 b
DIL0:MOV R7,#02H7 q! c: k" p. `3 Z: x; L; r
MOV R6,#0FFH* q9 ?, T# T l* t& I9 j
DIL1:DJNZ R6,DIL1- _7 t/ P2 Z; B1 x3 f
DJNZ R7,DIL1
1 y: Y$ y0 ^# ?9 \/ e RET' d |$ |& j) t5 s* f
DTAB:DB 0C0H,0FFH,24H,30H,1FH6 |3 W# r- p7 C
DB 12H,02H,0D8H,00H,10H
, l. h* m# o6 `) J) q DB 0B9H,0B0H,0C6H,
' W8 h' I: N& V0 K& t DB 0F0H,46H,4EH
8 K5 m+ c, o, h: G9 R5 T7 Z/ z( X6 c DB 0FFH,0F9H,0FFH,0FFH,0F9H5 K( s; P! R$ C! c! w# Q
DB 0FFH,0FFH,0FFH,0FFH
3 x, {( i2 T" R DB 0FFH,0EEH,0F9H,0FFH
( H6 D- h+ h+ `7 N; _5 x1 O DB 0F9H,0FFH,0FFH: d ?9 ` O+ p4 i. t
END |
|