第5章第1部分(鍵盤接口技術(shù)).ppt_第1頁(yè)
第5章第1部分(鍵盤接口技術(shù)).ppt_第2頁(yè)
第5章第1部分(鍵盤接口技術(shù)).ppt_第3頁(yè)
第5章第1部分(鍵盤接口技術(shù)).ppt_第4頁(yè)
第5章第1部分(鍵盤接口技術(shù)).ppt_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

1、5.1 鍵盤接口技術(shù),鍵盤是十分重要的人機(jī)對(duì)話的組成部分,是人向機(jī)器發(fā)出指令、輸入信息的必需設(shè)備。 1、鍵的特性 鍵盤是由若干獨(dú)立的鍵組成,鍵的按下與釋放是通過(guò)機(jī)械觸點(diǎn)的閉合與斷開(kāi)來(lái)實(shí)現(xiàn)的,因機(jī)械觸點(diǎn)的彈性作用,在閉合與斷開(kāi)的瞬間均有一個(gè)抖動(dòng)過(guò)程 。抖動(dòng)必須消除,去抖動(dòng)的方法主要有以下兩種:,5.1 鍵盤接口技術(shù),硬件去抖動(dòng) 軟件去抖動(dòng),5.1 鍵盤接口技術(shù),2、鍵盤的形式 鍵盤的形式有以下兩種: 獨(dú)立式鍵盤 編碼式鍵盤 (1)獨(dú)立式鍵盤 每一個(gè)按鍵的電路是獨(dú)立的,占用一條數(shù)據(jù)線 。這種鍵盤占用硬件資源多,適合少量按鍵的情況。,獨(dú)立式鍵盤結(jié)構(gòu),獨(dú)立式鍵盤與單片機(jī)接口,獨(dú)立式鍵盤與單片機(jī)接口,程

2、序框圖,獨(dú)立式鍵盤與單片機(jī)接口,程序清單: ORG 0030H KB:MOVP1,#0FFH;置P1口為輸入口 MOVA,P1;讀鍵狀態(tài) CPLA ANLA,#0FH;屏蔽高4位 JZKB;無(wú)鍵閉合則返回 ACALLD10MS;延時(shí)去抖動(dòng) MOVA,P1;再讀鍵狀態(tài) CPLA ANLA,#0FH JZKB;無(wú)鍵閉合則返回 CJNEA,#01H,KB01 INC20H;K1鍵閉合,20H單元加1 SJMPKB,獨(dú)立式鍵盤與單片機(jī)接口,KB01:CJNE A,#02H,KB02 DEC 20H ;K2鍵閉合,20單元減1 SJMP KB KB02:CJNE A,#04H,KB03 MOV 21H,

3、#00H ;K3鍵閉合,21H單元清0 SJMP KB KB03:CJNE A,#08H,KB MOV 21H,#0FFH ;K4鍵閉合,21H單元置FF SJMP KB ;若有兩鍵以上閉合則返回 END,矩陣式鍵盤結(jié)構(gòu),矩陣式鍵盤的工作原理,掃描原理: 首先確定是否有鍵閉合 然后逐一掃描以進(jìn)一步確定是哪一鍵閉合 以44鍵盤為例: (1)使列線D0D3都輸出0,檢測(cè)行線D4D7的電平。如果D4D7上的電平全為高,則表示沒(méi)有鍵被按下。如果D4D7上的電平不全為高,則表示有鍵被按下。 (2)如果沒(méi)有鍵閉合,就返回掃描。如果有鍵閉合,在進(jìn)行逐列掃描,找出閉合鍵的鍵號(hào)。先使D0=0,D1D3=1,檢測(cè)

4、D4D7上的電平,如果D4=0,表示K1鍵被按下;同理,如果D5D7=0,分別表示K5、K9、K13鍵被按下;如果D4D7=1,則表示這一列沒(méi)有鍵被按下。再使D1=0,D0、D2、D3為1,對(duì)第二列進(jìn)行掃描,這樣依次進(jìn)行下去,直到把閉合的鍵找到為止。,矩陣式鍵盤與單片機(jī)接口,矩陣式鍵盤與單片機(jī)接口,一、程序掃描方式 三個(gè)步驟: 判斷有無(wú)鍵按下; 軟件延時(shí)10ms去抖動(dòng); 求鍵的位置(行、列)。,矩陣式鍵盤與單片機(jī)接口,程序清單: KSCAN:ACALLKEYS1;調(diào)用判鍵閉合子程序 JNZKEY1;有鍵閉合則轉(zhuǎn)至去抖動(dòng) AJMPRETURN;無(wú)鍵閉合則返回 KEY1:ACALLD10MS;調(diào)用

5、10ms延時(shí)程序 ACALLKEYS1;再次調(diào)用判鍵閉合子程序 JNZKEY2;確認(rèn)有鍵閉合,開(kāi)始掃描 AJMPRETURN;無(wú)鍵閉合則返回 KEY2:MOVR2,#0FEH;送首列掃描字 MOVR4,#00H;送首列號(hào) KEY0:MOVA,R2 MOVP1,A MOVA,P1;掃描字從P1口送出 JBACC.4,LINE1;第1行無(wú)鍵閉合,轉(zhuǎn)第2行 MOVA,#00H;第1行首鍵號(hào)送A AJMPKPV;轉(zhuǎn)鍵值計(jì)算程序,矩陣式鍵盤與單片機(jī)接口,LINE1:JBACC.5,LINE2;第2行無(wú)鍵閉合,轉(zhuǎn)第3行 MOVA,#04H;第2行首鍵號(hào)送A AJMPKPV;轉(zhuǎn)鍵值計(jì)算程序 LINE2:JB

6、ACC.6,LINE3;第3行無(wú)鍵閉合,轉(zhuǎn)第4行 MOVA,#08H;第3行首鍵號(hào)送A AJMPKPV;轉(zhuǎn)鍵值計(jì)算程序 LINE3:JBACC.7,NEXT;第4行無(wú)鍵閉合,轉(zhuǎn)下1列 MOVA,#0CH;第4行首鍵號(hào)送A KPV:ADDA,R4;計(jì)算鍵值 PUSHACC KEY3:ACALLKEYS1;等待鍵釋放 JNZKEYS1 POPACC SETBFLAG;置有鍵按下標(biāo)志 SJMPKEY4 RETURN:CLRFLAG;清有鍵按下標(biāo)志 KEY4:RET NEXT:INCR4;列號(hào)加1,矩陣式鍵盤與單片機(jī)接口,MOVA,R2 CJNEA,#0F7H,RETURN;判斷4行是否都已掃描完,

7、;完則返回 RLA;為掃描下1行做準(zhǔn)備 MOVR2,A AJMPKEY0;開(kāi)始掃描下1列 KEYS1:MOVP1,#0F0H;判鍵閉合子程序 MOVA,P1 CPLA ANLA,#0F0H RET D10MS:MOVR7,#14H;10ms延時(shí)子程序 DLY:MOVR6,#0F8H DLY1:DJNZR6,DLY1 DJNZR7,DLY RET,矩陣式鍵盤與單片機(jī)接口,二、定時(shí)中斷掃描方式 該方式利用定 時(shí)器10ms產(chǎn)生一次 中斷,設(shè)置兩個(gè)標(biāo) 志(FLAG1、 FLAG2),F(xiàn)LAG1 用于去抖動(dòng)標(biāo)志, FLAG2用于鍵處理 標(biāo)志。,FLAG1=1,矩陣式鍵盤與單片機(jī)接口,程序清單: FLAG

8、1BIT20H.0;定義抖動(dòng)標(biāo)志 FLAG2BIT20H.1;定義處理標(biāo)志 KEYVEQU30H;定義鍵值單元 ORG0000H AJMPMAIN ORG000BH AJMPINTT0 MAIN:MOVTMOD,#01H;T0為方式1,定時(shí)10ms MOVTL0,#0F0H MOVTH0,#0D8H MOVIE,#82H SETBTR0 HERE:SJMPHERE;主程序踏步,矩陣式鍵盤與單片機(jī)接口,INTT0:MOVTL0,#0F0H;中斷服務(wù),重新給定時(shí)器賦初值 MOVTH0,#0D8H ACALLKEYS1;判斷鍵是否按下 JNZKB1;有鍵按下則轉(zhuǎn)至KB1 CLRFLAG1;清除抖動(dòng)標(biāo)

9、志 CLRFLAG2;清除處理標(biāo)志 AJMPKB2;中斷返回 KB1:JBFLAG1,KB3;判抖動(dòng)標(biāo)志是否有效 SETBFLAG1;無(wú)效則設(shè)置成有效 AJMPKB2;返回 KB3:JBFLAG2,KB2 MOVR2,#0FEH;送首列掃描字 MOVR4,#00H;送首列號(hào) KEY0:MOVA,R2 MOVP1,A MOVA,P1;掃描字從P1口送出 JBACC.4,LINE1;第1行無(wú)鍵閉合,轉(zhuǎn)第2行 MOVA,#00H;第1行首鍵號(hào)送A AJMPKPV;轉(zhuǎn)鍵值計(jì)算程序,矩陣式鍵盤與單片機(jī)接口,LINE1:JBACC.5,LINE2;第2行無(wú)鍵閉合,轉(zhuǎn)第3行 MOVA,#04H;第2行首鍵號(hào)送A AJMPKPV;轉(zhuǎn)鍵值計(jì)算程序 LINE2:JBACC.6,LINE3;第3行無(wú)鍵閉合,轉(zhuǎn)第4行 MOVA,#08H;第3行首鍵號(hào)送A AJMPKPV;轉(zhuǎn)鍵值計(jì)算程序 LINE3:JBACC.7,NEXT;第4行無(wú)鍵閉合,轉(zhuǎn)下1列 MOVA,#0CH;第4行首鍵號(hào)送A KPV:ADDA,R4;計(jì)算鍵值 MOVKEYV,A;存放鍵值 SETBFLAG2;設(shè)置處理標(biāo)志 AJMPKB2 NEXT:INCR4;列號(hào)加1 MOVA,R2 CJNEA,#0F7H,

溫馨提示

  • 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)論