陣列式鍵盤實驗詳解_第1頁
陣列式鍵盤實驗詳解_第2頁
陣列式鍵盤實驗詳解_第3頁
陣列式鍵盤實驗詳解_第4頁
陣列式鍵盤實驗詳解_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗二陣列式鍵盤實驗、實驗目的掌握鍵盤和顯示器的接口方法和編程方法掌握陣列式鍵盤的硬件組成和軟件編程方法、實驗說明本實驗提供了一個4X4小建盤,向P0口的低四位逐個輸出低電平,如果有鍵盤按下,貝U相應輸出為低,如果沒有鍵按下,貝U輸出為高。通過輸出的列碼和讀取的行碼來判斷按下什么鍵。有鍵按下后,要有一定的延時,防止由于鍵盤抖動而引起誤操作。、實驗步驟及內容用一根8位數據線連接陣列式鍵盤實驗模塊與LED與單片機接口模塊。無鍵按下或有鍵按下,發光二極管全亮。若將A1-A4接地,則發光二極管顯示OOOOXXXXB1線上有鍵按下,則發光二極管顯示OOOOXXXB2線上有鍵按下,則發光二極管現世OOOO

2、XOXXB1和B2均有鍵按下,則發光二極管顯示OOOOOOXX同樣可將B1與B4接地,按鍵與發光二極管顯示情況,用戶可以自行判斷,自由操作。用一根8位數據線連接陣列式鍵盤實驗模塊與掃描顯示實驗模塊。無鍵按下或有鍵按下,八段LED全亮。用戶參照1,觀察鍵盤與八段LED亮熄的關系。使用靜態串行顯示模塊顯示鍵值。單片機最小應用系統1的P1口接陣列式鍵盤的A1B4口,P3.6接靜態數碼顯示DIN,P3.7接CLK用串行數據通信線連接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請注意仿真器的方向:缺口朝上。打開KeiluVision2仿真軟件,首先建立本實驗的項目文件,接著添加陣列KEY.ASM源程序

3、,進行編譯,直到編譯無誤。進行軟件設置,選擇硬件仿真,選擇串行口,設置波特率為38400。在鍵盤上按下某個鍵,觀察數顯是否與按鍵值一致。16位建盤的鍵值從左至右、從上至下依次為0F(16進制數)。四、流程圖及源程序流程圖主程序框圖開始2.源程序:MOVA,#16MAIN:ACALLDISPMOV30H,AACALLKEY1AJMPMAINKEY1:MOVP1,#0FHMOVA,P1CJNEA,#0FH,K11K10:AJMPKEY1K11:ACALLDELAYMOVP1,#0FHMOVA,P1CJNEA,#0FH,K12SJMPK10K12:MOVB,AMOVP1,#0EFHMOVA,P1CJ

4、NEA,#0EFH,K13MOVP1,#0DFHMOVA,P1CJNEA,#0DFH,K13MOVP1,#0BFHMOVA,P1CJNEA,#0BFH,K13MOVP1,#7FHMOVA,P1CJNEA,#7FH,K13AJMPK10K13:ANLA,#0F0HORLA,BMOVB,AMOVR1,#16MOVR2,#0MOVDPTR,#K1TABK14:MOVA,R2MOVCA,A+DPTRCJNEA,B,K16MOVP1,#0FHK15:MOVA,P1CJNEA,#0FH,K15ACALLDELAYMOVA,R2RET;A1-A4輸出,B1-B4輸入,輸;入者對應鎖存先寫“1”;讀取鍵盤狀況

5、;有鍵按下;無鍵按下;去抖動;再讀鍵盤狀況;確有鍵盤按下;誤動作;存列值;按鍵在Ai行;鍵在A4;鍵在A3行;鍵在A2行;鍵在A1行;多鍵同時按下的行值;的按下鍵的行列值;暫存鍵值;16個鍵;鍵碼初值;鍵碼表首址;從鍵值表中取鍵值;與按下鍵,鍵值比較;相等,則完成以下步驟;等釋放;去抖動;得鍵碼K16:INCR2;不相等,則繼續訪問鍵值表DJNZR1,K14AJMPK10;多鍵同時按下處理K1TAB:DB0EEH,0DEH,0BEH,07EH;鍵值表DB0EDH,0DDH,0BDH,07DHDB0EBH,0DBH,0BBH,07BHDB0E7H,0D7H,0B7H,077HDISP:MOVDB

6、UF,AMOVDBUF+1,#16MOVDBUF+2,#16MOVDBUF+3,#16MOVDBUF+4,#16MOVR0,#DBUFMOVR1,#TEMPMOVR2,#5DP10:MOVDPTR,#SEGTABMOVA,R0MOVCA,A+DPTRMOVR1,AINCR0INCR1DJNZR2,DP10MOVR0,#TEMPMOVR1,#5DP12:MOVR2,#8MOVA,R0DP13:RLCAMOV0B0H,CCLR0B1HSETB0B1HDJNZR2,DP13INCR0DJNZR1,DP12RETSEGTAB:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH

7、,6FH,77H,7CHDB58H,5EH,79H,71H,00H,40HDELAY:MOVR4,#02HAA1:MOVR5,#0F8HDJNZR1,DP12RETSEGTAB:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB58H,5EH,79H,71H,00H,40HDELAY:MOVR4,#02HAA1:MOVR5,#0F8H段碼表1,2,7,8,d,E,3,4,5”9,A,b”I”AA:NOPDJNZR5,AADJNZR4,AA1RETENDA2A3A4思考題字符與段碼的軟件實驗程序已很清楚,問LED數碼顯示器是共陰極還是共陽極,對SEGTA的影響如何?B1B2B3B4B5B6B7B8程序如何確保每按一次鍵,只處理一次。六、原理圖10K10K10K10K10KooOO+51234567813121514311918917160123456711111111PPPPPPPPg30M0M3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論