資料介紹
鍵盤接口技術(shù)
8. 1? 鍵盤的工作原理
個(gè)人計(jì)算機(jī)普遍使用三種標(biāo)準(zhǔn)建盤:
(1)早期的PC、XT和AT機(jī)用的83與84鍵鍵盤。
(2)后來推出了101鍵的擴(kuò)展鍵盤。
(3)當(dāng)前又推出Windows鍵盤
每個(gè)鍵盤的動(dòng)作包括兩部分:一是按下,二是彈起。
1. 每個(gè)動(dòng)作產(chǎn)生一個(gè)掃描編碼,為區(qū)分兩種不同的動(dòng)作,當(dāng)按下時(shí)轉(zhuǎn)換為接通碼,也叫掃描碼;由一個(gè)字節(jié)組成。當(dāng)彈回時(shí)產(chǎn)生斷開碼,也是一個(gè)字節(jié),通常固定為F0h。這樣,每個(gè)動(dòng)作由兩字節(jié)組成。
在早期的PC機(jī)和XT機(jī)中,接通碼和斷開碼只有一個(gè)字節(jié)。通常用高位bit#7表示按下和彈起時(shí)的
狀態(tài),在按下時(shí),bit#7=0;在彈起時(shí),bit#7 =1。例如:鍵B的7位掃描碼是48,其二進(jìn)制碼為110000,按下時(shí),被送到系統(tǒng)控制端口A的碼是00110000,當(dāng)彈起時(shí),這個(gè)碼變?yōu)?0110000。
2. 當(dāng)掃描碼存放在端口A后,鍵盤中斷IRQ#9被激活,這時(shí),處理器立刻停止工作,并執(zhí)行與中斷有關(guān)的例行程序。如果掃描碼的產(chǎn)生來自換擋鍵或切換鍵,存儲器中記下轉(zhuǎn)換的狀態(tài)。除此以外的多數(shù)是掃描碼轉(zhuǎn)換為字符碼并顯示。
??? 在換擋和切換開關(guān)狀態(tài),通常的字符是“a”或“A”,這個(gè)碼放在鍵盤緩沖器中,程序隨時(shí)可以取出。
3. 特殊情況:如PrtSc鍵,鍵盤中斷程序直接由
?? 中斷向量指向例行程序激活,不把代碼存放在緩沖區(qū)中,程序隨時(shí)可以取出。
?? 4.? 鍵盤中斷程序調(diào)用:對多數(shù)計(jì)算機(jī)鍵盤中斷程序調(diào)用BIOS中斷號15h的功能4Fh,把鍵盤的掃描碼送入AL。不做任何處理,并返回相同的碼。
?? 5.? 早期在1982年8月11日以前的XT機(jī)中,沒有功能4Fh。鍵盤中斷程序能將兩類碼---ASCII和擴(kuò)展碼插入鍵盤緩沖區(qū)。
?? 6.? 從鍵盤到屏幕的過程:
計(jì)算機(jī)內(nèi)部的BIOS提供了從鍵盤緩沖區(qū)取碼的例行程序。在DOS中也為此提供例程。
??? BIOS例程有兩個(gè)版本,分別為83鍵鍵盤和101 鍵盤。并沒有84鍵盤,因?yàn)?4鍵盤只增加了一個(gè)Sys Req 鍵,它不把代碼存入鍵盤緩沖器中。在使用101鍵盤時(shí),對擴(kuò)充的有軟件確認(rèn)使用的鍵盤類型,具有支持?jǐn)U充鍵盤功能的BIOS計(jì)算機(jī),在使用101鍵盤時(shí),也提供83鍵盤功能,在這種情況下,83鍵盤功能濾掉附加碼,這些碼通常由101鍵盤放在鍵盤緩沖區(qū)中。? 這樣,只使用83鍵盤軟件,不必做不同鍵盤的適應(yīng)性修改,即可。?
8.2? 擊鍵截取和擊鍵譯碼????????
8.2.1? 清除鍵盤緩沖區(qū)
有時(shí)用戶的按鍵響應(yīng)可能導(dǎo)致數(shù)據(jù)丟失或破壞了數(shù)據(jù)而不能挽回。在這種情況下,消除緩沖區(qū)可以消除不恰當(dāng)或意外的擊鍵,這種擊鍵或許在緩沖區(qū)中正等待處理,或許可能發(fā)出錯(cuò)誤的響應(yīng)。在其他情況下,清理緩沖區(qū)不是好辦法,因?yàn)檫@樣做會損害超前鍵入的特性。并不能再使用鍵盤宏指令。緩沖區(qū)可存放15個(gè)鍵入碼,為每個(gè)鍵入碼在存儲器中提供兩個(gè)字節(jié)。包括轉(zhuǎn)換碼、單字節(jié)的ASCII碼和雙字節(jié)的擴(kuò)展碼。
? 對單字節(jié)碼,第一字節(jié)放ASCII碼,第二字節(jié)?? 放掃描碼;對擴(kuò)展碼,第一字節(jié)存放ASCII 0,
??? 第二字節(jié)通常放擴(kuò)展碼的掃描碼。但并不是絕對的因?yàn)楣δ苕I與換擋鍵組合后可產(chǎn)生一個(gè)擴(kuò)展碼。
???????? 鍵盤緩沖區(qū)設(shè)計(jì)成一個(gè)環(huán)行隊(duì)列,稱為先進(jìn)先出的(FIFO)算法緩沖區(qū)。實(shí)際是兩個(gè)指針跟蹤計(jì)數(shù)器記錄著當(dāng)前在緩沖器中代碼串的“頭”和“尾”。
??? 鍵盤緩沖區(qū)設(shè)在BIOS數(shù)據(jù)區(qū),BIOS數(shù)據(jù)區(qū)的開始地址:0040:2000。
??? 32字節(jié)緩沖區(qū):0040:001E開始
??? 頭指針:0040:001A
??? 尾指針:0040:001C
8. 1? 鍵盤的工作原理
個(gè)人計(jì)算機(jī)普遍使用三種標(biāo)準(zhǔn)建盤:
(1)早期的PC、XT和AT機(jī)用的83與84鍵鍵盤。
(2)后來推出了101鍵的擴(kuò)展鍵盤。
(3)當(dāng)前又推出Windows鍵盤
每個(gè)鍵盤的動(dòng)作包括兩部分:一是按下,二是彈起。
1. 每個(gè)動(dòng)作產(chǎn)生一個(gè)掃描編碼,為區(qū)分兩種不同的動(dòng)作,當(dāng)按下時(shí)轉(zhuǎn)換為接通碼,也叫掃描碼;由一個(gè)字節(jié)組成。當(dāng)彈回時(shí)產(chǎn)生斷開碼,也是一個(gè)字節(jié),通常固定為F0h。這樣,每個(gè)動(dòng)作由兩字節(jié)組成。
在早期的PC機(jī)和XT機(jī)中,接通碼和斷開碼只有一個(gè)字節(jié)。通常用高位bit#7表示按下和彈起時(shí)的
狀態(tài),在按下時(shí),bit#7=0;在彈起時(shí),bit#7 =1。例如:鍵B的7位掃描碼是48,其二進(jìn)制碼為110000,按下時(shí),被送到系統(tǒng)控制端口A的碼是00110000,當(dāng)彈起時(shí),這個(gè)碼變?yōu)?0110000。
2. 當(dāng)掃描碼存放在端口A后,鍵盤中斷IRQ#9被激活,這時(shí),處理器立刻停止工作,并執(zhí)行與中斷有關(guān)的例行程序。如果掃描碼的產(chǎn)生來自換擋鍵或切換鍵,存儲器中記下轉(zhuǎn)換的狀態(tài)。除此以外的多數(shù)是掃描碼轉(zhuǎn)換為字符碼并顯示。
??? 在換擋和切換開關(guān)狀態(tài),通常的字符是“a”或“A”,這個(gè)碼放在鍵盤緩沖器中,程序隨時(shí)可以取出。
3. 特殊情況:如PrtSc鍵,鍵盤中斷程序直接由
?? 中斷向量指向例行程序激活,不把代碼存放在緩沖區(qū)中,程序隨時(shí)可以取出。
?? 4.? 鍵盤中斷程序調(diào)用:對多數(shù)計(jì)算機(jī)鍵盤中斷程序調(diào)用BIOS中斷號15h的功能4Fh,把鍵盤的掃描碼送入AL。不做任何處理,并返回相同的碼。
?? 5.? 早期在1982年8月11日以前的XT機(jī)中,沒有功能4Fh。鍵盤中斷程序能將兩類碼---ASCII和擴(kuò)展碼插入鍵盤緩沖區(qū)。
?? 6.? 從鍵盤到屏幕的過程:
計(jì)算機(jī)內(nèi)部的BIOS提供了從鍵盤緩沖區(qū)取碼的例行程序。在DOS中也為此提供例程。
??? BIOS例程有兩個(gè)版本,分別為83鍵鍵盤和101 鍵盤。并沒有84鍵盤,因?yàn)?4鍵盤只增加了一個(gè)Sys Req 鍵,它不把代碼存入鍵盤緩沖器中。在使用101鍵盤時(shí),對擴(kuò)充的有軟件確認(rèn)使用的鍵盤類型,具有支持?jǐn)U充鍵盤功能的BIOS計(jì)算機(jī),在使用101鍵盤時(shí),也提供83鍵盤功能,在這種情況下,83鍵盤功能濾掉附加碼,這些碼通常由101鍵盤放在鍵盤緩沖區(qū)中。? 這樣,只使用83鍵盤軟件,不必做不同鍵盤的適應(yīng)性修改,即可。?
8.2? 擊鍵截取和擊鍵譯碼????????
8.2.1? 清除鍵盤緩沖區(qū)
有時(shí)用戶的按鍵響應(yīng)可能導(dǎo)致數(shù)據(jù)丟失或破壞了數(shù)據(jù)而不能挽回。在這種情況下,消除緩沖區(qū)可以消除不恰當(dāng)或意外的擊鍵,這種擊鍵或許在緩沖區(qū)中正等待處理,或許可能發(fā)出錯(cuò)誤的響應(yīng)。在其他情況下,清理緩沖區(qū)不是好辦法,因?yàn)檫@樣做會損害超前鍵入的特性。并不能再使用鍵盤宏指令。緩沖區(qū)可存放15個(gè)鍵入碼,為每個(gè)鍵入碼在存儲器中提供兩個(gè)字節(jié)。包括轉(zhuǎn)換碼、單字節(jié)的ASCII碼和雙字節(jié)的擴(kuò)展碼。
? 對單字節(jié)碼,第一字節(jié)放ASCII碼,第二字節(jié)?? 放掃描碼;對擴(kuò)展碼,第一字節(jié)存放ASCII 0,
??? 第二字節(jié)通常放擴(kuò)展碼的掃描碼。但并不是絕對的因?yàn)楣δ苕I與換擋鍵組合后可產(chǎn)生一個(gè)擴(kuò)展碼。
???????? 鍵盤緩沖區(qū)設(shè)計(jì)成一個(gè)環(huán)行隊(duì)列,稱為先進(jìn)先出的(FIFO)算法緩沖區(qū)。實(shí)際是兩個(gè)指針跟蹤計(jì)數(shù)器記錄著當(dāng)前在緩沖器中代碼串的“頭”和“尾”。
??? 鍵盤緩沖區(qū)設(shè)在BIOS數(shù)據(jù)區(qū),BIOS數(shù)據(jù)區(qū)的開始地址:0040:2000。
??? 32字節(jié)緩沖區(qū):0040:001E開始
??? 頭指針:0040:001A
??? 尾指針:0040:001C
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機(jī)—鍵盤接口技術(shù) 學(xué)習(xí)筆記
- 【51單片機(jī)實(shí)驗(yàn)】5-串行接口與鍵盤接口技術(shù)應(yīng)用(附Proteus電路)
- 數(shù)字隔離和接口技術(shù)選型.pdf下載 6次下載
- 通信協(xié)議及接口技術(shù)匯總綜述 90次下載
- 綜述單片機(jī)的鍵盤接口技術(shù) 11次下載
- 微機(jī)原理及接口技術(shù)的七個(gè)實(shí)驗(yàn)指導(dǎo)資料免費(fèi)下載 7次下載
- LED數(shù)碼管顯示及鍵盤接口技術(shù)的詳細(xì)資料說明 2次下載
- 51單片機(jī)匯編語言教程之矩陣式鍵盤接口技術(shù)及程序設(shè)計(jì)的詳細(xì)資料說明 4次下載
- 用專用芯片8279實(shí)現(xiàn)控制系統(tǒng)的鍵盤接口技術(shù)方案 8次下載
- 單片機(jī)的鍵盤接口技術(shù) 8次下載
- 單片機(jī)嵌入式鍵盤接口技術(shù) 16次下載
- 串行口動(dòng)態(tài)掃描顯示電路 6次下載
- 51單片機(jī)匯編語言教程:26課矩陣式鍵盤接口技術(shù)及程序設(shè)計(jì) 17次下載
- MCS-51單片機(jī)的編程應(yīng)用范例
- 單片機(jī)實(shí)用接口技術(shù)
- 腦機(jī)接口是什么?腦機(jī)接口發(fā)展到什么程度了? 7442次閱讀
- 腦機(jī)接口普及還需多少年?腦機(jī)接口什么時(shí)候普及? 1744次閱讀
- MIPI接口技術(shù)在圖像和視頻傳輸中的應(yīng)用 1824次閱讀
- 采用USB接口技術(shù)實(shí)現(xiàn)樁基測試數(shù)據(jù)采集的設(shè)計(jì) 1901次閱讀
- 計(jì)算機(jī)接口技術(shù)解析 1802次閱讀
- 單片機(jī)鍵盤接口技術(shù)的基礎(chǔ)知識 2791次閱讀
- 基于串行高速數(shù)據(jù)傳輸接口技術(shù)和CPLD器件實(shí)現(xiàn)炮彈測速系統(tǒng)的設(shè)計(jì) 1310次閱讀
- 服務(wù)器的硬盤接口技術(shù)解析 3552次閱讀
- 回顧接口技術(shù)發(fā)展歷史 1.4w次閱讀
- 關(guān)于高速接口技術(shù)簡析 9859次閱讀
- 腦機(jī)接口技術(shù)的實(shí)現(xiàn)方法分析 4597次閱讀
- dvi接口轉(zhuǎn)hdmi接口的方法 9.7w次閱讀
- DMA控制器與單片機(jī)的接口技術(shù) 3391次閱讀
- 必讀:嵌入式系統(tǒng)基礎(chǔ)及知識及接口技術(shù)總結(jié) 2238次閱讀
- 新型電聲產(chǎn)品接口技術(shù) 1954次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1497次下載 | 免費(fèi)
- 2TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 3單片機(jī)典型實(shí)例介紹
- 18.19 MB | 99次下載 | 1 積分
- 4S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 28次下載 | 1 積分
- 5筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 6開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 14次下載 | 免費(fèi)
- 79天練會電子電路識圖
- 5.91 MB | 6次下載 | 免費(fèi)
- 8100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30321次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21540次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537794次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論