PS2通信協(xié)議說明與接口定義鍵盤和鼠標_第1頁
PS2通信協(xié)議說明與接口定義鍵盤和鼠標_第2頁
PS2通信協(xié)議說明與接口定義鍵盤和鼠標_第3頁
PS2通信協(xié)議說明與接口定義鍵盤和鼠標_第4頁
PS2通信協(xié)議說明與接口定義鍵盤和鼠標_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PS2鍵盤與鼠標的接口定義針腳定義:Make 公的公的female 母的母的6 * Mmi-DIXlPS 2)【一數(shù)揩【一數(shù)揩2未實現(xiàn)未實現(xiàn)”螺留螺留3 電源地電源地4 一電源一一電源一 Vpi頓插頭頓插頭(SockeO 插座插座5-Wi6-未疝未疝.flffl.flffl原理PS2鼠標接口采用一種雙向同步串行協(xié)議?即每在時鐘線上發(fā)一個脈沖,就在數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)?在相互傳輸中,主機擁有總線控制權(quán),即它可以在任何時候抑制鼠標的發(fā)送?方法是把時鐘線一直拉低,鼠標就不能產(chǎn)生時鐘信號和發(fā)送數(shù)據(jù)?在兩個方向的傳輸中,時鐘信號都是由鼠標產(chǎn)生,即主機不產(chǎn)生通信時鐘信號?如果主機要發(fā)送數(shù)據(jù),它必須控制鼠標

2、產(chǎn)生時鐘信號?方法如下:主機首先下拉時鐘線至少100 ps抑制通信,然后再下拉數(shù)據(jù)線,最后釋放時鐘線?通過這一時序控制鼠標產(chǎn)生時鐘信號 ?當鼠標檢測到這個 時序狀態(tài),會在10ms內(nèi)產(chǎn)生時鐘信號?如圖3中A時序段?主機和鼠標之間,傳輸數(shù)據(jù)幀的時序如圖2?圖3所示?2.2數(shù)據(jù)包結(jié)構(gòu)在主機程序中,利用每個數(shù)據(jù)位的時鐘脈沖觸發(fā)中斷 ,在中斷例程中實現(xiàn)數(shù)據(jù)位 的判斷和接收?在實驗過程中,通過合適的編程,能夠正確控制并接收鼠標數(shù)據(jù) ?但該方案有一點不足,由 于每個CLOC睹E要產(chǎn)生一次中斷,中斷頻繁,需要耗用大量的主機資源?時仲Lf_Lr_Ln_r_Ln_r_L_njLrLj_uft 停 止 位位ffi

3、2鼠標到主機的傳村酎序ffiffi 3 3射機到依標的修射機到依標的修1 1 時序時序PS2鼠標的四種工作模式是:Reset模式,當鼠標上電或主機發(fā)復(fù)位命令0 xFF給它時進入這種模式;Stream模式鼠標的默認模式,當鼠標上電或復(fù)位完成后,自動進入此模式,鼠標基本上以此模式工作;Remote模式,只有在主機發(fā)送了模式設(shè)置命令0 xF0后,鼠標才進入這種模式;Wrap模式,這種模式只用位位7 7散攜散攜位位6 6敷敷ffffi i位位3 3數(shù)據(jù)數(shù)據(jù)位位4 4數(shù)推位數(shù)推位3 3 詔位詔位2 2數(shù)數(shù)% %位位數(shù)據(jù)數(shù)據(jù)位位O O起始位起始位_ _J J_ _Z Z應(yīng)應(yīng)答位答位L LJ J停止位停止位

4、校校f ft t位位數(shù)數(shù)贍位贍位T TLJLJL Lftft攜位攜位6 6UL LJ J歌歌ffiffi位位4 4妝妝3 3 L Lfttfttt t位位2 2L LJ JL L歡蛔歡蛔位位U U致?lián)聯(lián)晃籓 O L L起始起始位位忡忡S S時時A A于測試鼠標與主機連接是否正確?PS2鼠標在工作過程中,會及時把它的狀態(tài)數(shù)據(jù)發(fā)送給主機?發(fā)送的數(shù)據(jù)包格式如表1所示?Bytel中的Bit0?Bit1?Bit2分別表示左?右?中鍵的狀態(tài),狀態(tài)值0表示釋放,1表示按下?Byte2和Byte3分別表示X軸和Y軸方向的移動計量值,是二進制補碼值?Byte4的低四位表示滾輪的移動計量值,也是二進制補碼值,

5、高四位作為擴展符號位 ?這種數(shù)據(jù)包由帶滾輪的三鍵三維鼠標產(chǎn)生?若是不帶滾輪的三鍵鼠標,產(chǎn)生的數(shù)據(jù)包沒有Byte4其余的相同?KI R稱發(fā)遇的裁椎包臨人稱發(fā)遇的裁椎包臨人一.PS2鼠標鍵盤協(xié)議PC鍵盤可以有6腳的mini-DIN或5腳的DIN連接器如果你的鍵盤是6腳的mini-DIN而你的計算機是5腳的DIN或者相反這兩類連接器可以用上面提到的適配器來兼容具有6腳mini-DIN的鍵盤通常被叫做PS2鍵盤而那些有5腳DIN叫做AT設(shè)備XT鍵盤也使用5腳DIN但它們非常古老并且多 年前就不生產(chǎn)了所有現(xiàn)代的為PC建造的鍵盤不是PS2,AT就是USB的這篇文章不適用于USB設(shè)備它們使用了 一種完全不同

6、的接口。 每種連接器的引腳定義如下所示在剛才提到連接器上有四個有趣的管腳電源地5V數(shù)據(jù)和時鐘host計算機提供5V并且鍵盤/鼠標的地連接到host的電源地上數(shù)據(jù)和時鐘都是集電極開路的這就意味著它們通常保持高電平而且很容 易下拉到地邏輯0任何你連接到PS/2鼠標鍵盤或host的設(shè)備在時鐘和數(shù)據(jù)線上要PS2技術(shù)參考 著Adam Chapweske譯Roy Show第4頁共4頁02-11-22發(fā)布有一個大的上拉電阻置0就把線拉低置1就讓線上浮成高電平參考圖1中數(shù)據(jù)和時鐘線的一般接口結(jié)構(gòu)注意如果你打算使用象PIC這樣的微控制器由于它們的I/O管腳是雙向的你可以跳過晶體管和緩沖門并且通用同一個管腳進行輸

7、入和輸出在 這種組態(tài)情況下要設(shè)置管腳為輸入就寫入1使得電阻上拉線上的電平要改變管腳為輸出就寫入0到那個管腳把線路下拉到地。)PS/2鼠標和鍵盤履行一種雙向同步串行協(xié)議。換句話說每次數(shù)據(jù)線上發(fā)送一位數(shù)據(jù)并且每在時鐘線上發(fā)一個脈沖就被讀入。鍵盤/鼠標可以發(fā)送數(shù)據(jù)到主機,而主機也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機總是在總線上有優(yōu)先權(quán),它可以在任何時候抑制來自于鍵盤/鼠標的通訊,只要把時鐘拉低即可。從鍵盤/鼠標發(fā)送到主機的數(shù)據(jù)在時鐘信號的下降沿當時鐘從高變到低的時候被讀取從主機發(fā)送 到鍵盤/鼠標的數(shù)據(jù)在上升沿(當時鐘從低變到高的時候)被讀?。徊还芡ㄓ嵉姆较蛟鯓渔I盤/鼠標總是產(chǎn)生時鐘信號如果主機要發(fā)送數(shù)據(jù)它必須

8、首先告訴設(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ù)個1,校驗位就會置1;如果數(shù)據(jù)位中包含奇數(shù)個1 ,校驗位就會置0。數(shù)據(jù)位中1的個數(shù)加上校驗位總為奇數(shù)(這就是奇校驗)這是用來錯誤檢測。當主機發(fā)送數(shù)據(jù)給鍵盤/鼠標時,設(shè)備回送一個握手信號來應(yīng)答數(shù)據(jù)包已經(jīng)收到。這個位不會出現(xiàn)在設(shè)備發(fā)送數(shù)據(jù)到主機的過程中。設(shè)備到主機的通訊過

9、程:數(shù)據(jù)和時鐘線都是集電極開路結(jié)構(gòu)(正常保持高電平)。當鍵盤或鼠標等待發(fā)送數(shù)據(jù)時,它首先檢查時鐘以確認它是否是高電平。如果不是,那么是主機抑制了通訊,設(shè)備必須緩沖任何要發(fā)送的數(shù)據(jù)直到重新獲得總線的控制權(quán)(鍵盤有16字節(jié)的緩沖區(qū)而鼠標的緩沖區(qū)僅存儲最后一個要發(fā)送的數(shù)據(jù)包) 如果時鐘線是高電平,設(shè)備就可以開始傳送數(shù)據(jù)。如我在上一節(jié)提及的,鍵盤和鼠標使用一種每幀包含1 start bit. This is always 0.8 data bits, least significant bit first.1 parity bit (odd parity).1 stop bit. This is al

10、ways 1.每位在時鐘的下降沿被主機讀入,如圖時鐘頻率為10 16.7kHz。從時鐘脈沖的上升沿到一個數(shù)據(jù)轉(zhuǎn)變的時間至少要有5微秒。數(shù)據(jù)變化到時鐘脈沖的下降沿的時間至少要有5微秒并且不大于25微秒。這個定時非常重要你應(yīng)該嚴格遵循它。主機可以在第11個時鐘脈沖(停止位)之前把線拉低,導(dǎo)致設(shè)備放棄發(fā)送當前字節(jié)(這是非常罕 見的)。在停止位發(fā)送后,設(shè)備在發(fā)送下個包前至少應(yīng)該等待50毫秒。這將給主機時間當它處理接收到的字節(jié)時抑制發(fā)送(主機在收到每個包時,通常自動做這個)。在主機釋放抑制后,設(shè)備至少應(yīng)該在發(fā)送任何數(shù)據(jù)前等50毫秒。 我推薦下面的過程發(fā)送一個單一字節(jié)從仿真鍵盤/鼠標到主機:1)等待Clo

11、ck = high2)延時50微秒3)Clock s仍舊為high? No到第1步4)Data = high?No放棄(并且從主機讀取字節(jié))5)延遲20毫秒(=40微秒to the time Clock is pulled low in sending the start bit.)6)輸出起始位(0) /在發(fā)送所有這些位的每一位后7)輸出8個數(shù)據(jù)位測試時鐘確認主機是否把它拉低了8)輸出校驗位/這說明主機要放棄這次10)延遲30毫秒(=50微秒from the tim傳送9)輸出停止位(1) e Clock is released in sending the stop bit)按如下的過程發(fā)

12、送單個位:1)Set/Reset Data2)Delay 20 microseconds3)Bring Clock low4)Delay 40 microseconds5)Release Clock6)Delay 20 microseconds1)設(shè)置/復(fù)位數(shù)據(jù)2)延遲20微秒3)把時鐘拉低4)延遲40微秒5)釋放時鐘11位的串行協(xié)議。這些位含義是:1個起始位總是為08個數(shù)據(jù)位低位在前1個校驗位奇校驗1個停止位總是為12和3所示6)延遲20微秒主機到設(shè)備的通訊被發(fā)送的包有點不同于主機到設(shè)備通訊過程。首先,PS2設(shè)備總是產(chǎn)生時鐘信號。如果主機要發(fā)送數(shù)據(jù),它必須首先把時鐘和數(shù)據(jù)線設(shè)置為請求 發(fā)送狀

13、態(tài),如下示:通過下拉時鐘線至少100微秒來抑制通訊。通過下拉數(shù)據(jù)線來應(yīng)用請求發(fā)送,然后釋放時鐘。設(shè)備應(yīng)該在不超過10毫秒的間隔內(nèi)就要檢查這個狀態(tài)。當設(shè)備檢測到這個狀態(tài),它將開始產(chǎn)生 時鐘信號,并且時鐘脈沖標記下輸入八個數(shù)據(jù)位和一個停止位。主機僅當時鐘線為低的時候改變數(shù)據(jù)線,而數(shù)據(jù)在時鐘脈沖的上升沿被鎖存。這在發(fā)生在設(shè)備到主機通訊的過程中正好相反。在停止位發(fā)送后,設(shè)備要應(yīng)答接收到的字節(jié),就把數(shù)據(jù)線拉低并產(chǎn)生最后一個時鐘脈沖。如果主 機在第11個時鐘脈沖后不釋放數(shù)據(jù)線,設(shè)備將繼續(xù)產(chǎn)生時鐘脈沖直到數(shù)據(jù)線被釋放(然后設(shè)備將產(chǎn)生 一個錯誤)。主機可以在第11個時鐘脈沖(應(yīng)答位)前中止一次傳送,只要下拉時

14、鐘線至少100微秒。要使得這個過程易于理解,主機必須按下面的步驟發(fā)送數(shù)據(jù)到PS2設(shè)備:1)把時鐘線拉低至少100微秒2)把數(shù)據(jù)線拉低3)釋放數(shù)據(jù)線4)等待設(shè)備把時鐘線拉低5)設(shè)置/復(fù)位數(shù)據(jù)線發(fā)送第一個數(shù)據(jù)位6)等待設(shè)備把時鐘拉高7)等待設(shè)備把時鐘拉低8)重復(fù)5-7步發(fā)送剩下的7個數(shù)據(jù)位和校驗位9)釋放數(shù)據(jù)線10)等待設(shè)備把數(shù)據(jù)線拉低11)等待設(shè)備把時鐘線拉低12)等待設(shè)備釋放數(shù)據(jù)線和時鐘線圖3用圖形表示圖4以單獨的時序表示了由主機產(chǎn)生的信號。及由PS2設(shè)備產(chǎn)生的信號。注意應(yīng)答 位時序的改變-數(shù)據(jù)改變發(fā)生在時鐘線為高的時候(不同于其它11位是當它為低的時候)。圖4描述了兩個重要的定時條件:a和b

15、。a在主機最初把書記現(xiàn)拉低后,設(shè)備開始產(chǎn)生時鐘脈沖的時間,必須步大于15ms ; b數(shù)據(jù)包被發(fā)送的時間必須不大于2ms。如果這兩個條件不滿足,主機將產(chǎn)生一個錯誤。在包收到后,主機為了處理數(shù)據(jù)立刻把時鐘線拉低來抑制通訊。如果主機發(fā)送的命令要求有一個回應(yīng),這個回應(yīng)必須在書籍釋放時鐘線后20ms之內(nèi)被收到。如果沒有收到,則主機產(chǎn)生一個錯誤。在設(shè)備到主機通訊的情況中,時鐘改變后的5微秒內(nèi)不應(yīng)該發(fā)生數(shù)據(jù)改變的情況。如果呢要仿真一個鼠標或鍵盤,我推薦你按如下的過程從主機讀入數(shù)據(jù);在你的主程序中,至少每10毫秒檢測數(shù)據(jù)線是否為低。如果數(shù)據(jù)線已被主機拉低,則從主機讀取一個字節(jié)。1)等待時鐘線為高2)數(shù)據(jù)線仍然

16、為低嗎 不-有錯誤發(fā)生;放棄。3)讀入8個數(shù)據(jù)位/在讀入這些位后4)讀入校驗位測試時鐘線數(shù)否被主機拉低5)讀入停止位/這就意味著放棄這次傳送6)數(shù)據(jù)線仍舊為0嗎?是保持時鐘直到數(shù)據(jù)=1然后產(chǎn)生一個錯誤7)輸出應(yīng)答位8)檢查校驗位如果校驗位不正確則產(chǎn)生一個錯誤9)延退45微秒(給主機時間抑制下次的傳送)按如下次序讀取每位(8個數(shù)據(jù)位檢驗位和停止位)1)延退20微秒2)把時鐘拉低3)延退40微秒4)釋放時鐘5)延退20微秒7)讀數(shù)據(jù)線按如下次序發(fā)送應(yīng)答位:1)延退15微秒2)把數(shù)據(jù)線拉低3)延退5微秒4)把時鐘線拉低5)延退40微秒6)釋放時鐘線7)延退5微秒8)釋放數(shù)據(jù)線PS2接口協(xié)議及代碼分析

17、(2011-10-14 12:23:40)轉(zhuǎn)載 分類:嵌入式ps2 通信 ps2 協(xié)議.電氣特性2 2DATA Key Datan/c Not connected4 VCC Power , +5 VDC5 CLKClock6! n/cNot connected.數(shù)據(jù)格式1 個起始位總是邏輯 08 個數(shù)據(jù)位(LSB)低位在前1 個奇偶校驗位奇校驗1 個停止位總是邏輯 11 個應(yīng)答位僅用在主機對設(shè)備的通訊中表中,如果數(shù)據(jù)位中1的個數(shù)為偶數(shù),校驗位就為1 ;如果數(shù)據(jù)位中1的個數(shù)為奇數(shù),校驗位就為0;總之,數(shù)據(jù)位中1的個數(shù)加上校驗位中1的個數(shù)總為奇數(shù),因此總進行奇校驗。ps2設(shè)備的clock和data

18、都是集電極開路的,平時都是高電平。當ps2設(shè)備等待發(fā)送數(shù)據(jù)時,它首先檢 查clock是否為高。如果為低,則認為PC抑制了通訊,此時它緩沖數(shù)據(jù)直到獲得總線的控制權(quán)。如果clock為高電平,ps2則開始向PC發(fā)送數(shù)據(jù)。 一般都是由ps2設(shè)備產(chǎn)生時鐘信號。發(fā)送按幀格式。數(shù)據(jù)位在clock為高電平時準備好,在clock下降沿被PC讀入。數(shù)據(jù)從鍵盤/鼠標發(fā)送到主機或從主機發(fā)送到鍵盤/鼠標,時鐘都是PS2設(shè)備產(chǎn)生.主機對時鐘控制有優(yōu)先權(quán),即主機想發(fā)送控制指令給PS2設(shè)備時,可以拉低時鐘線至少100MS,然后再下拉數(shù)據(jù)線,最后釋放時鐘線為高。PS2設(shè)備的時鐘線和數(shù)據(jù)線都是集電極開路的,容易實現(xiàn)拉低電平。PC

19、在時鐘的下降沿讀取數(shù)據(jù).PS: ps2協(xié)議是現(xiàn)在大多數(shù)鼠標,鍵盤與PC通訊的標準協(xié)議,鼠標的通訊更為簡單些,只是傳送的數(shù)據(jù)內(nèi)容不一樣而已。三.數(shù)據(jù)發(fā)送時序KB DAT|EIN m | m | m | 皿皿 | | 口口 s |煬in | p i間間KR DAT | U pii) DI | 02L | LM | 皿皿 | | UB | 5 | F T | |仆仆) )| |鍵盤接口時序(a)鍵盤發(fā)送時序;(b)鍵盤接收時序從PS/2向P C機發(fā)送一個字節(jié)可按照下面的步驟進行:(1)檢測時鐘線電平,如果時鐘線為低,則延時5 0(is ;(2 )檢測判斷時鐘信號是否為高,為高,則向下執(zhí)行,為低,則轉(zhuǎn)

20、到(1 );(3 )檢測數(shù)據(jù)線是否為高,如果為高則繼續(xù)執(zhí)行,如果為低,則放棄發(fā)送(此時P C機在向P S/2設(shè)備發(fā)送數(shù)據(jù),所以PS/2設(shè)備要轉(zhuǎn)移到接收程序處接收數(shù)據(jù));(4 )延時2 0監(jiān)(如果此時正在發(fā)送起始位,則應(yīng)延時4 0 ps);(5)輸出起始位(0)到數(shù)據(jù)線上。這里要注意的是:在送出每一位后都要檢測時鐘線,以確保P C機沒有抑制P S/2設(shè)備,如果有則中止發(fā)送;(6)輸出8個數(shù)據(jù)位到數(shù)據(jù)線上;(7)輸出校驗位;(8)輸出停止位(1 );(9)延時3 0芟(如果在發(fā)送停止位時釋放時鐘信號則應(yīng)延時5 0監(jiān));通過以下步驟可發(fā)送單個位:(1 )準備數(shù)據(jù)位(將需要發(fā)送的數(shù)據(jù)位放到數(shù)據(jù)線上);

21、(2)延時2 0芟;(3 )把時鐘線拉低;(4 )延時4 0 (is ;(5 )釋放時鐘線;(6 )延時2 0 (is oPS/2設(shè)備從P C機接收一個字節(jié)由于P S/2設(shè)備能提供串行同步時鐘,因此,如果PC機發(fā)送數(shù)據(jù),則PC機要先把時鐘線和數(shù)據(jù)線置為請求發(fā)送的狀態(tài)。PC機通過下拉時鐘線大于1 0 0ps來抑制通訊,并且通過下拉數(shù)據(jù)線發(fā)出請求發(fā)送數(shù)據(jù)的信號, 然后釋放時鐘。當PS/2設(shè)備檢測到需要接收的數(shù)據(jù)時, 它會產(chǎn)生時鐘信 號并記錄下面8個數(shù)據(jù)位和一個停止位。 主機此時在時鐘線變?yōu)榈蜁r準備數(shù)據(jù)到數(shù)據(jù)線,并在時鐘上升沿鎖存數(shù)據(jù)。而PS/2設(shè)備則要配合PC機才能讀到準確的數(shù)據(jù)。具體連接步驟如下

22、:(1 )等待時鐘線為高電平。(2)判斷數(shù)據(jù)線是否為低,為高則錯誤退出,否則繼續(xù)執(zhí)行。(3)讀地址線上的數(shù)據(jù)內(nèi)容,共8個b it,每讀完一個位,都應(yīng)檢測時鐘線是否被P C機拉 低,如果被拉低則要中止接收。(4)讀地址線上的校驗位內(nèi)容,1個bit。(5 )讀停止位。(6)如果數(shù)據(jù)線上為0(即還是低電平),P S/2設(shè)備繼續(xù)產(chǎn)生時鐘,直到接收到1且產(chǎn)生 出錯信號為止(因為停止位是1,如果PS/2設(shè)備沒有讀到停止位,則表明此次傳輸出錯)。(7輸出應(yīng)答位。(8)檢測奇偶校驗位,如果校驗失敗,則產(chǎn)生錯誤信號以表明此次傳輸出現(xiàn)錯誤。(9 )延時4 5芟,以便P C機進行下一次傳輸。讀數(shù)據(jù)線的步驟如下:(1

23、 )延時2 0tis ;(2 )把時鐘線拉低(3 )延時4 0(4 )釋放時鐘線(5 )延時2 0(6 )讀數(shù)據(jù)線。下面的步驟可用于發(fā)出應(yīng)答位;(1 )延時15 s ; ( 2 )把數(shù)據(jù)線拉低;(3 )延時5芟;(4 )把時鐘線拉低;(5 )延時4 0膏;(6 )釋放時鐘線;(7 )延時5膏;(8 )釋放數(shù)據(jù)線。四.鍵盤返回值介紹:鍵盤的處理器如果發(fā)現(xiàn)有鍵被按下或釋放將發(fā)送掃描碼的信息包到計算機。掃描碼有兩種不同的類型:通碼和斷碼。當一個鍵被按下就發(fā)送通碼,當一個鍵被釋放就發(fā)送斷碼。每個按鍵被分配了唯一的通碼和斷碼。這樣主機通過查找唯一的掃描碼就可以測定是哪個按鍵。每個鍵一整套的通斷碼組成了掃

24、描碼集。有三套標準的掃描碼集:分別是第一套,第二套和第三套。所有現(xiàn)代的鍵盤默認使用第二套掃描碼。雖然多數(shù)第二套通碼都只有一個字節(jié)寬,但也有少數(shù)擴展按鍵的通碼是兩字節(jié)或四字節(jié)寬。這類的 通碼第一個字節(jié)總是為E0。正如鍵按下通碼就被發(fā)往計算機一樣,只要鍵一釋放斷碼就會被發(fā)送。每個鍵都有它自己唯一的通碼和斷碼。幸運的是你不用總是通過查表來找出按鍵的斷碼。在通碼和斷碼之間存在著必然的聯(lián)系。多數(shù)第二套斷碼有兩字節(jié)長。它們的第一個字節(jié)是F0 ,第二個字節(jié)是這個鍵的通碼。擴展按鍵的斷碼通常有三個字節(jié),它們前兩個字節(jié)是E0h,F0h ,最后一個字節(jié)是這個按鍵通碼的最后一個字節(jié)。下面列出了幾個按鍵的第二套通碼和

25、斷碼:一個鍵盤發(fā)送值的例子:通碼和斷碼是以什么樣的序列發(fā)送到你的計算機從而使得字符G出現(xiàn)在你的字處理軟件里的呢?因為這是一個大寫字母,需要發(fā)生這樣的事件次序:按下Shift鍵-按下G鍵-釋放G鍵-釋放Shift鍵。 與這些時間相關(guān)的掃描碼如下:Shift鍵的通碼12h, G鍵的通碼34h , G鍵的斷碼F0h 34h , Shift鍵的斷碼F0h 12h。因此發(fā)送到你的計算機的數(shù)據(jù)應(yīng)該是:12h12h 34h34h F0hF0h 34h34h F0hF0h 12h12h五:第二套掃描碼:101 102和104鍵的鍵盤2345Right Ctrl E0 14E0 F0 141F0 2EF0 09

26、E0 F0 74F0 1CF0 214EF0 4EHOMEE0 6C E0 F0 6CF0 23550 55PG UPE0 7D E0 F0 7D24F0 245DF0 5DDELETEE0 71 E0 F0 712B3433424B3A3144PF0 4D2D1B2C3C2A1D223545161E252E363D3EF0 2BF0 34F0 33F0 43F0 3BF0 42F0 4BF0 3AF0 31F0 440 15F0 2DF0 1BF0 2CF0 3CF0 2AF0 1DF0 22F0 35F0 1AF0 45F0 16F0 1E0 26F0 25F0 2EF0 36F0 3DF

27、0 3E6SPACEF0 66ENDE0 69 E0 F0 69290 29PG DNE0 7A E0 F0 7ATABCAPSL SHFTL CTRLL GUIALT0D581214E0 1F11R SHFT 59CTRL E0 14R GUIR ALTAPPSENTERESCF1F2F3F4F5F6F7F8F10F11F12PRNTSCRNE0 27E0 11E0 2F5A760506040C030B830A097807E0 12E0 7CSCROLL 7EPAUSEACPI掃描碼:F0 0DF0 58F0 12F0 14E0 F0 1FF0 11F0 59E0 F0 14E0 F0 27E0 F0 1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論