用51單片機(jī)匯編語言,編寫“鍵控加減一”的程序
程序要求:開始時(shí)LED顯示0、K1具有增數(shù)功能、K2具有減數(shù)功能。
若LED顯示為0,按下K1,則顯示為1、再按下K1,顯示為2.....,若顯示為9,再按下則顯示為0;
若LED顯示為0,按下K2,則顯示為9、再按下K2,顯示為8.....,直至顯示為1。再一次循環(huán)。
顯示部分采用硬件譯碼器,電路給出如下。
懸賞分:50 | 解決時(shí)間:2011-6-14 09:11
;===========================================
最佳答案:
程序仿真通過,仿真電路如下:
程序:
ORG 0000H
LJMP START
ORG 0040H ;從40H地址開始.
START:
MOV A, #0 ;開始顯示的初值.
SETB P2.0 ;開始置0,
SETB P2.1 ;開始置0,
;------------------------
LOOP:
MOV P0, A ;顯示寄存器A中的內(nèi)容.
JNB P2.0, INCR ;K1開,跳轉(zhuǎn)到INCR
JNB P2.1, DECR ;K2開,跳轉(zhuǎn)到DECR
JMP LOOP
;------------------------
INCR:
JNB P2.0,INCR ;按鍵按下后是否松開.
ADD A, #1 ;A加1
DA A ;A內(nèi)容進(jìn)行BCD調(diào)整.
JMP LOOP
;------------------------
DECR:
JNB P2.1, DECR ;按鍵按下后是否松開.
ADD A, #99H ;A減1
DA A ;A內(nèi)容進(jìn)行BCD調(diào)整.
JMP LOOP
;------------------------
END