基于89C51的計算機可鎖定加密鍵盤設(shè)計_第1頁
基于89C51的計算機可鎖定加密鍵盤設(shè)計_第2頁
基于89C51的計算機可鎖定加密鍵盤設(shè)計_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、基于89C51的計算機可鎖定加密鍵盤設(shè)計摘要:介紹P鍵盤和鍵盤接口的PS/2通信協(xié)議,以及用8951實現(xiàn)可鎖定鍵盤的軟件和硬件設(shè)計方法。具有平安可靠、容錯才能強、可以直接采用標(biāo)準(zhǔn)鍵盤進展改裝、便于實現(xiàn)等優(yōu)點,并保存標(biāo)準(zhǔn)鍵盤的全部功能。關(guān)鍵詞:PS/2895151鍵盤引言在智能儀器、自動控制等領(lǐng)域,已大量使用嵌入式P,如Advanteh公司的P/104、AD公司的DI-P等。為適應(yīng)開放式、模塊化的要求,嵌入式P具有標(biāo)準(zhǔn)的P接口,如VGA顯示器控制接口、以太網(wǎng)接口、RS232接口、P/AT鍵盤接口等。所以,可以用標(biāo)準(zhǔn)的P鍵盤對嵌入式P進展操作與控制。鍵盤在輸入指令之后,可能很長一段時間不用。為計算

2、機平安和防止誤觸發(fā),需要將鍵盤鎖定,還要對某些鍵采取屏蔽措施,但是P標(biāo)準(zhǔn)鍵盤不能滿足這些要求。本文介紹一種用8951設(shè)計實現(xiàn)的可鎖定加密P/AT鍵盤。1鍵盤功能及工作原理P鍵盤功能主要有按鍵識別、去抖、重鍵處理、發(fā)送掃描碼、自動重發(fā)、接收鍵盤命令、處理命令等。鍵盤有編碼鍵盤和非編碼鍵盤。編碼鍵盤程序設(shè)計簡單,但硬件電路復(fù)雜,價格較高;非編碼鍵盤用軟件來實現(xiàn)識別鍵、編碼轉(zhuǎn)換、去抖等功能,硬件電路簡單,價格廉價?,F(xiàn)代微機系統(tǒng)中廣泛采用非編碼鍵盤。P鍵盤多采用18行8列的二維矩陣行列構(gòu)造。采用行掃描法識別按下的按鍵。2PS/2協(xié)議PS/2協(xié)議是外設(shè)與主機之間通信的一種同步雙向串行協(xié)議。在該協(xié)議中主機

3、擁有較高的優(yōu)先級,在一定條件下可以終止外設(shè)正在進展的發(fā)送過程。PS/2協(xié)議采用的傳送數(shù)據(jù)幀的格式為:1位起始位0、8位數(shù)據(jù)位、1位奇偶校驗位、1位停頓位1。數(shù)據(jù)發(fā)送時低位在前,高位在后。外設(shè)每收到主機發(fā)來的1幀數(shù)據(jù),都要緊隨該幀的停頓位發(fā)送一個握手位AK0應(yīng)答主機。然后,外設(shè)還要發(fā)1幀應(yīng)答數(shù)據(jù)0 xF0,表示外設(shè)已經(jīng)完好地接收到了主機的命令;而主機那么不需發(fā)送握手位,也不需要發(fā)送應(yīng)答鄭2.1鍵盤到P鍵盤接口的通信當(dāng)時鐘線和數(shù)據(jù)線均為高電平時,允許鍵盤發(fā)送數(shù)據(jù),系統(tǒng)將接收數(shù)據(jù);當(dāng)時鐘線被拉為低電平時,說明系統(tǒng)制止數(shù)據(jù)傳輸。圖1給出了發(fā)送時序,包含1個低電平觸發(fā)的起始位、8位數(shù)據(jù)位、1個奇校驗位和

4、1個高電平的完畢位。2.2P系統(tǒng)到鍵盤的通信協(xié)議假設(shè)時鐘線出現(xiàn)高電平,數(shù)據(jù)線出現(xiàn)低電平,說明系統(tǒng)懇求發(fā)送,鍵盤準(zhǔn)備產(chǎn)生同步時鐘脈沖串,并接收數(shù)據(jù)。包含了1個低電平觸發(fā)的起始位、8位數(shù)據(jù)位、1個奇校驗位、1個應(yīng)答位、1個高電平的完畢位。圖2為時序圖。(1)鍵盤命令及執(zhí)行過程FFH:復(fù)位鍵盤。系統(tǒng)通過此軟件復(fù)位命令使鍵盤進入程序復(fù)位和內(nèi)部自測試,稱為根本保證測試BAT。復(fù)位鍵盤的過程如下:a.鍵盤收到FFH后立即回送AKFAH作答;b.鍵盤接口收到AK后,將鍵盤時鐘和數(shù)據(jù)線置為高電平;.鍵盤檢測到此狀態(tài)后開場BAT操作;d.假如BAT正確完成,鍵盤發(fā)送AAH以表示完畢,否那么以FDH或其它任何值表

5、示診斷有誤。FEH:重新發(fā)送。當(dāng)系統(tǒng)檢測到從鍵盤送來的任何傳輸錯誤時,它便向鍵盤發(fā)送FEH命令。鍵盤接收到此命令后,將重新送出原來的內(nèi)容。FDHF7H:空操作保存未用。F6H:設(shè)置缺省值。此命令使鍵盤所有條件復(fù)位到電源接通時的缺省狀態(tài),鍵盤繼續(xù)掃描。F5H:設(shè)置缺省值和停頓鍵盤。此命令使鍵盤所有條件復(fù)位到電源接通時的缺省狀態(tài),并停頓鍵盤掃描,等待下一個鍵盤命令。F4H:啟動鍵盤。鍵盤接收到此命令后,用AKFAH作答,去除輸出緩沖器,并啟動鍵盤開場掃描。F3H:設(shè)置拍發(fā)速率和延時參數(shù)。每當(dāng)按下任一鍵時,鍵盤以拍發(fā)速率連續(xù)送出鍵的接通碼,直到鍵被釋放為止。延時參數(shù)是指按下一鍵后,鍵盤輸出的響應(yīng)時間

6、。系統(tǒng)缺省設(shè)置:拍發(fā)速率=10個/s20%,延時=500s20%。當(dāng)要改變設(shè)置時可以使用F3H命令,并后跟一個字節(jié)的參數(shù)。參數(shù)定義如表1所列。表1D7D6D5D4D3D2D1D00BA計算拍發(fā)速率和響應(yīng)延時的公式如下:拍發(fā)速率=1/8+A2B0.004171/s響應(yīng)延時=1+250s注:缺省的延時參數(shù)值為2H。此命令的執(zhí)行過程如下:a.鍵盤收到F3H命令后,用FAH予以響應(yīng),并停頓掃描和等待隨后的參數(shù);b.鍵盤假設(shè)收到隨后的設(shè)置參數(shù),用另一個AK響應(yīng),并按其參數(shù)設(shè)置新的拍發(fā)速率和響應(yīng)延時,之后重新開場掃描假設(shè)鍵盤原來是開放的;.鍵盤假設(shè)收到FAH命令,但無隨后的設(shè)置參數(shù),那么鍵盤完畢命令設(shè)置,

7、并保持原來的拍發(fā)速率和響應(yīng)延時,停頓掃描。F2H,F(xiàn)1,EFH:保存未用。F0H:設(shè)置鍵盤掃描碼命令。此命令用于設(shè)置鍵盤的掃描碼,后跟參數(shù)指定三種掃描碼的哪一種。鍵盤復(fù)位時,默認(rèn)掃描碼是第二種。EEH:回送命令。此命令用于輔助診斷,要求鍵盤接收到EEH時也要回送EEH予以響應(yīng)。假設(shè)鍵盤原來是開放的,那么繼續(xù)掃描。EDH:置位/復(fù)位LED指示器。鍵盤右上角有三個LED指示器,分別反映aps、Nu和Srll三個鍵的鎖定情況。參數(shù)字節(jié)如表2所列。表2D7D3D2D1D0保存1=鼓勵apsLED1=鼓勵NuLED1=鼓勵SrllLED此命令執(zhí)行過程與F3H相似。假設(shè)命令后跟參數(shù),那么按參數(shù)設(shè)定LED狀

8、態(tài)并繼續(xù)掃描。假設(shè)僅有命令無參數(shù),那么不改變LED原狀態(tài),并停頓掃描。(2)鍵盤響應(yīng)鍵盤在以下四種情況下都會向鍵盤接口發(fā)送數(shù)據(jù)。按下任一鍵,鍵盤以拍發(fā)速率向接口發(fā)送鍵盤接通掃描碼。釋放所按下的鍵,鍵盤發(fā)送斷開掃描碼。系統(tǒng)向鍵盤發(fā)送鍵盤命令后,鍵盤回送應(yīng)答。當(dāng)用戶按鍵速度超出鍵盤所能包容的最大鍵個數(shù)時,鍵盤做出響應(yīng)。后三種情況稱為鍵盤響應(yīng)。響應(yīng)字節(jié)有7個,定義如下。FEH:重新發(fā)送響應(yīng)。當(dāng)鍵盤收到一個無效的鍵盤命令,或者檢測到奇偶錯的鍵盤命令時,鍵盤回送響應(yīng)字節(jié)為FEH,要求系統(tǒng)重發(fā)鍵盤命令。FAH:正常應(yīng)答。對任何一個有效的鍵盤命令,鍵盤回送FAH予以響應(yīng)。00H:超限應(yīng)答。當(dāng)用戶按鍵速度超出

9、鍵盤所能包容的最大鍵符個數(shù)時16個字節(jié)的緩沖器,鍵盤發(fā)送00H。FDH:診斷故障應(yīng)答。鍵盤承受軟件復(fù)位命令,執(zhí)行自測試過程中。假設(shè)檢測到故障,那么以FDH應(yīng)答。此時,鍵盤停頓掃描并等待下一個鍵盤命令。AAH:診斷正常應(yīng)答。鍵盤在軟件復(fù)位過程中,正常完成BAT測試,以AAH應(yīng)答。FEH:回響命令的應(yīng)答,對鍵盤FEH命令的應(yīng)答。F0H:斷開掃描碼前綴,鍵盤對鍵符按下后釋放的應(yīng)答,第一個字節(jié)為F0H,第二個字節(jié)為接通掃描碼有幾個鍵例外。3硬件設(shè)計P系列鍵盤采用18行8列的矩陣行列構(gòu)造。8951單片機有4個8位I/端口,因此可以采用P0、P2口再加上P3口的2個P3.6和P3.7作為行掃描線。P1口作

10、為列輸入線假如用P0口作列輸入線,必須加上拉電阻。采用P3.0、P3.1作為數(shù)據(jù)線和時鐘線與P系統(tǒng)進展通信,用P3.2、P3.4、P3.5控制鍵盤上的3個指示燈。硬件原理如圖3所示。鍵盤與計算機通過一個五芯PS/2接口為六芯插座相接,4個有效引腳的定義分別是電源V、地GND、串行時鐘線SK、串行數(shù)據(jù)線SI。4軟件設(shè)計消抖及重鍵處理:通過軟件上延時程序來消除抖動;采用后按鍵優(yōu)先處理,即多鍵同時按下時,只重復(fù)發(fā)送最后按下鍵的掃描碼。程序包括鍵盤掃描子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序、定時器1中斷效勞程序、主程序等。鍵盤掃描子程序用于掃描鍵狀態(tài),將被按鍵的位置號存入緩沖器中;發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或斷開碼發(fā)送給計算機鍵盤接口或者存在鍵盤密碼緩沖區(qū)中;發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給計算機鍵盤接口;接收命令子程序用于接收計算機鍵盤接口發(fā)來的鍵盤命令;定時器1中斷效勞子程序用于給程序中的延時提供標(biāo)準(zhǔn)時鐘,并具有軟件看門

溫馨提示

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

評論

0/150

提交評論