數(shù)碼管顯示 0000-9999計(jì)數(shù)器
數(shù)碼管顯示0-9999計(jì)數(shù)器,兩個(gè)按鍵,一個(gè)按鍵復(fù)位,一個(gè)按鍵累加計(jì)數(shù)。
要求提供程序和原理圖
懸賞分:50 | 解決時(shí)間:2011-6-9 13:40
;===========================================
最佳答案:
用PROTEUS仿真的電路圖,可以嗎?
追問(wèn):可以的。
回答:
仿真電路圖如下:
實(shí)際制作時(shí),應(yīng)采用共陽(yáng)數(shù)碼管,PNP三極管驅(qū)動(dòng)“位”,還要有限流電阻。
;===========================================
;下列程序經(jīng)過(guò)實(shí)驗(yàn),可以滿足題目要求.
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV 70H, #0 ;顯示緩沖區(qū).
MOV 71H, #0
MOV 72H, #0
MOV 73H, #0
MOV 74H, #12H ;計(jì)數(shù)單元.
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
;===========================================