基于89C52的計(jì)算機(jī)專(zhuān)用鍵盤(pán)設(shè)計(jì)
(8)F2H,F(xiàn)1H,EFH:保留未用。
(9)F0H:設(shè)置鍵盤(pán)掃描碼命令。此命令用于設(shè)置鍵盤(pán)的掃描碼,后跟參數(shù)指定三種掃描碼的哪一種。鍵盤(pán)復(fù)位時(shí),默認(rèn)掃描碼是第二種。
(10)EEH:回送命令。此命令用于輔助診斷,要求鍵盤(pán)接收到EEH時(shí)也要回送
EEH予以響應(yīng)。若鍵盤(pán)原來(lái)是開(kāi)放的,則繼續(xù)掃描。
EDH:置位/復(fù)位LED指示器。鍵盤(pán)右上角有三個(gè)LED指示器,分別反映Caps、Num和Scroll三個(gè)鍵的鎖定情況。
此命令執(zhí)行過(guò)程與F3H相似。若命令后跟參數(shù),則按參數(shù)設(shè)定LED狀態(tài)并繼續(xù)掃描。若僅有命令無(wú)參數(shù),則不改變LED原狀態(tài),并停止掃描。
2.1.3 鍵盤(pán)響應(yīng)
鍵盤(pán)在下列四種情況下都會(huì)向鍵盤(pán)接口發(fā)送數(shù)據(jù)。
(1)按下任一鍵,鍵盤(pán)以拍發(fā)速率向接口發(fā)送鍵盤(pán)接通掃描碼。
(2)釋放所按下的鍵,鍵盤(pán)發(fā)送斷開(kāi)掃描碼。
(3)系統(tǒng)向鍵盤(pán)發(fā)送鍵盤(pán)命令后,鍵盤(pán)回送應(yīng)答。
(4)當(dāng)用戶(hù)按鍵速度超出鍵盤(pán)所能容納的最大鍵個(gè)數(shù)時(shí),鍵盤(pán)做出響應(yīng)。
后三種情況稱(chēng)為鍵盤(pán)響應(yīng)。響應(yīng)字節(jié)有7個(gè),定義如下。
①FEH:重新發(fā)送響應(yīng)。當(dāng)鍵盤(pán)收到一個(gè)無(wú)效的鍵盤(pán)命令,或者檢測(cè)到奇偶錯(cuò)的鍵盤(pán)命令時(shí),鍵盤(pán)回送響應(yīng)字節(jié)為FEH,要求系統(tǒng)重發(fā)鍵盤(pán)命令。
②FAH:正常應(yīng)答。對(duì)任何一個(gè)有效的鍵盤(pán)命令,鍵盤(pán)回送FAH予以響應(yīng)。
③00H:超限應(yīng)答。當(dāng)用戶(hù)按鍵速度超出鍵盤(pán)所能容納的最大鍵符個(gè)數(shù)時(shí)(16個(gè)字節(jié)的緩沖器),鍵盤(pán)發(fā)送00H。
④FDH:診斷故障應(yīng)答。鍵盤(pán)接受軟件復(fù)位命令,執(zhí)行自測(cè)試過(guò)程中。若檢測(cè)到故障,則以FDH應(yīng)答。此時(shí),鍵盤(pán)停止掃描并等待下一個(gè)鍵盤(pán)命令。
⑤AAH:診斷正常應(yīng)答。鍵盤(pán)在軟件復(fù)位過(guò)程中,正常完成BAT測(cè)試,以AAH應(yīng)答。
⑥EEH:回響命令的應(yīng)答,對(duì)鍵盤(pán)EEt{命令的應(yīng)答。
⑦F0H:斷開(kāi)掃描碼前綴,鍵盤(pán)對(duì)鍵符按下后釋放的應(yīng)答,第一個(gè)字節(jié)為F0H,第二個(gè)字節(jié)為接通掃描碼(有幾個(gè)鍵例外)。本文引用地址:http://m.ptau.cn/article/202604.htm
3 硬件設(shè)計(jì)
圖1為電路結(jié)構(gòu)框圖,電路核心為單片機(jī)AT89C52,工作頻率為8~11 MHz。圖中可以看出,89C52單片機(jī)有4個(gè)8位I/O端口,因此可以采用PO再加上P2口的4個(gè)(P2.0到P2.5)作為行掃描線(xiàn)。P1口作為列輸入線(xiàn)(如果用PO口作列輸入線(xiàn),必須加上拉電阻)。采用P3.0、P3.1作為數(shù)據(jù)線(xiàn)和時(shí)鐘線(xiàn)與PC系統(tǒng)進(jìn)行通信,用P3.4、P3.5、P3.6控制鍵盤(pán)上的3個(gè)指示燈。硬件原理如圖1所示。鍵盤(pán)與計(jì)算機(jī)通過(guò)一個(gè)五芯(PS/2接口為六芯)插座相接,4個(gè)有效引腳的定義分別是電源(VCC)、地(GND)、串行時(shí)鐘線(xiàn)(SCK)、串行數(shù)據(jù)線(xiàn)(SIO)。
電磁爐相關(guān)文章:電磁爐原理
評(píng)論