資料介紹
小鍵盤+LED驅(qū)動實(shí)驗(yàn):一.實(shí)驗(yàn)?zāi)康?BR>學(xué)習(xí)小鍵盤驅(qū)動原理和LED顯示原理,掌握輪詢方式獲取鍵值的原理,理解驅(qū)動程序采用輪詢方式和中斷方式的區(qū)別。學(xué)習(xí)將最近的按鍵值移位顯示在LED上的方法。
二.實(shí)驗(yàn)原理和說明
1. 鍵盤有關(guān)概念
1.1鍵盤掃描碼
當(dāng)鍵盤上的按鍵被按下或松開的時(shí)候,鍵盤將發(fā)送掃描碼給計(jì)算機(jī)。掃描碼告訴系統(tǒng)什么鍵被按下或松開。例如按鍵'A'。按鍵'A'的掃描碼為1CH。當(dāng)按下鍵'A'時(shí),鍵盤將發(fā)送1CH到串行線上。如果一直按住鍵'A'不放,鍵盤將以一定的重復(fù)率發(fā)送1CH。這個過程將保持下去,直到另外的鍵被按下或者鍵'A'被釋放。
而且,當(dāng)按鍵被釋放的時(shí)候,鍵盤也將發(fā)送其它代碼給計(jì)算機(jī)。還是以鍵'A'為例。當(dāng)鍵'A'被釋放時(shí),鍵盤將發(fā)送F0H給計(jì)算機(jī),報(bào)告有鍵被釋放,隨后再發(fā)送1CH,說明被釋放的鍵是'A',即,鍵'A'釋放時(shí)鍵盤發(fā)送給計(jì)算機(jī)的掃描碼是F0H 1CH。
1.2系統(tǒng)掃描碼
在我們通常所使用的pc機(jī)上,系統(tǒng)(BIOS,linux內(nèi)核)處理的并不是鍵盤掃描碼,而是系統(tǒng)掃描碼。而鍵盤掃描碼到系統(tǒng)掃描碼的轉(zhuǎn)換通常都是由硬件(如PC鍵盤接口模塊8042)完成。系統(tǒng)掃描碼與鍵盤掃描碼除了每個鍵的代碼不同外,最大的差別是把鍵盤放下時(shí)產(chǎn)生的兩個鍵盤掃描碼(共兩字節(jié))轉(zhuǎn)換為1個字節(jié)的系統(tǒng)掃描碼表示。如‘A’被鍵釋放時(shí),發(fā)送鍵盤掃描碼為:F0H,1CH,相應(yīng)的系統(tǒng)掃描碼為9E。
1.3 鍵碼
內(nèi)核中為了方便鍵盤按鍵的處理,把系統(tǒng)掃描碼對應(yīng)成鍵碼(keycode)。鍵碼在1-128之間(一般的鍵盤為104鍵),這樣鍵碼就可用7位來表示鍵盤上某個鍵(內(nèi)核中用鍵碼字節(jié)的高位表示此鍵是按下還是松開)。
硬件上已經(jīng)實(shí)現(xiàn)了串轉(zhuǎn)并的功能,發(fā)送過來的是一個完整的鍵盤掃描碼,軟件上只要處理這些掃描碼即可。
2. 鍵盤按鍵值的獲取
PC機(jī)的PS2鍵盤按鍵太多,若是采用輪詢方式將浪費(fèi)CPU時(shí)間。因此采用的是中斷方式。通用的鍵值獲取流程如下:
二.實(shí)驗(yàn)原理和說明
1. 鍵盤有關(guān)概念
1.1鍵盤掃描碼
當(dāng)鍵盤上的按鍵被按下或松開的時(shí)候,鍵盤將發(fā)送掃描碼給計(jì)算機(jī)。掃描碼告訴系統(tǒng)什么鍵被按下或松開。例如按鍵'A'。按鍵'A'的掃描碼為1CH。當(dāng)按下鍵'A'時(shí),鍵盤將發(fā)送1CH到串行線上。如果一直按住鍵'A'不放,鍵盤將以一定的重復(fù)率發(fā)送1CH。這個過程將保持下去,直到另外的鍵被按下或者鍵'A'被釋放。
而且,當(dāng)按鍵被釋放的時(shí)候,鍵盤也將發(fā)送其它代碼給計(jì)算機(jī)。還是以鍵'A'為例。當(dāng)鍵'A'被釋放時(shí),鍵盤將發(fā)送F0H給計(jì)算機(jī),報(bào)告有鍵被釋放,隨后再發(fā)送1CH,說明被釋放的鍵是'A',即,鍵'A'釋放時(shí)鍵盤發(fā)送給計(jì)算機(jī)的掃描碼是F0H 1CH。
1.2系統(tǒng)掃描碼
在我們通常所使用的pc機(jī)上,系統(tǒng)(BIOS,linux內(nèi)核)處理的并不是鍵盤掃描碼,而是系統(tǒng)掃描碼。而鍵盤掃描碼到系統(tǒng)掃描碼的轉(zhuǎn)換通常都是由硬件(如PC鍵盤接口模塊8042)完成。系統(tǒng)掃描碼與鍵盤掃描碼除了每個鍵的代碼不同外,最大的差別是把鍵盤放下時(shí)產(chǎn)生的兩個鍵盤掃描碼(共兩字節(jié))轉(zhuǎn)換為1個字節(jié)的系統(tǒng)掃描碼表示。如‘A’被鍵釋放時(shí),發(fā)送鍵盤掃描碼為:F0H,1CH,相應(yīng)的系統(tǒng)掃描碼為9E。
1.3 鍵碼
內(nèi)核中為了方便鍵盤按鍵的處理,把系統(tǒng)掃描碼對應(yīng)成鍵碼(keycode)。鍵碼在1-128之間(一般的鍵盤為104鍵),這樣鍵碼就可用7位來表示鍵盤上某個鍵(內(nèi)核中用鍵碼字節(jié)的高位表示此鍵是按下還是松開)。
硬件上已經(jīng)實(shí)現(xiàn)了串轉(zhuǎn)并的功能,發(fā)送過來的是一個完整的鍵盤掃描碼,軟件上只要處理這些掃描碼即可。
2. 鍵盤按鍵值的獲取
PC機(jī)的PS2鍵盤按鍵太多,若是采用輪詢方式將浪費(fèi)CPU時(shí)間。因此采用的是中斷方式。通用的鍵值獲取流程如下:
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- YamPAD機(jī)械小鍵盤開源分享
- LED驅(qū)動控制/8*3位鍵盤掃描專用電路AiP1638
- 帶鍵盤掃描電路接口的LED驅(qū)動控制專用電路AIP650資料 8次下載
- 單片機(jī)課程設(shè)計(jì)例題8-獨(dú)立式小鍵盤輸入
- 帶鍵盤掃描接口的LED驅(qū)動控制專用芯片TM1639 11次下載
- 基于DSP的LED照明驅(qū)動控制系統(tǒng)設(shè)計(jì)方案 17次下載
- 數(shù)碼管驅(qū)動及鍵盤控制芯片CH450數(shù)據(jù)手冊 10次下載
- PCB設(shè)計(jì):藍(lán)牙小鍵盤資料下載
- BLE實(shí)驗(yàn)詳解之藍(lán)牙鍵盤設(shè)計(jì)方案 58次下載
- PS2鍵盤模塊的驅(qū)動和時(shí)序及行為實(shí)驗(yàn)的資料說明
- 使用筆記本進(jìn)行PROTEL99 PCB制圖不能使用小鍵盤換層按鍵如何解決 0次下載
- 智能鍵盤和LED驅(qū)動接口芯片的設(shè)計(jì) 14次下載
- qt編寫的觸摸小鍵盤 7次下載
- 8255掃描鍵盤、顯示實(shí)驗(yàn)
- 帶鍵盤掃描和LED/LCD驅(qū)動顯示板設(shè)計(jì)及源程序
- 電路驅(qū)動混合類型和數(shù)量的LED 560次閱讀
- 按鍵驅(qū)動的實(shí)驗(yàn) 771次閱讀
- PIC單片機(jī)驅(qū)動LCD段驅(qū)動器的設(shè)計(jì) 1434次閱讀
- 沁恒股份16位數(shù)碼管驅(qū)動及鍵盤控制芯片:CH453概述 3143次閱讀
- 沁恒股份數(shù)碼管驅(qū)動及鍵盤控制芯片: CH455概述 3774次閱讀
- 沁恒股份16位數(shù)碼管驅(qū)動及鍵盤控制芯片:CH456介紹 4283次閱讀
- 沁恒股份16段數(shù)碼管驅(qū)動及鍵盤控制芯片CH454概述 3530次閱讀
- PIC18F8490單片機(jī)可用于連接LCD段驅(qū)動器的設(shè)計(jì) 1339次閱讀
- 各種LED驅(qū)動技術(shù) 8601次閱讀
- 如何用嵌入式Linux系統(tǒng)編寫鍵盤驅(qū)動 1364次閱讀
- 基于MC34063A的LED用恒流驅(qū)動電路的設(shè)計(jì) 1.8w次閱讀
- LED驅(qū)動電路的工作原理和LED驅(qū)動保護(hù) 1.5w次閱讀
- 基于ARM的矩陣鍵盤設(shè)計(jì)及其linux驅(qū)動實(shí)現(xiàn) 3188次閱讀
- 淺談更好的led驅(qū)動電源設(shè)計(jì)方法 1693次閱讀
- 基于ARM9的多行列鍵盤設(shè)計(jì)及其驅(qū)動實(shí)現(xiàn) 2021次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 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 | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(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 | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論