|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
采用8段数码管,有一半以上的英文字母无法显示,本文介绍用15段数码管来显示英文字母的方法,显示清晰,全部显示大写字母。& l( q8 I1 X/ k8 ]0 E4 x4 y) ^9 v
一、硬件 硬件电路如附图。采用扫描显示,二片74HC595串/并转换移位寄存器作段显示,占用P1.5、P1.6、P1.7口,一片74LS164串/并转换移位寄存器作位显示,可控制8位数码管,数码管为共阴管。如果用0.8英寸管,段位无需加驱动,整个硬件电路较简单,且可利用串行口上的74LS164扩展键盘。
3 }) X$ A) ^8 o w9 g2 w2 E; u4 U% j 二、软件 首先将数字或英文字母分为高8位和低8位,数字部分最好都设计在低8位,在传送段位数据时先送高8位后送低8位,并锁存在74HC595内,再通过串行口传送位数据。显示“ABCDEF14”的软件清单如下:
) O: z- B% }" w5 N3 y7 x( a" L8 d- E7 K ORG 05 O$ Q$ l- M- K# h7 O
AJMP MAI# q( C$ d& q1 d8 k/ G/ |8 d4 e
ORG 0030H( A) k, R. | l& H
MAI: MOV SP,#65H
+ i' s8 A; `0 I7 s MOV 30H,#0AH; l& ?) v! d! D8 R& e3 M* M
MOV 31H,#0BH
9 m+ T" f, Y- m! E5 q' K- T MOV 32H,#0CH: J$ [! D- |1 h
MOV 33H,#0DH
) M6 c, B* @5 h0 O MOV 34H,#0EH
$ z3 G7 o( [# @9 O. e% e8 V MOV 35H,#0FH
* E" t: x9 |. q3 ~ MOV 36H,#01H7 \3 Z2 Q% w; {. t9 l" u' c
MOV 37H,#04H+ r; {; y9 _3 F" ?$ `
MOV 40H,#1AH
- I9 g3 l' K' \ u5 m MOV 41H,#1BH
' L9 ?6 e8 ]. F" e) f2 s: S& h MOV 42H,#1CH2 f) x, f2 D% d& ^) B4 ]
MOV 43H,#1DH
% f7 Z& c _- F% I MOV 44H,#1EH$ I- ~" K2 L% ~0 I0 {
MOV 45H,#1FH
( [" f/ _6 W/ f, u2 i- | MOV 46H,#11H
/ G: q* Q( I: @& |. j. X$ l MOV 47H,#14H
$ l6 }3 W9 a4 J$ J0 L+ vDIS: CLR C% D* I) Y) U! l$ F5 {; \& y6 ]5 j
MOV SCON,#00H
( _7 z1 |$ W$ `3 Y# s, s. | MOV RO,#30H0 Y$ Y. L3 o3 q5 R# h2 P0 G( ?
MOV R1,#40H) G# P# `1 q$ l# h- W N
MOV R2,#01H
5 E1 ]6 H% Y; Y8 [" K2 n+ F MOV R4,#08H0 V1 ?) `5 {! [. m9 ~
DIS1:MOV A,@R12 b# q! _; @7 i6 i+ h6 p+ f
ACALL WRIT5 p6 O* c: @+ \
MOV A,@R0' n+ h: [" |3 Z
ACALL WRIT
. r3 G2 F t" q5 }. R CLR P1.6
* }% e8 x( V* L NOP$ {* v7 N5 o( _# _3 @
NOP5 d0 u; R# x8 B: n' L7 X
SETB P1.6
. L% k( Y3 {6 |: p- U' T, H MOV A,R2
. n8 x6 y" M8 O1 B: p MOV SBUF,A
) `' o% K9 o+ W+ |% DTL1: JNB TI,TL1
! H! l. W& ^6 E9 D3 G1 C# s4 j$ [ CLR TI
- b/ h; e1 M7 {- s ACALL DILO
4 `* i1 l$ q* M" a9 j INC R1
4 j4 b" b1 F6 b5 _# Q INC R0
7 ^( a+ f+ A6 A MOV A,R22 f' q4 o$ ~! U* a. K
RL A
2 i3 z- l# a8 a& K$ E2 n MOV R2,A7 z# J1 G' w& S# \: u' y
DJNZ R4,DIS1
; m" I! [* v4 `. Z n AJMP DIS
0 X1 U i0 N7 q8 RWRIT:MOV R3,#08H
1 L/ T+ I0 c: _2 Q \/ D ADD A,#13H7 }) B4 `; q2 A' U# {
MOVC A,@A+PC0 [5 V; t' j# J& ^0 B
LD2: RLC A
5 t5 j$ i5 }/ { MOV P1.5,C
3 d5 V. ^# l6 t8 {- X: \ CLR P1.7& j- _2 c- |+ b+ A
SETB P1.7+ c6 q; k, K) N# w
DJNZ R3,LD20 ?8 X$ ~$ I2 O4 [) G. l
RET& x- Z2 ~% E( }2 u3 P
DIL0:MOV R7,#02H( A C" O; }8 r9 P
MOV R6,#0FFH1 d. t6 v5 b& r0 K, T( p
DIL1:DJNZ R6,DIL1
2 x( o9 |( H/ s4 K DJNZ R7,DIL1
% W" t# X' e' L G& k9 H7 p RET( z$ N: @; P, y' a
DTAB:DB 0C0H,0FFH,24H,30H,1FH" W1 N! N* ]; a2 D$ X1 ]# F
DB 12H,02H,0D8H,00H,10H- Z2 v: G5 ?7 Y4 Z! B. U
DB 0B9H,0B0H,0C6H,
$ t$ \: o, v$ e5 b. ^0 j DB 0F0H,46H,4EH- i e" B5 q# u( y. y9 p0 \
DB 0FFH,0F9H,0FFH,0FFH,0F9H8 D( k" @& i" f$ V& D L
DB 0FFH,0FFH,0FFH,0FFH% O0 `2 L! \: g/ x2 A8 B: X
DB 0FFH,0EEH,0F9H,0FFH
& I* u! ~+ u8 X DB 0F9H,0FFH,0FFH9 M- V/ k) |* \' `3 s! _9 i) b& k
END |
|