資料介紹
鍵盤接口技術(shù)
8. 1? 鍵盤的工作原理
個人計算機普遍使用三種標準建盤:
(1)早期的PC、XT和AT機用的83與84鍵鍵盤。
(2)后來推出了101鍵的擴展鍵盤。
(3)當前又推出Windows鍵盤
每個鍵盤的動作包括兩部分:一是按下,二是彈起。
1. 每個動作產(chǎn)生一個掃描編碼,為區(qū)分兩種不同的動作,當按下時轉(zhuǎn)換為接通碼,也叫掃描碼;由一個字節(jié)組成。當彈回時產(chǎn)生斷開碼,也是一個字節(jié),通常固定為F0h。這樣,每個動作由兩字節(jié)組成。
在早期的PC機和XT機中,接通碼和斷開碼只有一個字節(jié)。通常用高位bit#7表示按下和彈起時的
狀態(tài),在按下時,bit#7=0;在彈起時,bit#7 =1。例如:鍵B的7位掃描碼是48,其二進制碼為110000,按下時,被送到系統(tǒng)控制端口A的碼是00110000,當彈起時,這個碼變?yōu)?0110000。
2. 當掃描碼存放在端口A后,鍵盤中斷IRQ#9被激活,這時,處理器立刻停止工作,并執(zhí)行與中斷有關(guān)的例行程序。如果掃描碼的產(chǎn)生來自換擋鍵或切換鍵,存儲器中記下轉(zhuǎn)換的狀態(tài)。除此以外的多數(shù)是掃描碼轉(zhuǎn)換為字符碼并顯示。
??? 在換擋和切換開關(guān)狀態(tài),通常的字符是“a”或“A”,這個碼放在鍵盤緩沖器中,程序隨時可以取出。
3. 特殊情況:如PrtSc鍵,鍵盤中斷程序直接由
?? 中斷向量指向例行程序激活,不把代碼存放在緩沖區(qū)中,程序隨時可以取出。
?? 4.? 鍵盤中斷程序調(diào)用:對多數(shù)計算機鍵盤中斷程序調(diào)用BIOS中斷號15h的功能4Fh,把鍵盤的掃描碼送入AL。不做任何處理,并返回相同的碼。
?? 5.? 早期在1982年8月11日以前的XT機中,沒有功能4Fh。鍵盤中斷程序能將兩類碼---ASCII和擴展碼插入鍵盤緩沖區(qū)。
?? 6.? 從鍵盤到屏幕的過程:
計算機內(nèi)部的BIOS提供了從鍵盤緩沖區(qū)取碼的例行程序。在DOS中也為此提供例程。
??? BIOS例程有兩個版本,分別為83鍵鍵盤和101 鍵盤。并沒有84鍵盤,因為84鍵盤只增加了一個Sys Req 鍵,它不把代碼存入鍵盤緩沖器中。在使用101鍵盤時,對擴充的有軟件確認使用的鍵盤類型,具有支持擴充鍵盤功能的BIOS計算機,在使用101鍵盤時,也提供83鍵盤功能,在這種情況下,83鍵盤功能濾掉附加碼,這些碼通常由101鍵盤放在鍵盤緩沖區(qū)中。? 這樣,只使用83鍵盤軟件,不必做不同鍵盤的適應性修改,即可。?
8.2? 擊鍵截取和擊鍵譯碼????????
8.2.1? 清除鍵盤緩沖區(qū)
有時用戶的按鍵響應可能導致數(shù)據(jù)丟失或破壞了數(shù)據(jù)而不能挽回。在這種情況下,消除緩沖區(qū)可以消除不恰當或意外的擊鍵,這種擊鍵或許在緩沖區(qū)中正等待處理,或許可能發(fā)出錯誤的響應。在其他情況下,清理緩沖區(qū)不是好辦法,因為這樣做會損害超前鍵入的特性。并不能再使用鍵盤宏指令。緩沖區(qū)可存放15個鍵入碼,為每個鍵入碼在存儲器中提供兩個字節(jié)。包括轉(zhuǎn)換碼、單字節(jié)的ASCII碼和雙字節(jié)的擴展碼。
? 對單字節(jié)碼,第一字節(jié)放ASCII碼,第二字節(jié)?? 放掃描碼;對擴展碼,第一字節(jié)存放ASCII 0,
??? 第二字節(jié)通常放擴展碼的掃描碼。但并不是絕對的因為功能鍵與換擋鍵組合后可產(chǎn)生一個擴展碼。
???????? 鍵盤緩沖區(qū)設(shè)計成一個環(huán)行隊列,稱為先進先出的(FIFO)算法緩沖區(qū)。實際是兩個指針跟蹤計數(shù)器記錄著當前在緩沖器中代碼串的“頭”和“尾”。
??? 鍵盤緩沖區(qū)設(shè)在BIOS數(shù)據(jù)區(qū),BIOS數(shù)據(jù)區(qū)的開始地址:0040:2000。
??? 32字節(jié)緩沖區(qū):0040:001E開始
??? 頭指針:0040:001A
??? 尾指針:0040:001C
8. 1? 鍵盤的工作原理
個人計算機普遍使用三種標準建盤:
(1)早期的PC、XT和AT機用的83與84鍵鍵盤。
(2)后來推出了101鍵的擴展鍵盤。
(3)當前又推出Windows鍵盤
每個鍵盤的動作包括兩部分:一是按下,二是彈起。
1. 每個動作產(chǎn)生一個掃描編碼,為區(qū)分兩種不同的動作,當按下時轉(zhuǎn)換為接通碼,也叫掃描碼;由一個字節(jié)組成。當彈回時產(chǎn)生斷開碼,也是一個字節(jié),通常固定為F0h。這樣,每個動作由兩字節(jié)組成。
在早期的PC機和XT機中,接通碼和斷開碼只有一個字節(jié)。通常用高位bit#7表示按下和彈起時的
狀態(tài),在按下時,bit#7=0;在彈起時,bit#7 =1。例如:鍵B的7位掃描碼是48,其二進制碼為110000,按下時,被送到系統(tǒng)控制端口A的碼是00110000,當彈起時,這個碼變?yōu)?0110000。
2. 當掃描碼存放在端口A后,鍵盤中斷IRQ#9被激活,這時,處理器立刻停止工作,并執(zhí)行與中斷有關(guān)的例行程序。如果掃描碼的產(chǎn)生來自換擋鍵或切換鍵,存儲器中記下轉(zhuǎn)換的狀態(tài)。除此以外的多數(shù)是掃描碼轉(zhuǎn)換為字符碼并顯示。
??? 在換擋和切換開關(guān)狀態(tài),通常的字符是“a”或“A”,這個碼放在鍵盤緩沖器中,程序隨時可以取出。
3. 特殊情況:如PrtSc鍵,鍵盤中斷程序直接由
?? 中斷向量指向例行程序激活,不把代碼存放在緩沖區(qū)中,程序隨時可以取出。
?? 4.? 鍵盤中斷程序調(diào)用:對多數(shù)計算機鍵盤中斷程序調(diào)用BIOS中斷號15h的功能4Fh,把鍵盤的掃描碼送入AL。不做任何處理,并返回相同的碼。
?? 5.? 早期在1982年8月11日以前的XT機中,沒有功能4Fh。鍵盤中斷程序能將兩類碼---ASCII和擴展碼插入鍵盤緩沖區(qū)。
?? 6.? 從鍵盤到屏幕的過程:
計算機內(nèi)部的BIOS提供了從鍵盤緩沖區(qū)取碼的例行程序。在DOS中也為此提供例程。
??? BIOS例程有兩個版本,分別為83鍵鍵盤和101 鍵盤。并沒有84鍵盤,因為84鍵盤只增加了一個Sys Req 鍵,它不把代碼存入鍵盤緩沖器中。在使用101鍵盤時,對擴充的有軟件確認使用的鍵盤類型,具有支持擴充鍵盤功能的BIOS計算機,在使用101鍵盤時,也提供83鍵盤功能,在這種情況下,83鍵盤功能濾掉附加碼,這些碼通常由101鍵盤放在鍵盤緩沖區(qū)中。? 這樣,只使用83鍵盤軟件,不必做不同鍵盤的適應性修改,即可。?
8.2? 擊鍵截取和擊鍵譯碼????????
8.2.1? 清除鍵盤緩沖區(qū)
有時用戶的按鍵響應可能導致數(shù)據(jù)丟失或破壞了數(shù)據(jù)而不能挽回。在這種情況下,消除緩沖區(qū)可以消除不恰當或意外的擊鍵,這種擊鍵或許在緩沖區(qū)中正等待處理,或許可能發(fā)出錯誤的響應。在其他情況下,清理緩沖區(qū)不是好辦法,因為這樣做會損害超前鍵入的特性。并不能再使用鍵盤宏指令。緩沖區(qū)可存放15個鍵入碼,為每個鍵入碼在存儲器中提供兩個字節(jié)。包括轉(zhuǎn)換碼、單字節(jié)的ASCII碼和雙字節(jié)的擴展碼。
? 對單字節(jié)碼,第一字節(jié)放ASCII碼,第二字節(jié)?? 放掃描碼;對擴展碼,第一字節(jié)存放ASCII 0,
??? 第二字節(jié)通常放擴展碼的掃描碼。但并不是絕對的因為功能鍵與換擋鍵組合后可產(chǎn)生一個擴展碼。
???????? 鍵盤緩沖區(qū)設(shè)計成一個環(huán)行隊列,稱為先進先出的(FIFO)算法緩沖區(qū)。實際是兩個指針跟蹤計數(shù)器記錄著當前在緩沖器中代碼串的“頭”和“尾”。
??? 鍵盤緩沖區(qū)設(shè)在BIOS數(shù)據(jù)區(qū),BIOS數(shù)據(jù)區(qū)的開始地址:0040:2000。
??? 32字節(jié)緩沖區(qū):0040:001E開始
??? 頭指針:0040:001A
??? 尾指針:0040:001C
鍵盤
加入交流群
掃碼添加小助手
加入工程師交流群
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機—鍵盤接口技術(shù) 學習筆記
- 【51單片機實驗】5-串行接口與鍵盤接口技術(shù)應用(附Proteus電路)
- 數(shù)字隔離和接口技術(shù)選型.pdf下載 6次下載
- 通信協(xié)議及接口技術(shù)匯總綜述 90次下載
- 綜述單片機的鍵盤接口技術(shù) 11次下載
- 微機原理及接口技術(shù)的七個實驗指導資料免費下載 7次下載
- LED數(shù)碼管顯示及鍵盤接口技術(shù)的詳細資料說明 2次下載
- 51單片機匯編語言教程之矩陣式鍵盤接口技術(shù)及程序設(shè)計的詳細資料說明 4次下載
- 用專用芯片8279實現(xiàn)控制系統(tǒng)的鍵盤接口技術(shù)方案 8次下載
- 單片機的鍵盤接口技術(shù) 8次下載
- 單片機嵌入式鍵盤接口技術(shù) 16次下載
- 串行口動態(tài)掃描顯示電路 6次下載
- 51單片機匯編語言教程:26課矩陣式鍵盤接口技術(shù)及程序設(shè)計 17次下載
- MCS-51單片機的編程應用范例
- 單片機實用接口技術(shù)
- 腦機接口是什么?腦機接口發(fā)展到什么程度了? 9k次閱讀
- 腦機接口普及還需多少年?腦機接口什么時候普及? 2.6k次閱讀
- MIPI接口技術(shù)在圖像和視頻傳輸中的應用 3k次閱讀
- 采用USB接口技術(shù)實現(xiàn)樁基測試數(shù)據(jù)采集的設(shè)計 2.7k次閱讀
- 計算機接口技術(shù)解析 3.9k次閱讀
- 單片機鍵盤接口技術(shù)的基礎(chǔ)知識 5k次閱讀
- 基于串行高速數(shù)據(jù)傳輸接口技術(shù)和CPLD器件實現(xiàn)炮彈測速系統(tǒng)的設(shè)計 1.8k次閱讀
- 服務(wù)器的硬盤接口技術(shù)解析 3.9k次閱讀
- 回顧接口技術(shù)發(fā)展歷史 1.5w次閱讀
- 關(guān)于高速接口技術(shù)簡析 1.1w次閱讀
- 腦機接口技術(shù)的實現(xiàn)方法分析 5.1k次閱讀
- dvi接口轉(zhuǎn)hdmi接口的方法 10.1w次閱讀
- DMA控制器與單片機的接口技術(shù) 3.8k次閱讀
- 必讀:嵌入式系統(tǒng)基礎(chǔ)及知識及接口技術(shù)總結(jié) 2.6k次閱讀
- 新型電聲產(chǎn)品接口技術(shù) 2.3k次閱讀
下載排行
本周
- 1MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費
- 2MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費
- 3聯(lián)想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費
- 4收音環(huán)繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 524Pin Type-C連接器設(shè)計報告
- 1.06 MB | 次下載 | 免費
- 6新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 次下載 | 免費
- 7MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費
- 8MS1022高精度時間測量(TDC)電路數(shù)據(jù)手冊
- 1.81 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論