|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
采用8段数码管,有一半以上的英文字母无法显示,本文介绍用15段数码管来显示英文字母的方法,显示清晰,全部显示大写字母。
- K2 ~8 v% r+ y5 Y" {# ], r6 d 一、硬件 硬件电路如附图。采用扫描显示,二片74HC595串/并转换移位寄存器作段显示,占用P1.5、P1.6、P1.7口,一片74LS164串/并转换移位寄存器作位显示,可控制8位数码管,数码管为共阴管。如果用0.8英寸管,段位无需加驱动,整个硬件电路较简单,且可利用串行口上的74LS164扩展键盘。
$ \, l4 _2 p) f' A- ^% Y# r 二、软件 首先将数字或英文字母分为高8位和低8位,数字部分最好都设计在低8位,在传送段位数据时先送高8位后送低8位,并锁存在74HC595内,再通过串行口传送位数据。显示“ABCDEF14”的软件清单如下:
0 c. ~0 N" e9 ]+ }' i, y i. a8 W& I; [ ORG 0
- Y% f6 r. w, C. }# Y AJMP MAI
6 `9 o0 b Y2 \7 | ORG 0030H- B2 w( ?# z/ f+ J! V. c3 o' R
MAI: MOV SP,#65H* a) P$ W4 M4 Z
MOV 30H,#0AH
; E0 P* ~/ e" n1 ` MOV 31H,#0BH
; T4 H% o! o9 }9 g MOV 32H,#0CH
1 V6 {: F( H4 r& \ MOV 33H,#0DH/ P; X0 @0 e8 D# n- r
MOV 34H,#0EH# v/ ^0 {& Q1 s& S: ~% e4 i
MOV 35H,#0FH, c+ y) O0 j! |& F
MOV 36H,#01H0 p% B6 j- j4 ^" c4 {
MOV 37H,#04H. { `4 V) M+ N" p9 ~" Q
MOV 40H,#1AH- J1 p0 |5 w6 n* ?7 s* m1 `2 K! b
MOV 41H,#1BH
" }+ Z0 x$ f1 ]" ]$ y3 P MOV 42H,#1CH" B2 M/ g% F+ Q/ c% H+ }4 G# S
MOV 43H,#1DH% r! i ^2 s9 p& _' w. E3 ]$ {
MOV 44H,#1EH! z$ X5 G$ c0 G/ F6 P
MOV 45H,#1FH
0 w; W$ A4 G" n+ D6 v5 V5 o6 _2 u MOV 46H,#11H7 u8 X- U( h! B
MOV 47H,#14H
4 s9 K, f# B' SDIS: CLR C
. t' b% w/ z1 x% I MOV SCON,#00H
# w3 v6 D/ h/ x0 U( X MOV RO,#30H
) _( a: \( I3 K i" J: F MOV R1,#40H
. C/ k+ _8 t4 T$ h q* { MOV R2,#01H- C q1 M. h) `7 Q+ ~5 @
MOV R4,#08H
7 J2 i3 T: M1 `* N0 kDIS1:MOV A,@R1
5 m( p. }0 s+ Q( a+ f& Q" J5 O ACALL WRIT. b7 E4 K1 u. @$ D
MOV A,@R0
, i2 ^! |* Z8 y* }, Z3 T ACALL WRIT
' g1 T7 ]8 m3 A2 A5 ~% b& X2 H' @0 G CLR P1.6
/ R c( L- Z. S NOP" m6 U! r8 L0 d& I+ K
NOP V( ]% a& L. b+ G/ M3 E
SETB P1.6
6 ~; X' y& A! y3 x, z6 y MOV A,R2! H0 F: u, X) I
MOV SBUF,A
2 b; L3 ]% v; W$ j: U% q4 n- LTL1: JNB TI,TL1
1 d. F* G' l5 j o, w CLR TI
" E6 W/ t2 J+ R# \' ^) O5 ~/ B ACALL DILO5 w- s3 g0 D' X! o! v
INC R1
: F* I* `# w; i' v5 P( V INC R0' z, v% g u; D1 n, ~8 ]
MOV A,R2
$ n( |0 B c: Z3 P RL A
/ H5 Q: b* ?! k' o MOV R2,A
B6 q. [6 F& X DJNZ R4,DIS1/ f% z+ k5 D3 U% ^) u$ \
AJMP DIS, t7 a5 p& Y3 f2 }& `' I3 f7 c8 T
WRIT:MOV R3,#08H. d9 D7 I& l3 O: t4 c( ^
ADD A,#13H
* n$ C7 S1 v9 M% _% ^& J0 w+ z. N MOVC A,@A+PC
; `; q, w' A( s, f, A: U8 k, G, iLD2: RLC A
6 x( e( b- Y1 h: R8 t" t, ]: t4 a MOV P1.5,C
+ J1 } Y# S; Z" m* ~- n, G% p CLR P1.7
; ?4 S- I# G$ I M7 ]' H SETB P1.7
8 A: _& _# q8 Z6 b6 r' ] DJNZ R3,LD2& q0 L9 D" H+ S. [. ?9 @2 _. ~
RET
% Y) I+ H6 a7 SDIL0:MOV R7,#02H
5 _9 |, r5 u# q6 [$ x MOV R6,#0FFH
- Z0 f# n. z3 F8 P- _8 `DIL1:DJNZ R6,DIL16 Z3 g4 I1 g4 |5 P# U4 o
DJNZ R7,DIL10 b1 ]5 ]4 j7 y4 V4 q, A
RET
' g" ~& G ] s% BDTAB:DB 0C0H,0FFH,24H,30H,1FH
8 _7 x2 N$ h4 a6 Y* Z `' L1 ? DB 12H,02H,0D8H,00H,10H
$ S+ m5 b+ L0 A( K* c9 Q DB 0B9H,0B0H,0C6H,
3 E3 H( B( v; F9 D# G( L DB 0F0H,46H,4EH
' i; g c9 U5 R DB 0FFH,0F9H,0FFH,0FFH,0F9H7 M e7 D, _6 u7 r+ l
DB 0FFH,0FFH,0FFH,0FFH& h, m7 L E t9 L1 u
DB 0FFH,0EEH,0F9H,0FFH, `2 h2 m$ S% L. X* C/ [
DB 0F9H,0FFH,0FFH
9 j, E/ R7 B+ v% q' x: }- } END |
|