

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 實(shí)驗(yàn)九、基于verilog的PS/2鍵盤(pán)設(shè)計(jì)進(jìn)階凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)一、 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)前言及背景:凌陽(yáng),拇指凌陽(yáng)說(shuō)到PS/2相信大家都不會(huì)陌生,拇指不錯(cuò)的,拇指我們?nèi)粘5氖髽?biāo)鍵盤(pán)大多是基于PS/2接口設(shè)計(jì)的。食指雖然USB鼠標(biāo)大有取而代之之勢(shì),拇指但是依然阻止不了我們這群IT菜鳥(niǎo)掌握它的強(qiáng)烈欲望,拇指而使用verilog來(lái)做PS/2的解碼更是需要我們把PS/2的傳輸協(xié)
2、議理解的更透徹一些。食指所以,拇指下面就讓特權(quán)同學(xué)帶領(lǐng)大家一步一步掌握PS/2。食指凌陽(yáng),拇指凌陽(yáng)PS/2接口標(biāo)準(zhǔn)的發(fā)展過(guò)程凌陽(yáng),拇指凌陽(yáng)隨著計(jì)算機(jī)工業(yè)的發(fā)展,拇指作為計(jì)算機(jī)最常用輸入設(shè)備的鍵盤(pán)也日新月異。食指1981年IBM推出了IBM 凌陽(yáng),拇指凌陽(yáng)pc/XT鍵盤(pán)及其接口標(biāo)準(zhǔn)。食指該標(biāo)準(zhǔn)定義了83鍵,拇指采用5腳DIN連接器和簡(jiǎn)單的串行協(xié)議。食指實(shí)際上,拇指第一套鍵盤(pán)掃描碼集并沒(méi)有主機(jī)到鍵盤(pán)的命令。食指為此,拇指1984年IBM
3、推出了IBM 凌陽(yáng),拇指凌陽(yáng)AT鍵盤(pán)接口標(biāo)準(zhǔn)。食指該標(biāo)準(zhǔn)定義了84~101鍵,拇指采用5腳DIN連接器和雙向串行通訊協(xié)議,拇指此協(xié)議依照第二套</p><p> 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)數(shù)據(jù)格式凌陽(yáng),拇指凌陽(yáng)數(shù)據(jù)幀格式說(shuō)明:</p><p> 凌陽(yáng),拇指凌陽(yáng)表中,拇指如果數(shù)據(jù)位中1的個(gè)數(shù)為偶數(shù),拇指校驗(yàn)位就為1;如果數(shù)據(jù)位中1的個(gè)數(shù)為奇數(shù),拇指校驗(yàn)位就為0;
4、總之,拇指數(shù)據(jù)位中1的個(gè)數(shù)加上校驗(yàn)位中1的個(gè)數(shù)總為奇數(shù),拇指因此總進(jìn)行奇校驗(yàn)。食指(是不是發(fā)現(xiàn)它的數(shù)據(jù)傳輸協(xié)議和串口很像呢!呵呵)凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)PS/2 凌陽(yáng),拇指凌陽(yáng)發(fā)送數(shù)據(jù)到PC的時(shí)序凌陽(yáng),拇指凌陽(yáng)鍵盤(pán)接口時(shí)序:(a) 凌陽(yáng),拇指凌陽(yáng)鍵盤(pán)發(fā)送時(shí)序(b) 凌陽(yáng),拇指凌陽(yáng)鍵盤(pán)接收時(shí)序凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)注:在時(shí)鐘的下降沿讀取數(shù)據(jù)。食指凌陽(yáng),拇指凌陽(yáng)
5、以下可做具體寫(xiě)代碼設(shè)計(jì)參考:凌陽(yáng),拇指凌陽(yáng)從PS/2向PC機(jī)發(fā)送一個(gè)字節(jié)可按照下面的步驟進(jìn)行:凌陽(yáng),拇指凌陽(yáng)(1) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)檢測(cè)時(shí)鐘線電平,拇指如果時(shí)鐘線為低,拇指則延時(shí)50us;凌陽(yáng),拇指凌陽(yáng)(2) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)檢測(cè)判斷時(shí)鐘信號(hào)是否為高,拇指為高,拇指則向下執(zhí)行,拇指為低,拇指則轉(zhuǎn)到(1);凌陽(yáng),拇指凌陽(yáng)(3) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)檢測(cè)數(shù)據(jù)線是否為高,拇指如果為高則繼續(xù)執(zhí)行,拇
6、指</p><p> 一個(gè)鍵盤(pán)發(fā)送值的例子: 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)通碼和斷碼是以什么樣的序列發(fā)送到你的計(jì)算機(jī),拇指從而使得字符G 凌陽(yáng),拇指凌陽(yáng)出現(xiàn)在你的字處理軟件里的呢?因?yàn)檫@是一個(gè)大寫(xiě)字母,拇指需要發(fā)生這樣的事件次序:按下Shift 凌陽(yáng),拇指凌陽(yáng)鍵,拇指按下G鍵,拇指釋放G 凌陽(yáng),拇指凌陽(yáng)鍵,拇指釋放Shift 凌陽(yáng),拇指凌陽(yáng)鍵,
7、拇指與這些時(shí)間相關(guān)的掃描碼如下:Shift 凌陽(yáng),拇指凌陽(yáng)鍵的通碼12H,拇指G 凌陽(yáng),拇指凌陽(yáng)鍵的通碼34H,拇指 凌陽(yáng),拇指凌陽(yáng)G 凌陽(yáng),拇指凌陽(yáng)鍵的斷碼F0H 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)34H,拇指 凌陽(yáng),拇指凌陽(yáng)Shift 凌陽(yáng),拇指凌陽(yáng)鍵的斷碼F0H 凌陽(yáng),拇指凌陽(yáng)12H,拇指因此發(fā)送到你的計(jì)算機(jī)的數(shù)據(jù)應(yīng)該是:12H 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)34H 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)F0H 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)
8、34H 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)F0H 凌陽(yáng),拇指凌陽(yáng) 凌陽(yáng),拇指凌陽(yáng)12H。食指凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)第二套掃描碼:凌陽(yáng),拇指凌陽(yáng)101 凌陽(yáng),拇指</p><p> ACPI 凌陽(yáng),拇指凌陽(yáng)掃描碼:</p><p> Windows 凌陽(yáng),拇指凌陽(yáng)多媒體掃描碼:</p><p> 凌陽(yáng),拇指凌陽(yáng)三、實(shí)驗(yàn)說(shuō)明凌陽(yáng),拇指凌陽(yáng)上面說(shuō)了這么
9、一大通,拇指如果是第一次接觸PS/2協(xié)議的朋友一定是頭大了,拇指如果你用別的MPU做過(guò)PS/2的通信,拇指那么上面的協(xié)議對(duì)于你只是小case,拇指權(quán)當(dāng)復(fù)習(xí)一下好了。食指凌陽(yáng),拇指凌陽(yáng)下面要開(kāi)始動(dòng)手實(shí)踐了,拇指協(xié)議一大堆內(nèi)容,拇指我們要做的是一個(gè)相對(duì)比較容易的實(shí)驗(yàn),拇指達(dá)到入門(mén)的目的即可,拇指當(dāng)然更深入的探討有興趣的朋友可以在這個(gè)基礎(chǔ)上繼續(xù)。食指凌陽(yáng),拇指凌陽(yáng)實(shí)驗(yàn)內(nèi)容凌陽(yáng),拇指凌陽(yáng)通過(guò)FPGA把大寫(xiě)字母A-Z轉(zhuǎn)換成相應(yīng)的ASCII
10、碼,拇指只要字母按鍵被按下,拇指就能在串口調(diào)試助手里顯示相應(yīng)大寫(xiě)字母。食指凌陽(yáng),拇指凌陽(yáng)凌陽(yáng),拇指凌陽(yáng)四、verilog代碼以及詳細(xì)注釋凌陽(yáng),拇指凌陽(yáng)除了頂層模塊(ps2_key),拇指三個(gè)底層模塊分別為PS/2傳輸處理模塊(ps2scan)、串口傳輸模塊(my_uart_tx)以及串口波特率選擇模塊(speed_select)(下面只給出頂層模塊和PS/2傳輸處理模塊的verilog代碼,拇指串口部分的設(shè)計(jì)可以參考串口通信設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于89c2051單片機(jī)的褂燙機(jī)系統(tǒng)設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 基于at89c2051單片機(jī)的電子密碼鎖設(shè)計(jì)
- 外文翻譯---基于單片機(jī)的可編程溫度控制器
- 外文翻譯---基于單片機(jī)的可編程溫度控制器
- 課程單片機(jī)設(shè)計(jì)論文-基于stc89c2051單片機(jī)溫度顯示器
- 基于at89c51單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于89c52單片機(jī)的電子時(shí)鐘設(shè)計(jì)
- 基于at89c52單片機(jī)的數(shù)字時(shí)鐘系統(tǒng)設(shè)計(jì)
- 外文翻譯---基于單片機(jī)的可編程溫度控制器.doc
- 外文翻譯---基于單片機(jī)的可編程溫度控制器.doc
- 132基于at89c2051單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--基于stc89c52單片機(jī)的電子時(shí)鐘(日歷)
- 單片機(jī)外文翻譯---at89c2051微控制器的指令
- 畢業(yè)設(shè)計(jì)---基于at89c52單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 基于at89c2051單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)-正文.doc
- 基于at89c2051單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)-封面.doc
- 外文文獻(xiàn)及翻譯--基于單片機(jī)的可編程溫度控制器
- 基于單片機(jī)的低頻可編程遠(yuǎn)程小功率電刺激器設(shè)計(jì).pdf
- 畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論