按鍵控制顯示
;51單片機(jī)硬件連接電路如下:
;P1.3 和 P1.4 各接一個(gè)按鍵;
;P0.0 和 P0.3 各接一個(gè)發(fā)光二極管;
;P2.0~P2.7 和 P3.0~P3.7 各接一個(gè)數(shù)碼管。
;要求1:兩個(gè)發(fā)光二極管一亮一滅,按一下按鍵后,這個(gè)滅另一個(gè)亮,一直這樣反復(fù)。
;要求2:按一下按鍵,數(shù)碼管從0.0變?yōu)?.1、再變?yōu)?.2,……,到9.9,再到0.0,反復(fù)循環(huán)。
;求51單片機(jī)匯編語(yǔ)言程序,麻煩哪位高手賜教。
;===============================================
;程序如下:
ORG 0000H
CLR P0.0
MOV R3, #0
CALL DISPLAY
;------------------------------
K1:
JB P1.3, K2
CALL DELAY ;延時(shí)
JB P1.3, K2 ;消抖
CPL P0.0
CPL P0.3
;------------------------------
K2:
JB P1.4, K1
CALL DELAY ;延時(shí)
JB P1.4, K1 ;消抖
INC R3
CJNE R3, #10, DISP
MOV R3, #0
DISP:
CALL DISPLAY
SJMP K1
;------------------------------
DELAY: MOV R6, #0
LOOP: MOV R7, #0
DJNZ R7, $
DJNZ R6, LOOP
RET
;------------------------------
DISPLAY:
MOV A, R3
MOV DPTR, #TAB
MOVC A, @A+DPTR
MOV P3, A
CLR ACC.7 ;加上小數(shù)點(diǎn)
MOV P2, A
RET
TAB:
DB 0C0H,0F9H,0A4H,0B0H, 99H
DB 92H, 82H,0F8H, 80H, 90H
;------------------------------
END
;===============================================
;仿真電路如下: