資源描述:
《4×4矩陣式鍵盤的課程設(shè)計》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、單片機(jī)4×4矩陣式鍵盤的課程設(shè)計一、實(shí)驗(yàn)?zāi)康摹 ?.掌握4×4矩陣式鍵盤程序識別原理。 2.掌握4×4矩陣式鍵盤按鍵的設(shè)計方法。二、設(shè)計原理 (1)如圖14.2所示,用單片機(jī)的并行口P3連接4×4矩陣鍵盤,并以單片機(jī)的P3.0-P3.3各管腳作輸入線,以單片機(jī)的P3.4-P3.7各管腳作輸出線,在數(shù)碼管上顯示每個按鍵“0-F”的序號?! 。?)鍵盤中對應(yīng)按鍵的序號排列如圖14.1所示。三、參考電路 圖14.24×4矩陣式鍵盤識別電路原理圖
2、 圖14.14×4鍵盤0-F顯示 圖14.34×4矩陣式鍵盤識別程序流程圖四、電路硬件說明 (1)在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的P3.0-P3.7端口通過8聯(lián)撥動撥碼開關(guān)JP3連接到“4×4行列式鍵盤”區(qū)域中的M1-M4,N1-N4端口上。 ?。?)在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的P0.0-P0.7端口連接到“靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任何一個a-h(huán)端口上;要求:P0.0對應(yīng)著a,P0.1對應(yīng)著b,……,P0.7對應(yīng)著h。五、程序設(shè)計內(nèi)
3、容 (1)4×4矩陣鍵盤識別處理?! 。?)每個按鍵都有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。鍵盤的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地;另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。六、程
4、序流程圖(如圖14.3所示)七、匯編源程序;;;;;;;;;;定義單元;;;;;;;;;;COUNTEQU30H;;;;;;;;;;入口地址;;;;;;;;;;ORG0000HLJMPSTARTORG0003HRETIORG000BHRETIORG0013HRETIORG001BHRETIORG0023HRETIORG002BHRETI;;;;;;;;;;主程序入口;;;;;;;;;;ORG0100HSTART:LCALLCHUSHIHUALCALLPANDUANLCALLXIANSHILJMP
5、START;;;;;;;;;;初始化程序;;;;;;;;;;CHUSHIHUA:MOVCOUNT,#00HRET;;;;;;;;;;判斷哪個按鍵按下程序;;;;;;;;;;PANDUAN:MOVP3,#0FFHCLRP3.4MOVA,P3ANLA,#0FHXRLA,#0FHJZSW1LCALLDELAY10MSJZSW1MOVA,P3ANLA,#0FHCJNEA,#0EH,K1MOVCOUNT,#0LJMPDKK1:CJNEA,#0DH,K2MOVCOUNT,#4LJMPDKK2:CJNEA,#
6、0BH,K3MOVCOUNT,#8LJMPDKK3:CJNEA,#07H,K4MOVCOUNT,#12K4:NOPLJMPDKSW1:MOVP3,#0FFHCLRP3.5MOVA,P3ANLA,#0FHXRLA,#0FHJZSW2LCALLDELAY10MSJZSW2MOVA,P3ANLA,#0FHCJNEA,#0EH,K5MOVCOUNT,#1LJMPDKK5:CJNEA,#0DH,K6MOVCOUNT,#5LJMPDKK6:CJNEA,#0BH,K7MOVCOUNT,#9LJMPDKK7:C
7、JNEA,#07H,K8MOVCOUNT,#13K8:NOPLJMPDKSW2:MOVP3,#0FFHCLRP3.6MOVA,P3ANLA,#0FHXRLA,#0FHJZSW3LCALLDELAY10MSJZSW3MOVA,P3ANLA,#0FHCJNEA,#0EH,K9MOVCOUNT,#2LJMPDKK9:CJNEA,#0DH,KAMOVCOUNT,#6LJMPDKKA:CJNEA,#0BH,KBMOVCOUNT,#10LJMPDKKB:CJNEA,#07H,KCMOVCOUNT,#14KC
8、:NOPLJMPDKSW3:MOVP3,#0FFHCLRP3.7MOVA,P3ANLA,#0FHXRLA,#0FHJZSW4LCALLDELAY10MSJZSW4MOVA,P3ANLA,#0FHCJNEA,#0EH,KDMOVCOUNT,#3LJMPDKKD:CJNEA,#0DH,KEMOVCOUNT,#7LJMPDKKE:CJNEA,#0BH,KFMOVCOUNT,#11LJMPDKKF:CJNEA,#07H,KGMOVCOUNT,#15KG:NOPLJMPDKSW4:LJMPPANDUAND