数码管显示 0000-9999计数器
扫描二维码
随时随地手机看文章
数码管显示0-9999计数器,两个按键,一个按键复位,一个按键累加计数。
要求提供程序和原理图
悬赏分:50 | 解决时间:2011-6-9 13:40
;===========================================
最佳答案:
用PROTEUS仿真的电路图,可以吗?
追问:可以的。
回答:
仿真电路图如下:
实际制作时,应采用共阳数码管,PNP三极管驱动“位”,还要有限流电阻。
;===========================================
;下列程序经过实验,可以满足题目要求.
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV 70H, #0 ;显示缓冲区.
MOV 71H, #0
MOV 72H, #0
MOV 73H, #0
MOV 74H, #12H ;计数单元.
MOV 75H, #34H ;都是 BCD 码.
;-------------------------------
M_LOOP:
LCALL DISP
JNB P3.2, JIA_YI
JNB P3.3, QING_L
AJMP M_LOOP
;-------------------------------
JIA_YI:
LCALL DISP
JB P3.2, M_LOOP
MOV A, 75H
ADD A, #1
DA A
MOV 75H, A
MOV A, 74H
ADDC A, #0
DA A
MOV 74H, A
J_L:
LCALL DISP
JNB P3.2, J_L
AJMP M_LOOP
;-------------------------------
QING_L:
LCALL DISP
JB P3.3, M_LOOP
MOV 74H, #0
MOV 75H, #0
AJMP M_LOOP
;-------------------------------
DISP:
MOV R0, #70H
MOV A, 74H
SWAP A
ANL A, #0FH
MOV @R0, A
INC R0
MOV A, 74H
ANL A, #0FH
MOV @R0, A
INC R0
MOV A, 75H
SWAP A
ANL A, #0FH
MOV @R0, A
INC R0
MOV A, 75H
ANL A, #0FH
MOV @R0, A
MOV DPTR, #D_TAB
MOV R2, #254
MOV R0, #70H
D_LOOP:
MOV A, @R0
MOVC A, @A+DPTR
MOV P2, #255 ;消隐.
MOV P0, A ;输出段码.
MOV P2, R2 ;输出位码.
LCALL DL_1MS
MOV A, R2
RL A
MOV R2, A
INC R0
CJNE R0, #74H, D_LOOP
RET
D_TAB:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H
DB 80H, 90H, 88H, 83H, 86H, 0A1H, 86H, 8EH
;-------------------------------
DL_1MS:
DJNZ R7, $
DJNZ R7, $
RET
;-------------------------------
END
;===========================================