碰見一個特別棘手的問題 我用匯編語言編那個獨立按鍵檢測數碼管顯示程序 比如按下第一個按鍵輸出一 按下第二個輸出二 以此類推 但是按下第三第四個 按鍵卻數碼管顯示不了
求大神講解
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV P3, #0FFH
JB P3.7, Y
ACALL DELAY
ACALL K1
Y:
JB P3.6, Z
ACALL DELAY
ACALL K2
Z:
JB P3.5, X
ACALL DELAY
ACALL K3
X:
JB P3.4, MAIN
ACALL DELAY
ACALL K4
;;按鍵1控制單元
K1:
CLR P1.0 ;選中千位
MOV P0,0F9H ;;輸出1
LCALL DELAY
MOV P0, #0FFH ;;清楚顯
SETB P1.0 ;關閉顯示
RET
;;按鍵K2控制函數;;;;;;;
K2:
CLR P1.1 ;選中百位
MOV P0,0A4H ;;輸出2
LCALL DELAY
MOV P0, #0FFH ;;清楚顯示
SETB P1.1 ;關閉顯示
RET
;;按鍵K3控制
K3:
CLR P1.2 ;選中十位
MOV P0,0B0H ;;輸出3
LCALL DELAY
MOV P0, #0FFH ;;清楚顯示
SETB P1.2 ;關閉顯示
RET
;;K4控制;
K4:
CLR P1.3 ;選中個位
MOV P0,99H ;;輸出4
LCALL DELAY
MOV P0, #0FFH ;;清楚顯示
SETB P1.3 ;關閉顯示
RET
;;延時函數;;;
DELAY:
MOV R5, #10
DJNZ R5,$
RET
END |