版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第六章鍵盤接口2鍵盤接口的功能識別鍵盤矩陣中的被按鍵清除按鍵時產(chǎn)生的抖動干擾防止按鍵操作的串鍵錯誤產(chǎn)生被按鍵相應(yīng)的鍵碼3第一節(jié)鍵盤的工作原理一、單個按鍵的結(jié)構(gòu)4二、鍵盤的接法1.獨(dú)立式按鍵直接用I/O口線構(gòu)成的單個按鍵電路。每根I/O口線上按鍵的工作狀態(tài)不會影響其他I/O口線的工作狀態(tài)。一個鍵對應(yīng)一個I/O口位5鍵盤的接法2.矩陣式鍵盤行線、列線按鍵設(shè)置在行列交點(diǎn)上,行列線分別連接到按鍵開關(guān)的兩端。當(dāng)行線通過上拉電阻接+5伏時,被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的。鍵盤中哪一個鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷。6三、鍵盤的兩種基本類型1.編碼鍵盤鍵盤內(nèi)部能自動檢測被按下的鍵,并提供與被按鍵功能對應(yīng)的鍵碼(如ASCII碼),以并行或串行方式送給CPU直接得到字符碼(ASCII)7編碼鍵盤6位計(jì)數(shù)器時鐘發(fā)生器ROM/CSCPU3-8譯碼器8×8鍵盤3-8譯碼器/RD地址譯碼輸出延時單穩(wěn)中斷觸發(fā)器中斷請求ROM中存儲各個按鍵的字符碼計(jì)數(shù)器循環(huán)計(jì)數(shù)掃描鍵盤得到當(dāng)前按鍵的位置碼按鍵按下時停止計(jì)數(shù),并產(chǎn)生中斷請求,CPU讀字符碼8非編碼鍵盤非編碼鍵盤的按鍵識別:(1)行掃描法由程序?qū)︽I盤進(jìn)行逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵。2.非編碼鍵盤只簡單地提供按鍵的行列位置(位置碼或掃描碼),而按鍵的識別和鍵碼的確定與輸入等功能均由軟件完成讀位置碼->查表->字符碼9行掃描法峨峨非編碼式鍵盤行掃描法的工作原理(a)無鍵按下;(b)有鍵按下;(c)掃描第0行;(d)掃描第1行;(e)掃描第2行;(f)掃描第3行10行掃描法非編碼式鍵盤行掃描法的工作原理(a)無鍵按下;(b)有鍵按下;(c)掃描第0行;(d)掃描第1行;(e)掃描第2行;(f)掃描第3行11行掃描法探討非編碼式鍵盤行掃描法的工作原理(a)無鍵按下;(b)有鍵按下;(c)掃描第0行;(d)掃描第1行;(e)掃描第2行;(f)掃描第3行需要設(shè)置輸入口、輸出口各一個。12行掃描法示例程序AGAIN: XOR AL,AL ;行線
MOV DX,PORTO OUT DX,AL MOV DX,PORTI IN AL,DX CMP AL,0FFH JZ AGAIN CALL DELAYPROG: MOV BL,0 MOV BH,0FEH MOV CX,8
13行掃描法示例程序FROW: MOV AL,BH MOV DX,PORTO OUT DX,AL ROL BH,1 MOV DX,PORTI IN AL,DX CMP AL,0FFH
JNZ FCOL ADD BL,8 LOOP FROW JMP DONEFCOL: ROR AL,1 JNC PROCE JMP FCOLPROCE: ……DONE: …… 14線反轉(zhuǎn)法(2)線反轉(zhuǎn)法通過行列顛倒掃描來識別閉合鍵。在掃描每一行時,讀列線;然后依次向列線掃描輸出,讀行線。需要提供兩個可編程的雙向輸入/輸出端口。15線反轉(zhuǎn)法示例程序START:MOV AL,82H OUT 63H,ALWAIT0:MOV AL,0 OUT 60H,AL IN AL,61H CMP AL,0FFH JZ WAIT0 PUSH AX PUSH AX CALL DELAY MOV AL,90H OUT 63H,AL POP AX OUT 61H,AL IN AL,60H POP BX16線反轉(zhuǎn)法示例程序MOV AH,BLLEA SI,TABLEMOV CX,40HLOOP1:CMP AL,[SI] JZ KEYPRO INC SI INC SI LOOP LOOP1 JMP STARTKEYPRO:……TABLE DW 0FEFEH DW 0FEFDH DW 0FEFBH DW 0FEF7H ……17四、去抖動1.硬件濾波2.軟件延時18五、防串鍵串鍵:在鍵盤上同時按下幾個鍵,產(chǎn)生錯誤鍵碼防串鍵的方法:1.軟件掃描檢測全部按鍵,確認(rèn)只有一個鍵被按下時,才從鍵盤讀取鍵碼2.硬件鎖定在前一個按鍵釋放前,按其它鍵不產(chǎn)生選通信號19第二節(jié)可編程鍵盤/LED接口芯片8279DIP40封裝提供64鍵掃描接口自動去抖動、防串鍵鍵盤的掃描方式、移位、控制等均可編程輸入:掃描鍵盤、掃描傳感器、選通輸入方式輸出:8段LED顯示器接口,8個或16個,左(右)入口20212223一、外部引腳面向CPU的信號(15)D0~7、CS、RD、WRA0:端口選擇,=0,數(shù)據(jù)口,=1,命令口或狀態(tài)口RESET:復(fù)位,高有效,復(fù)位后工作于16字符,左入口;編碼掃描鍵盤,雙鍵互鎖;時鐘分頻系數(shù)31IRQ:中斷申請,高有效,通常鍵盤有數(shù)據(jù)輸入請求時有效CLK:時鐘,為8279提供內(nèi)部工作時鐘24一、外部引腳與鍵盤接口的信號(14)SL0~3:掃描信號,掃描鍵盤及LED顯示器,可設(shè)定為編碼輸出或譯碼輸出.編碼掃描實(shí)現(xiàn)16選1;譯碼掃描實(shí)現(xiàn)4選1RL0~7:回復(fù)信號,返回鍵盤矩陣或傳感器陣列的列信號SHIFT:高有效,用于擴(kuò)充鍵功能;傳感器輸入及選通輸入中無效CNTL/STB:控制/選通信號,高有效,鍵盤輸入中,用于擴(kuò)充鍵功能;選通輸入方式時,其上升沿將RL0~7上的數(shù)據(jù)存入FIFORAM25一、外部引腳與數(shù)碼管接口的信號(9+4)SL0~3:掃描信號,掃描鍵盤及LED顯示器.可由編程設(shè)定為編碼輸出或譯碼輸出.編碼掃描實(shí)現(xiàn)16選1;譯碼掃描實(shí)現(xiàn)4選1OUTA0~3、OUTB0~3:A組、B組顯示數(shù)據(jù)輸出,與SL0~3同步,兩組可獨(dú)立使用或合并使用BD:顯示消隱信號,輸出一個控制信號,通過硬件使LED熄滅26二、內(nèi)部結(jié)構(gòu)讀狀態(tài)字1010讀FIFORAM或顯示RAM0010寫命令字1100寫顯示RAM0100操作A0RDWRCS27二、內(nèi)部結(jié)構(gòu)控制與定時寄存器:寄存鍵盤及顯示器工作方式,完成控制功能定時控制:第一級計(jì)數(shù)器是可編程N(yùn)計(jì)數(shù)器,N由編程指定(2~31),對CLK分頻,獲得內(nèi)部所需100kHz工作時鐘;再分頻,為鍵盤及顯示器掃描提供掃描時鐘28二、內(nèi)部結(jié)構(gòu)4位,有譯碼、編碼兩種輸出方式,由編程設(shè)定譯碼掃描:最低兩位經(jīng)譯碼,由SL0~3輸出,作為鍵盤及顯示器的掃描信號.(任何時刻,SL0~3只有一個信號有效,實(shí)現(xiàn)4選1)編碼掃描:計(jì)數(shù)器的狀態(tài)由SL0~3直接輸出,再經(jīng)外部譯碼,才能作為掃描信號.(實(shí)現(xiàn)16選1)29二、內(nèi)部結(jié)構(gòu)回復(fù)緩沖器:緩沖并鎖存回復(fù)信號RL0~7的狀態(tài)去抖動電路:實(shí)現(xiàn)對鍵盤輸入的去抖動控制邏輯:按命令要求控制去抖動電路,并處理回復(fù)信號RL0~7鍵盤輸入方式,有鍵閉合時,去抖動電路被置位,延時10ms再檢測,并將其位置信息與SHIFT、CNTL的狀態(tài)一起形成鍵盤數(shù)據(jù),送入FIFORAM傳感器輸入方式,RL0~7的狀態(tài)直接送入傳感器RAM(即FIFORAM)選通輸入方式,在CNTL/STB的上升沿將RL0~7狀態(tài)送入FIFORAM30二、內(nèi)部結(jié)構(gòu)FIFO/傳感器RAM:8×8位鍵盤輸入方式或選通輸入方式作先入先出存儲器(FIFORAM);傳感器輸入方式被稱為傳感器RAM,存儲傳感器陣列中每個傳感器的狀態(tài)FIFORAM的狀態(tài)寄存器:鍵盤輸入方式或選通輸入方式,寄存FIFORAM的工作狀態(tài),FIFORAM不空時,會使IRQ變高;傳感器方式,若檢測出傳感器的狀態(tài)發(fā)生了變化,會使IRQ變高31二、內(nèi)部結(jié)構(gòu)顯示RAM:16×8位,存儲字符的字形碼,顯示時,從OUTA0~3和OUTB0~3輸出顯示地址寄存器:顯示RAM的內(nèi)部地址,可由命令直接設(shè)定,或設(shè)置為每次讀/寫后自動加1。32二、內(nèi)部結(jié)構(gòu)輸出端與顯示單元中各位的對應(yīng)關(guān)系OUTB0OUTB1OUTB2OUTB3OUTA0OUTA1OUTA2OUTA3D0D1D2D3D4D5D6D733三、8279的工作方式數(shù)據(jù)輸入方式——鍵盤輸入(鍵掃描)、傳感器掃描、選通輸入鍵掃描:按下一個鍵時,形成鍵盤數(shù)據(jù),送入FIFORAM,并產(chǎn)生IRQ(數(shù)據(jù)讀出后撤除)傳感器掃描:FIFORAM中8個單元用于寄存?zhèn)鞲衅鞯默F(xiàn)時狀態(tài),傳感器陣列(最多為8×8位)中某一位狀態(tài)發(fā)生變化時,產(chǎn)生IRQ選通輸入:CNTL/STB作為選通信號,上升沿鎖存RL0~7到FIFORAM顯示輸出方式——8字符左入口、16字符左入口、8字符右入口、16字符右入口左入口:顯示時從到右依次填滿整個顯示器,若滿則再從左開始右入口:顯示字符從最右端輸入,以后逐次左移(計(jì)算器方式)34四、8279的編程1.命令字000D1D0K2K1K0特征位顯示方式輸入方式掃描方式設(shè)置工作方式00:8字符,左入口01:16字符,左入口10:8字符,右入口11:16字符,右入口00:鍵盤,雙鍵鎖定01:鍵盤,N鍵輪回10:傳感器掃描11:選通輸入0:編碼掃描1:譯碼掃描復(fù)位后的默認(rèn)值35四、8279的編程1.命令字000D1D0K2K1K0特征位顯示方式輸入方式掃描方式設(shè)置工作方式00:8字符,左入口01:16字符,左入口10:8字符,右入口11:16字符,右入口00:鍵盤,雙鍵鎖定01:鍵盤,N鍵輪回10:傳感器掃描11:選通輸入0:編碼掃描1:譯碼掃描雙鍵互鎖雙鍵鎖定是為兩鍵同時按下提供的保護(hù)方法。若有兩鍵或多個鍵同時按下,則無論這些鍵是以什么次序按下的,它只識別最后一個釋放的鍵,并把該鍵值送入FIFO/傳感器RAM中。N鍵巡回(多鍵卷入)
N鍵巡回是為N個鍵同時按下時提供的保護(hù)方法。若有多個鍵同時按下時,鍵盤掃描能按按鍵先后順序依次將鍵值送入FIFO/傳感器RAM中。36四、8279的編程設(shè)置分頻系數(shù)分頻目的:得到100KHz的基本工作時鐘001PPPPP特征位分頻系數(shù)N(2~31)37四、8279的編程010AI
A2A1A0特征位自動增量無效FIFORAM的行讀FIFO/傳感器RAM鍵盤方式無效,寫00:讀出后地址不變1:每次讀出地址自動加138四、8279的編程011AIA3A2A1A0特征位自動增量顯示RAM的行讀顯示RAM0:讀出后地址不變1:每次讀出地址自動加139四、8279的編程100AIA3A2A1A0特征位自動增量顯示RAM的行寫顯示RAM0:寫入后地址不變1:每次寫入地址自動加140四、8279的編程101
IWAIWBBLABLB特征位無效A組禁寫B(tài)組禁寫A組熄滅B組熄滅寫顯示RAM控制、熄滅命令字1:相應(yīng)顯示RAM禁止寫入1:OUTA0-3、OUTB0-3輸出高電平使各個LED熄滅41四、8279的編程0:全部清010:置成20H11:置成全1110CD2CD1CD0CFCA特征位清除顯示RAM清除顯示RAM的方式清FIFORAM總清除清除命令ClearAll重新同步內(nèi)部時鐘鏈清除FIFORAM的狀態(tài)字并復(fù)位IRQ傳感器RAM指針指向第0行1:允許CD1、CD20:不允許,除非CA=142四、8279的編程111E
特征位無效結(jié)束中斷/設(shè)置錯誤方式傳感器模式時,E=1拉低IRQ鍵盤N鍵輪回方式時,若E=1,則8279工作在特殊錯誤模式43四、8279的編程3.數(shù)據(jù)格式CNTLSHIFTSCANRETURN44四、8279的編程2.狀態(tài)字(指示FIFORAM中字符數(shù)及是否有錯誤)DUS/EOUFN2N1N0DU:顯示無效標(biāo)志,由命令清除顯示RAM時為1鍵盤輸入方式:1表示出現(xiàn)多鍵按下傳感器方式:1表示傳感器RAM中至少有一個傳感器閉合FIFORAM中字符的個數(shù)U:取空標(biāo)志1,CPU對空的FIFORAM進(jìn)行了讀取操作O:溢出標(biāo)志,向已滿的FIFORAM寫時置145四、8279的編程設(shè)STATPORT為8279的命令狀態(tài)口,DATAPORT為其數(shù)據(jù)口,試寫出讀按鍵代碼并存入內(nèi)存400H單元的程序。 MOV DI,400H ;內(nèi)存地址
MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版施工工程居間合同
- 2024紡織行業(yè)染料輸送泵安裝合同
- 2024石材進(jìn)口及國內(nèi)分銷合同補(bǔ)充條款3篇
- 2024版高效節(jié)能空調(diào)安裝工程承包合同版B版
- 2024版采購合同風(fēng)險控制3篇
- 2024民法典指導(dǎo)下住宅小區(qū)物業(yè)管理費(fèi)調(diào)整合同3篇
- 集訓(xùn)05 世界近代史選擇題100題(答案解析)
- 大慶全市統(tǒng)考數(shù)學(xué)試卷
- 美術(shù)教練員勞動合同模板
- 珠寶行業(yè)合同管理與執(zhí)行
- 2024年激光切割機(jī)市場需求分析報告
- 《紀(jì)檢監(jiān)察培訓(xùn)課件》課件
- 加油站員工績效考核(標(biāo)準(zhǔn)版)
- 廣東省中山市2022-2023學(xué)年高一上學(xué)期期末考試物理試題
- 是誰殺死了周日
- 有關(guān)基建的工作總結(jié)
- 粘土手工課件
- 無人機(jī)技術(shù)在電信領(lǐng)域的應(yīng)用
- 2023-2024學(xué)年四川省南充市七年級(上)期末數(shù)學(xué)試卷(含解析)
- 氮化硅的制備性質(zhì)及應(yīng)用課件
- 物業(yè)多種經(jīng)營問題分析報告
評論
0/150
提交評論