片機學習鍵盤接口_第1頁
片機學習鍵盤接口_第2頁
片機學習鍵盤接口_第3頁
片機學習鍵盤接口_第4頁
片機學習鍵盤接口_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2013.5.13課程安排,學習+實踐,鞏固按鍵的工作原理及識別方法 獨立按鍵的識別 矩陣按鍵 行掃描法 行列轉換法,實踐-按鍵識別C程序,通過調試程序,掌握三種按鍵的識別方法,編寫相應的C語言程序 01閃爍的LED 17按鍵識別-行掃描法 18 開關控制LED,Proteus的使用,軟件的安裝 Proteus 75SP3 Setup 安裝過程中要選擇license 安裝完畢后運行 LXK Proteus 7.5 SP3 v2.1.2 啟動吧!,10.2 鍵盤接口原理 10.2.1 鍵盤輸入應解決的問題 鍵盤輸入的特點 鍵盤:一組按鍵開關的集合。行線電壓信號通過鍵盤開關機械觸點的斷開、閉合,其

2、輸出波形如圖10-6。,圖10-6,P.166,行線 上拉 電阻,?,?,?,觸點抖動,1.獨立式鍵盤接口 各鍵相互獨立,每個按鍵各接一根輸入線,通過檢測輸入線的電平狀態(tài)可很容易判斷那個鍵被按下。,圖10-7獨立式鍵盤工作電路,(適于鍵數(shù)較少、操作快、同時多鍵動作場合),10.2.2 鍵盤接口的工作原理 分獨立式按鍵接口和行列式鍵盤接口。,P.167,程序處理方法與開關量輸入相同,2. 行列式(矩陣式)鍵盤接口,圖10-9 44行列式鍵盤結構(掃描法),適于按鍵數(shù)目較多的場合; 可節(jié)省很多的I/O口線; 同時只會有一個鍵閉合的場合。,行列式鍵盤按鍵的識別方法,a. 掃描法,第1步:識別鍵盤有無

3、鍵按下; 驅動所有列線為0,輸入各行線電平如果有0,就說明有鍵按下,如果行線電平全1,則全部無鍵按下。,第2步:如有鍵被按下,識別具體的按鍵。 依序驅動某一列為0 ,其余列均為1 ,輸入各行線電平,如果某行線電平為0 ,可確定此行列交叉點處的按鍵被按下;如果行線電平全為1 則本列無按鍵按下。,P.168,輸出口驅動列線,輸入口讀取行線電平,第1步:列線輸出為全0 ,隨后輸入行線電平如有0,則0所在的行就是閉合的按鍵所在行;無0則無鍵閉合。 第2步:行線輸出為全0 ,隨后輸入列線電平如有0,則0所在的列就是閉合的按鍵所在列;無0則無鍵閉合。 結合上述兩步,可確定按鍵所在行和列。,圖10-10線反

4、轉法原理圖,b. 線反轉法,P.168,PC3 PC2 PC1 PC0 PC4 PC5 PC6 PC7,實驗板44鍵盤 連接82C55的端口線,采用線反轉法的鍵盤行線、列線端口各自應當可以在輸入與輸出方式間切換! 如圖:高四位與低四位均可獨立改變其輸入或輸出方式,實驗板鍵盤掃描子程序 (紫) 如TEST2011.ASM所示。 LCALL KEY ;調用鍵盤掃描子程序 (掃描到按鍵則在左第3、4位顯示“鍵號、-”),實驗板鍵盤接口設計實例,4X4鍵盤接口 初始為輸入,控制口 FEFFH 方式字:89H =10001001B,FEFEH,利用82C55的C口高低四位可分別定義為輸入或輸出,擴展44

5、行列式鍵盤,以線反轉法進行按鍵的識別及處理,P2.0/A8,【主工作程序中】,KEY:MOV A,#81H;鍵盤掃描子程序(反轉法) MOV DPTR,#0FEFFH MOVX DPTR,A;C口先初始化為高4位輸出驅行線、低4位輸入列線 MOV DPTR,#0FEFEH MOV A,#00H;鍵盤行線(高4位)輸出驅動全0 MOVX DPTR,A MOVX A,DPTR;輸入鍵盤列線電平(低4位)存60H單元 MOV 60H,A MOV A,#88H;C口改初始化為高4位輸入行線、低4位輸出驅列線 MOV DPTR,#0FEFFH MOVX DPTR,A MOV DPTR,#0FEFEH M

6、OV A,#00H;鍵盤列線(低4位)輸出驅動全0 MOVX DPTR,A MOVX A,DPTR;輸入鍵盤行線電平(高4位)在A中 ANL 60H,#0FH;列線電平值保留所在的低4位 ANL A,#0F0H;行線電平值保留所在的高4位 ORL 60H,A ;兩次輸入的列線電平值、行線電平值組合成8位行列碼,TEST2011.ASM 鍵盤掃描子程序-1,MOV 61H,#00H;置鍵號初值為00H MOV R5,#10H;設定最多進行16次的鍵碼查表 MOV DPTR,#KEY_N;鍵碼表首地址 KY:MOV A,#00H;A清0 MOVC A, A + DPTR;查表讀取鍵碼表中當前位置鍵

7、碼 CJNE A,60H,NK;與8位行列碼比較,不同則轉NK查下一個 SJMP KN;相同則轉KN根據(jù)已獲取的鍵號進行相應處理 NK:INC 61H;鍵號加1 INC DPTR;指向鍵值表下一個位置 DJNZ R5,KY;未查完,繼續(xù) RET;查完,說明無按鍵或出現(xiàn)異常行列碼則返回 (鍵號=10H) KEY_N:DB 0EEH,0EDH,0EBH,0E7H ;鍵碼表。K0,K1,K2,K3鍵碼 DB 0DEH,0DDH,0DBH,0D7H ;K4,K5,K6,K7鍵碼 DB 0BEH,0BDH,0BBH,0B7H ;K8,K9,K10,K11鍵碼 DB 7EH,7DH,7BH,77H ;K1

8、2,K13,K14,K15鍵碼,TEST2011.ASM 鍵盤掃描子程序-2,00H + 鍵號+KEY_N,KN:MOV A,61H ;根據(jù)查表獲得的鍵號00H0FH之一轉向相應處理程序 MOV B,#05H ;轉移表中每個鍵號處理程序占5個地址單元 MUL AB MOV DPTR,#K0 JMP A+DPTR ;轉向對應的鍵號處理程序 K0:MOV 35H,#0 ;各鍵號處理程序:將鍵號送35H單元(使鍵號顯示在左第三位) SJMP RT0 K1:MOV 35H,#01H SJMP RT0 K2:MOV 35H,#02H SJMP RT0 K3:MOV 35H,#03H SJMP RT0 K

9、4:MOV 35H,#04H SJMP RT0 K5:MOV 35H,#05H SJMP RT0 K6:MOV 35H,#06H SJMP RT0,TEST2011.ASM 鍵盤掃描子程序-3,類似于高級語言中的開關語句,K7:MOV 35H,#07H SJMP RT0 K8:MOV 35H,#08H SJMP RT0 K9:MOV 35H,#09H SJMP RT0 KA:MOV 35H,#0AH SJMP RT0 KB:MOV 35H,#0BH SJMP RT0 KC:MOV 35H,#0CH SJMP RT0 KD:MOV 35H,#0DH SJMP RT0 KE:MOV 35H,#0EH SJMP RT0 KF:MOV 35H,#0FH RT0:MOV 34H,#10H ;讓左邊第四位顯示-,鍵號顯示借用了小時的顯示位置 RET,TEST2011.ASM 鍵盤掃描子程序-4,修改鍵盤掃描子程序功能: 改為掃描到按鍵則顯示H與鍵號于最右邊兩位; 通過調整鍵碼表實現(xiàn)該44鍵盤每一行4個鍵的定義左右對調,即

溫馨提示

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

評論

0/150

提交評論