51單片機鍵盤(pán)接口電路及其源程序
本文引用地址:http://dyxdggzs.com/article/171256.htm
K_RET1:
RET
D500MS: ;流水燈的延遲時(shí)間
PUSH PSW
SETB RS0
MOV R7,#200
D51: MOV R6,#250
D52: NOP
NOP
NOP
NOP
DJNZ R6,D52
DJNZ R7,D51
POP PSW
RET
LAMP:
JB StartEnd,LampStart ;如果StartEnd=1,則啟動(dòng)
MOV P1,#0FFH
AJMP LAMPRET ;不然關(guān)閉所有顯示,返回
LampStart:
JB UpDown,LAMPUP ;如果UpDown=1,則向上流動(dòng)
MOV A,LAMPCODE
RL A ;實(shí)際就是左移位而已
MOV LAMPCODE,A
MOV P1,A
LCALL D500MS
AJMP LAMPRET
LAMPUP:
MOV A,LAMPCODE
RR A ;向下流動(dòng)實(shí)際就是右移
MOV LAMPCODE,A
MOV P1,A
LCALL D500MS
LAMPRET:
RET
END
以上程序功能很簡(jiǎn)單,但它演示了一個(gè)單片機鍵盤(pán)處理程序的基本思路,程序本身很簡(jiǎn)單,也不很實(shí)用,實(shí)際工作中還會(huì )有好多要考慮的因素,比如主循環(huán)每次都調用燈的循環(huán)程序,會(huì )造成按鈕反應“遲鈍”,而如果一直按著(zhù)鍵不放,則燈不會(huì )再流動(dòng),一直要到松開(kāi)手為止,等等,大家能仔細考慮一下這些問(wèn)題,再想想有什么好的解決辦法。
2、采用中斷方式:如圖4所示。各個(gè)按鈕都接到一個(gè)與非上,當有任何一個(gè)按鈕按下時(shí),都會(huì )使與門(mén)輸出為低電平,從而引起單片機的中斷,它的好處是不用在主程序中持續地循環(huán)查詢(xún),如果有鍵按下,單片機再去做對應的處理
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論