?? 5_1_6_1.s43
字號:
BIS.B # 07H , &P1DIR
BIC.B # 07H , &P1OUT ;先輸出低電平
BIC.B # 07H, &P1DIR ;P1.0、P1.1、P1.2為輸入模式
BIS.B #07H, &P1IE ;P1.0、P1.1、P1.2中斷使能
BIC.B # 07H, &P1IES ;P1.0、P1.1、P1.2上升沿觸發(fā)中斷
EINT ;總中斷使能
;中斷服務(wù)程序:
P1KEY3 CALL #KEYJ3 ;出口參數(shù):按鍵鍵值在R5中
JNC KEYEND ;判斷是否有按鍵
CALL #DELAY10MS ;沒有則退出
CALL #KEYJ3 ;如有,則延時(shí)10毫秒 消抖動(dòng)
JNC KEYEND ;再判鍵
CALL #KEYCODE3 ;如沒有按下則退出
PUSH R5 ;如有,則調(diào)認(rèn)鍵程序得到鍵值
KEYLOOP CALL #KEYJ3 ;保護(hù)鍵值
JC KEYLOOP ;等待按鍵松開
POP R5 ;沒有松開,則繼續(xù)等待
KEYEND RETI ;按鍵松開之后,恢復(fù)鍵值
KEYJ3 BIT.B #07H, &P1IN ;判斷有無按鍵按下,如果有,則C=1
RET ;如果沒有按鍵按下,則C=0
KEYCODE BIT.B #1, &P1IN ;判斷3個(gè)按鍵中是哪一個(gè)被按下
JNC K2
MOV #0, R5 ;如果是接到P1.0的按鍵,則輸出R5=0
RET
K2 BIT.B #2, &P1IN
JNC K3
MOV #1, R5 ;如果是接到P1.1的按鍵,則輸出R5=1
RET
K3 BIT.B #4, &P1IN
JNC K4
MOV #2, R5 ;如果是接到P1.2的按鍵,則輸出R5=2
K4 RET
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -