PS2鍵盤鼠標(biāo)識別器畢業(yè)設(shè)計PPT.ppt_第1頁
PS2鍵盤鼠標(biāo)識別器畢業(yè)設(shè)計PPT.ppt_第2頁
PS2鍵盤鼠標(biāo)識別器畢業(yè)設(shè)計PPT.ppt_第3頁
PS2鍵盤鼠標(biāo)識別器畢業(yè)設(shè)計PPT.ppt_第4頁
PS2鍵盤鼠標(biāo)識別器畢業(yè)設(shè)計PPT.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PS/2鍵盤鼠標(biāo)識別器,姓 名:趙宏志 班 級:通信092 學(xué) 號:0906220242 指導(dǎo)老師:趙立權(quán),目錄,一、課題的目的以及意義 二、PS/2鍵盤、鼠標(biāo)協(xié)議 三、PS/2鍵盤接口設(shè)計 四、PS/2鼠標(biāo)接口設(shè)計 五、結(jié)論,一、課題的目的以及意義,1.什么是PS/2 PS/2接口是計算機(jī)發(fā)展到一定階段的一種接口規(guī)范,是1987年,IBM推出的鍵盤接口標(biāo)準(zhǔn),支持雙向串行通訊協(xié)議。鍵盤和鼠標(biāo)上的口是Male(公的),稱為Plug(插頭)。主板上的接口是Female(母的),稱為Socket(插座)。因此,這兩個就分別是Plug Socket,簡稱PS而已,又因為其支持雙向通信協(xié)議,故稱為PS/2接口。一般情況下,PS/2接口的鼠標(biāo)為綠色,鍵盤為紫色。,2.為什么研究PS/2 在單片機(jī)系統(tǒng)中,經(jīng)常使用的鍵盤都是專用鍵盤。此類鍵盤為單獨設(shè)計制作的,成本高,使用硬件連接線多,而且可靠性不高,這一狀況在那些要求鍵盤按鍵較多的應(yīng)用系統(tǒng)中更為突出。與此相比,在PC系統(tǒng)中廣泛應(yīng)用PS/2鍵盤具有價格低,通用可靠而且連接線少(僅使用2根信號線)的特點,并且可滿足多種系統(tǒng)的要求。因此在單片機(jī)系統(tǒng)中應(yīng)用PS/2鍵盤是一種很好的選擇。,二、PS/2鍵盤鼠標(biāo)協(xié)議,5腳DIN連接器,6腳DIN連接器,1.PS/2的物理接口,2.PS/2鍵盤鼠標(biāo)協(xié)議,從鍵盤/鼠標(biāo)發(fā)送到主機(jī)的數(shù)據(jù)在時鐘信號的下降沿(當(dāng)時鐘從高變到低的時候)被讀取;從主機(jī)發(fā)送到鍵盤/鼠標(biāo)的數(shù)據(jù)在上升沿(當(dāng)時鐘從低變到高的時候)被讀取。不管通訊的方向怎樣,鍵盤/鼠標(biāo)總是產(chǎn)生時鐘信號。如果主機(jī)要發(fā)送數(shù)據(jù),它必須首先告訴設(shè)備開始產(chǎn)生時鐘信號(這個過程在下一章節(jié)中被描述)最大的時鐘頻率是33KHZ,而且大多數(shù)設(shè)備工作在10-20KHZ。如果你要制作一個PS/2設(shè)備,我推薦你把頻率控制在15KHZ左右。這就意味著時鐘應(yīng)該是高40微秒低40微秒。 所有數(shù)據(jù)安排在字節(jié)中,每個字節(jié)為一幀,包含了11-12個位。這些位的含義如下:,數(shù)據(jù)幀格式說明,如果數(shù)據(jù)位中包含偶數(shù)個1,校驗位就會置1;如果數(shù)據(jù)位中包含奇數(shù)個1,校驗位就會置0。數(shù)據(jù)位中1的個數(shù)加上校驗位總是為奇數(shù)(這就是奇校驗)這是用來進(jìn)行錯誤檢測的。,3.設(shè)備到主機(jī)的通訊過程,數(shù)據(jù)幀格式,設(shè)備到主機(jī)每位在時鐘的下降沿被主機(jī)讀入,4.主機(jī)到設(shè)備的通訊,被發(fā)送的包有點不同于主機(jī)到設(shè)備通訊過程首先,PS/2設(shè)備總是產(chǎn)生時鐘信號。如果主機(jī)要發(fā)送數(shù)據(jù),它必須首先把時鐘和數(shù)據(jù)線設(shè)置為“請求發(fā)送”狀態(tài),如下示: 1)通過下拉時鐘線至少100微秒來抑制通訊。 2)通過下拉數(shù)據(jù)線來應(yīng)用“請求發(fā)送”然后釋放時鐘。 設(shè)備應(yīng)該在不超過10毫秒的間隔內(nèi)就要檢查這個狀態(tài)。當(dāng)設(shè)備檢測到這個狀態(tài),它將開始產(chǎn)生時鐘信號,并且時鐘脈沖標(biāo)記下輸入八個數(shù)據(jù)位和一個停止位。主機(jī)僅當(dāng)時鐘線為低的時候改變數(shù)據(jù)線,而數(shù)據(jù)在時鐘脈沖的上升沿被鎖存。當(dāng)發(fā)生在設(shè)備到主機(jī)通訊的過程中時正好相反。,主機(jī)到設(shè)備的通信,詳細(xì)過程如下,三、PS/2鍵盤接口設(shè)計,1.怎么確定按鍵 掃描碼:鍵盤的處理器花費很多的時間來掃描或監(jiān)視按鍵矩陣。如果它發(fā)現(xiàn)有鍵被按下,釋放或按住,鍵盤將發(fā)送“掃描碼”的信息包到計算機(jī)。掃描碼有兩種不同的類型:“通碼”和“斷碼”。當(dāng)一個鍵被按下或按住就發(fā)送通碼;當(dāng)一個鍵被釋放就發(fā)送斷碼。每個按鍵被分配了唯一的通碼和斷碼,這樣主機(jī)通過查找唯一的掃描碼就可以測定是哪個按鍵。每個鍵一整套的通斷碼組成了“掃描碼集”。,第二套掃描碼集部分按鍵的通碼斷碼,2.實例說明具體流程 通碼和斷碼是以什么樣的序列發(fā)送到你的計算機(jī),使得字符“G”出現(xiàn)在你的字處理軟件里呢?因為這是一個大寫字母,需要發(fā)生這樣的事件次序:按下“Shift”鍵按下“G”鍵,釋放“G”鍵,釋放“Shift”鍵。與這些時間相關(guān)的掃描碼如下“Shift”鍵的通碼(12h),“G”鍵的通碼(34h),“G”鍵的斷碼(F0h,34h),“Shift”鍵的斷碼(F0h,12h)。因此,發(fā)送到你的計算機(jī)的數(shù)據(jù)應(yīng)該是:12h,34h ,F(xiàn)0h,34h,F(xiàn)0h,12h。,與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;4k字節(jié)可重擦寫Flash閃速存儲器;1000次擦寫周期;有10年數(shù)據(jù)保留時間;全靜態(tài)操作:0Hz24MHz;三級加密程序存儲器;1288字節(jié)內(nèi)部RAM;32個可編程I/O口線;2個16位定時/計數(shù)器;6個中斷源;可編程串行UART通道;低功耗空閑和掉電模式;片內(nèi)振蕩器和時鐘電路,3.芯片介紹,P3.0接PS/2數(shù)據(jù)線;P3.2(INT0)接PS/2時鐘線。因為單片機(jī)的P3口內(nèi)部是帶上拉電阻的,所以PS/2的時鐘線和數(shù)據(jù)線可以直接與單片機(jī)的P.0,P3.2相連接。,4.PS/2鍵盤與單片機(jī)的連接圖,5.軟件設(shè)計程序,驅(qū)動及鍵盤碼的映射和部分按鍵服務(wù)程序由中斷服務(wù)程序完成,鍵盤鍵值通過全局變量傳遞給主程序,主程序只要查詢標(biāo)志位,當(dāng)有鍵按下時,執(zhí)行相應(yīng)的程序,在這里,筆者完成了全拼的輸入法程序,并通過了試驗驗證。,四、PS/2鼠標(biāo)接口設(shè)計,1.如何確定鼠標(biāo)移動并移動多少 標(biāo)準(zhǔn)的PS/2鼠標(biāo)支持下面的輸入:X(左右)位移,Y(上下)位移,左鍵,中鍵和右鍵。鼠標(biāo)以一個固定的頻率讀取這些輸入并更新不同的計數(shù)器,然后標(biāo)記出反映的移動和按鍵狀態(tài)。標(biāo)準(zhǔn)的鼠標(biāo)有兩個計數(shù)器保持位移的跟蹤:X位移計數(shù)器和Y位移計數(shù)器??纱娣?位的2進(jìn)制補(bǔ)碼并且每個計數(shù)器都有相關(guān)的溢出標(biāo)志。它們的內(nèi)容連同三個鼠標(biāo)按鈕的狀態(tài)一起以三字節(jié)移動數(shù)據(jù)包的形式發(fā)送給主機(jī)。位移計數(shù)器表示從最后一次位移數(shù)據(jù)包被送往主機(jī)后有位移量發(fā)生。當(dāng)鼠標(biāo)讀取它的輸入的時候,它記錄按鍵的當(dāng)前狀態(tài),然后檢查位移。如果位移發(fā)生,它就增加(對正位移)或減少(對負(fù)位移)X和/或Y位移計數(shù)器的值。如果有一個計數(shù)器溢出了,就設(shè)置相應(yīng)的溢出標(biāo)志。,2.位移數(shù)據(jù)包 標(biāo)準(zhǔn)的PS/2鼠標(biāo)發(fā)送位移和按鍵信息給主機(jī)采用如下,位移計數(shù)器是一個9位2的補(bǔ)碼整數(shù).它的最高位作為16符號位出現(xiàn)在位移數(shù)據(jù)包的第一個字節(jié)里。這些計數(shù)器在鼠標(biāo)讀取輸入發(fā)現(xiàn)有位移時被更新。這些值是自從最后一次發(fā)送位移數(shù)據(jù)包給主機(jī)后位移的累計量(即最后一次包發(fā)給主機(jī)后,位移計數(shù)器被復(fù)位)。位移計數(shù)器可表示的值的范圍是-255到+255.如果超過了范圍,相應(yīng)的溢出位就被設(shè)置,并且在復(fù)位前,計數(shù)器不會增減。,3.PS/2鼠標(biāo)工作模式,PS/2鼠標(biāo)有4種工作模式: 復(fù)位模式。當(dāng)上電或收到復(fù)位指令FFH后鼠標(biāo)即處于此模式。鼠標(biāo)進(jìn)行自檢和初始化,再向主機(jī)發(fā)送 0xFA,0xAA,0x00H。一些參數(shù)將恢復(fù)到默認(rèn)值:采樣率為100次/s、非自動速度、流模式、分辨率為4計數(shù)/mm、禁止?fàn)顟B(tài)。 流模式。如果有按鍵或滾輪動作,即向系統(tǒng)發(fā)送信息,最大發(fā)送速率就是可編程的采樣率。 遙控模式。只有在主機(jī)發(fā)送了模式設(shè)置命令0xFO后,鼠標(biāo)才進(jìn)入這種模式。 卷繞(Wrap)模式。這種模式只用于測試鼠標(biāo)與主機(jī)連接是否正確,在該模式下鼠標(biāo)收到什么就返回什么,除非收到退出卷繞指令ECH或復(fù)位指令FFH。 正常工作時可以采用遙控模式,定時向鼠標(biāo)讀取數(shù)據(jù)。大多數(shù)應(yīng)用系統(tǒng)使用流模式,即程序中的缺省模式,該模式下鼠標(biāo)有任何動作都將自動報告給主機(jī)。,4.鼠標(biāo)的數(shù)據(jù)傳送幀過程詳解,1.不論是PS/2鼠標(biāo)發(fā)送信息還是接收指令,都是由PS/2鼠標(biāo)生成CLK定時信號。 2.數(shù)據(jù)從PS/2鼠標(biāo)到系統(tǒng):只有當(dāng)CLK和DATA都為1時,PS/2鼠標(biāo)才會發(fā)送數(shù)據(jù),每幀數(shù)據(jù)由 11位組成,每1位都在CLK的下降沿有效,直到CLK的上升沿。 3.數(shù)據(jù)從系統(tǒng)到PS/2鼠標(biāo):當(dāng)系統(tǒng)需要發(fā)送指令至PS/2鼠標(biāo)時,先由系統(tǒng)強(qiáng)制將CLK為低電平至少100bts,然后從DATA送出起始位0,再釋放CIK。PS/2鼠標(biāo)檢測到CLK的上升沿和DATA=0,即發(fā) 出11個CLK時鐘(頻率約11KHz),系統(tǒng)應(yīng)該在CLK的每個上升沿之前將指令逐位送到 DATA線 。,數(shù)據(jù)傳送幀格式,5.單片機(jī)和PS/2鼠標(biāo)的硬件接口,由于PS/2接口中CLK和DATA信號都是雙向的,PS/2鼠標(biāo)的CLK和DATA采用開漏輸出,并且有內(nèi)部上拉電阻。單片機(jī)和PS/2鼠標(biāo)的硬件接口非常簡單,以89C51單片機(jī)為例,PS/2鼠標(biāo)的CLK接到 89C51的INT0,INOT作為外部中斷下沿觸發(fā)。DATA接到P10或其他

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論