1 PC/AT鍵盤的特點
PC/AT鍵盤由單片微控制器、鍵盤矩陣和支持邏輯三部分組成。鍵盤微控制器的主要功能是掃描 鍵盤,以得到有效的閉合鍵,一旦鍵被按下或放開,就為系統(tǒng)板產(chǎn)生鍵代碼,將鍵代碼以串行格式 傳遞到系統(tǒng)板,同時產(chǎn)生將鍵代碼轉(zhuǎn)換為供系統(tǒng)板使用的并行數(shù)據(jù)所需的時鐘信號。 AT鍵盤使用接通鍵碼,其值在00~7F之間,以串行數(shù)據(jù)格式傳遞 到系統(tǒng)板;每發(fā)送一個鍵碼包含11個數(shù)據(jù)位,即1個起始位、 8個數(shù)據(jù)位(低位在前,高位在后)、1個奇偶校驗位、1個停止位。在鍵碼傳送的同時, 微控制器還傳送1個鍵碼時鐘同步信號,用于同步鍵碼數(shù)據(jù)的接收。鍵碼中每個數(shù)據(jù)位的傳送發(fā)生在 鍵盤時鐘的下降沿,時鐘的波特率為16Kb/s。圖1為接通鍵碼是2C,即按下t鍵時,鍵碼的傳送格式。
對于PC/AT鍵盤,如果按下鍵0.5 s之前放開該鍵,則鍵盤電路產(chǎn)生一個斷開鍵碼,將這個鍵碼也 以串行數(shù)據(jù)的格式傳送出去。AT鍵盤的斷開鍵碼為F0,在斷開鍵碼之后再跟接通鍵碼。其中斷開鍵 碼通知BIOS鍵盤例程,按下的鍵序列功能已結(jié)束,鍵已被放開。如果在鍵按下 0.5 s之后仍未放開該鍵,則鍵盤電路產(chǎn)生一個接通鍵代碼(與接通鍵碼 相同),并以每秒6個鍵碼的速率(每166.7 ms一個鍵碼)進行傳送,此過程直到鍵盤電路檢測到斷開代碼為止。常用鍵的鍵碼如表 1所列。
2 硬件設(shè)計
鍵盤電路如圖2所示,由ATMEL公司的微控制器AT89C2051 、MAXIM公司的看門狗自動復(fù)位電路MAX813L及鍵盤矩陣組成。由于AT 89C2051的可用端口為16個,除復(fù)位端RES、看門狗信號輸出 端WDI、鍵碼數(shù)據(jù)輸出端TXD和時鐘輸出端CLK外,還剩12個可用端口,這樣,其最大可獨立響 應(yīng)6×6=36個鍵的輸入,可滿足工控機常用控制鍵的要求。 MAX813L為看門狗電路,它實時接收來自AT89C2051的WDI信號,并自動判斷兩次 WDI信號的間隔時間。當(dāng)時間間隔小于1.6 s時,其RST輸出端