鍵盤接口技術(shù)應(yīng)用課件_第1頁(yè)
鍵盤接口技術(shù)應(yīng)用課件_第2頁(yè)
鍵盤接口技術(shù)應(yīng)用課件_第3頁(yè)
鍵盤接口技術(shù)應(yīng)用課件_第4頁(yè)
鍵盤接口技術(shù)應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

按鍵的特點(diǎn)及工作原理獨(dú)立式按鍵矩陣式按鍵鍵盤

接口

技術(shù)應(yīng)用

本章內(nèi)容PC機(jī)除了主機(jī)以外還需要哪些部分呢?單片機(jī)電路有時(shí)候也需要鍵盤、顯示等外設(shè)。按鍵的特點(diǎn)及工作原理按鍵的分類:觸點(diǎn)式:機(jī)械;無(wú)觸點(diǎn)式:電氣鍵輸入原理:

通過(guò)按鍵的接通與斷開(kāi),產(chǎn)生兩種相反的邏輯狀態(tài)低電平“0”與高電平“1”。鍵功能的實(shí)現(xiàn):對(duì)于一組鍵或一個(gè)鍵盤,需通過(guò)接口電路與單片機(jī)相連??刹捎貌樵兓蛑袛喾绞綔y(cè)試有無(wú)鍵按下,再確定是哪一個(gè)鍵按下,將該鍵號(hào)送入累加器ACC,然后判斷是數(shù)字鍵還是功能鍵,若是數(shù)字鍵,則將鍵號(hào)對(duì)應(yīng)的數(shù)字送入相關(guān)輸入緩沖區(qū);若是功能鍵,則通過(guò)跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。

獨(dú)立式按鍵接口電路:特點(diǎn):一線一鍵,按鍵識(shí)別(編程)簡(jiǎn)單;但占用較多口線,適合8鍵以下使用。例1:用P1口檢測(cè)三個(gè)按鍵的狀態(tài)并完成相應(yīng)的功能解:資源分配:用P1口的低3位檢測(cè)3個(gè)按鍵的輸入,為1則表示按鍵沒(méi)有按下,為0則表示相應(yīng)按鍵被按下。流程圖:ORG0000HKB:MOVP1,#0FFHMOVA,P1CPLAANLA,#07HJZKBLCALLD10MSMOVA,P1CPLAANLA,#07HJZKB編程:按三個(gè)按鍵中的任一鍵都對(duì)應(yīng)一個(gè)特定功能。判斷按鍵是否按下?CJNEA,#01H,KB01LCALLPGM1SJMPKBKB01:CJNEA,#02H,KB02LCALLPGM2SJMPKBKB02:CJNEA,#04H,KBLCALLPGM3SJMPKBPGM1:……RET判斷具體哪個(gè)鍵按下并轉(zhuǎn)去執(zhí)行相應(yīng)功能鍵盤掃描子程序一般包括以下內(nèi)容:1.判別有無(wú)鍵按下;2.掃描獲取閉合鍵的行、列值;3.用計(jì)算法或查表法得到鍵值;4.判斷閉合鍵釋放否,如沒(méi)釋放則繼續(xù)等待;5.保存閉合鍵號(hào)。鍵按下/釋放判斷

KS:MOVA,#00H MOVP1,A ;全掃描字#00H送P1口MOVP1,#0FHMOVA,P1;讀入P1口狀態(tài)CPLA;變正邏輯,高電平表示有鍵按下ANLA,#0FH;取低4位RET ;返回,A≠0表示有鍵按下

按鍵識(shí)別——掃描法

流程:

當(dāng)?shù)?列處于低電平時(shí),逐行查找是否有行線變低,若有,則第0列與該行的交叉點(diǎn)按鍵按下;若無(wú),則表示第0列無(wú)鍵按下,再讓下一列處在低電平,依此循環(huán),這種方式稱為鍵盤掃描。

鍵號(hào)=行首鍵號(hào)(0、4、8、12)+列號(hào)(0、1、2、3)

原理:

在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,則當(dāng)這一列有鍵按下時(shí),該鍵所在的行電平將會(huì)由高電平變?yōu)榈碗娖剑膳卸ㄔ摿邢鄳?yīng)的行有鍵按下。

AJMPTRYK

LINE3:JBACC.3,LINE4

MOVA,#0CH

AJMPTRYK

LINE4:INCR3

MOVA,R2

RL A

JNBACC.0,BACK

MOVR2,A

AJMPLINE0

TRYK:ADDA,R3

BACK:RET 定時(shí)掃描方式定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷。CPU響應(yīng)中斷后對(duì)鍵盤進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵,再執(zhí)行該鍵的功能程序。中斷掃描方式為提高CPU工作效率,可采用中斷掃描工作方式。其工作過(guò)程如下:當(dāng)無(wú)鍵按下時(shí),CPU處理自己的工作,當(dāng)有鍵按下時(shí),產(chǎn)生中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識(shí)別鍵號(hào)。LED顯示和按鍵的應(yīng)用停車場(chǎng)計(jì)數(shù)器硬件電路設(shè)計(jì)顯示部分:靜態(tài)顯示(StaticDisplay)連接?動(dòng)態(tài)顯示(DynamicDisplay)連接?課堂練習(xí)1:嘗試完成上述功能的顯示電路連接。計(jì)數(shù)部分:實(shí)際電路采用傳感器,這里我們可以用按鍵模擬代替。單片機(jī)adpP2.1P2.0P2.6P2.7bg+5Vadpbg。。。。。。P0.1P0.0P0.6P0.7+5VP3.3+5VP3.2進(jìn)車出車停車場(chǎng)計(jì)數(shù)器程序設(shè)計(jì)基本功能單片機(jī)adpP2.1P2.0P2.6P2.7bg+5Vadpbg。。。。。。P0.1P0.0P0.6P0.7+5VP3.3+5VP3.2進(jìn)車出車編寫(xiě)程序的基本思路主程序完成單片機(jī)的初始設(shè)定、初始顯示等。兩個(gè)按鍵可采用查詢或者中斷方式,本例子采用中斷方式。MAIN主程序流程TAB: DB0C0H,0F9H,0A4H,0B0H DB99H,92H,82H,0F8H,80H,90H主程序

ORG 0100HMAIN: MOV IE,#85H

MOV NUM,#00H MOV NUM_H,#00H MOV NUM_L,#00H MOV DPTR,#TABDISP: MOV A,NUM_H MOVC A,@A+DPTR MOV P2,A MOV A,NUM_L MOVC A,@A+DPTR MOV P0,A

SJMP DISP中斷初始化初始車數(shù)設(shè)為0設(shè)置查表首地址十位顯示(P2口)個(gè)位顯示(P0口)FLOWCHART進(jìn)車中斷子程序

(模擬“進(jìn)車”按鍵按下后)進(jìn)車中斷子程序CAR_IN: INC NUM

MOV A,NUM MOV B,#10

DIV AB MOV NUM_H,A MOV NUM_L,B

RETI返回除操作后,A、B分別是什么?想一想:出車后,中斷子程序如何編寫(xiě)?課堂練習(xí)2:請(qǐng)完成出車中斷子程序的編寫(xiě)!車數(shù)加1車數(shù)除以10得到十位和個(gè)位十位送NUM_H個(gè)位送NUM_L出車中斷子程序CAR_OUT:

INC NUM ;車數(shù)減1 MOV A,NUM MOV B,#10 DIV AB ;除以10,得到十位和個(gè)位 MOV NUM_H,A ;高位送到NUM_H MOV NUM_L,B ;低位送到NUM_H

RETI思考程序的改進(jìn):怎樣實(shí)現(xiàn)計(jì)數(shù)到99后的清0?當(dāng)停車場(chǎng)可容納車位數(shù)目增多,需三位計(jì)數(shù)時(shí),電路和軟件如何修改?當(dāng)設(shè)計(jì)秒表(或數(shù)字鐘)時(shí),該應(yīng)用程序有何借鑒之處?動(dòng)態(tài)顯示和按鍵編程實(shí)例-秒表問(wèn)題1:秒表的基本功能有哪些?啟動(dòng)、停止、清0秒的加1計(jì)數(shù)顯示的不斷更新問(wèn)題2:上述功能需要通過(guò)什么相應(yīng)的資源和軟件來(lái)實(shí)現(xiàn)?按鍵、顯示器定時(shí)器顯示緩沖區(qū)的不斷更新實(shí)現(xiàn)步驟一:顯示和秒的加1計(jì)數(shù)程序設(shè)計(jì)分析主程序-實(shí)現(xiàn)兩位LED的動(dòng)態(tài)顯示定時(shí)器中斷子程序-判斷是否到1S,若到,更新顯示緩沖區(qū)的內(nèi)容!課堂練習(xí)2:請(qǐng)寫(xiě)指令,完成上述兩部分程序的基本架構(gòu)。ORG 0000HLJMP MAINORG 000BHLJMP CONTORG 0100HMAIN: 初始化部分

動(dòng)態(tài)顯示程序部分CONT: 定時(shí)器中斷處理顯示緩沖區(qū)更新處理 RETI初始化部分程序MAIN: MOV P0,#00H MOV 40H,#00H MOV 41H,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H

MOV DPTR,#TAB MOV R7,#02H MOV BYTE,#01H MOV R0,#40H簡(jiǎn)易秒表主程序的設(shè)計(jì)初始化P0選中LED的一位(BYTE)查表送該位的字型碼(P2)延時(shí)位左移指向下一位R1加1指向顯示緩沖區(qū)的下一位2位顯示完?MAIN: 略,見(jiàn)上頁(yè)NEXT-BY

溫馨提示

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

評(píng)論

0/150

提交評(píng)論