天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>基于89C51的計(jì)算機(jī)可鎖定加密鍵盤設(shè)計(jì)

基于89C51的計(jì)算機(jī)可鎖定加密鍵盤設(shè)計(jì)

時間:2023-02-21 00:19:10 電子通信論文 我要投稿
  • 相關(guān)推薦

基于89C51的計(jì)算機(jī)可鎖定加密鍵盤設(shè)計(jì)

  摘要:介紹PC鍵盤和鍵盤接口的PS/2通信協(xié)議,以及用89C51實(shí)現(xiàn)可鎖定鍵盤的軟件和硬件設(shè)計(jì)方法。具有安全可靠、容錯能力強(qiáng)、可以直接采用標(biāo)準(zhǔn)鍵盤進(jìn)行改裝、便于實(shí)現(xiàn)等優(yōu)點(diǎn),并保留標(biāo)準(zhǔn)鍵盤的全部功能。
  關(guān)鍵詞:PS/289C51C51鍵盤
  
  引言
  
  在智能儀器、自動控制等領(lǐng)域,已大量使用嵌入式PC,如Advantech公司的PC/104、AMD公司的DIMM-PC等。為適應(yīng)開放式、模塊化的要求,嵌入式PC具有標(biāo)準(zhǔn)的PC接口,如VGA顯示器控制接口、以太網(wǎng)接口、RS232接口、PC/AT鍵盤接口等。所以,可以用標(biāo)準(zhǔn)的PC鍵盤對嵌入式PC進(jìn)行操作與控制。鍵盤在輸入指令之后,可能很長一段時間不用。為計(jì)算機(jī)安全和防止誤觸發(fā),需要將鍵盤鎖定,還要對某些鍵采取屏蔽措施,但是PC標(biāo)準(zhǔn)鍵盤不能滿足這些要求。本文介紹一種用89C51設(shè)計(jì)實(shí)現(xiàn)的可鎖定加密PC/AT鍵盤。
  
  1鍵盤功能及工作原理
  
  PC鍵盤功能主要有按鍵識別、去抖、重鍵處理、發(fā)送掃描碼、自動重發(fā)、接收鍵盤命令、處理命令等。鍵盤有編碼鍵盤和非編碼鍵盤。編碼鍵盤程序設(shè)計(jì)簡單,但硬件電路復(fù)雜,價(jià)格較高;非編碼鍵盤用軟件來實(shí)現(xiàn)識別鍵、編碼轉(zhuǎn)換、去抖等功能,硬件電路簡單,價(jià)格便宜,F(xiàn)代微機(jī)系統(tǒng)中廣泛采用非編碼鍵盤。PC鍵盤多采用18行×8列的二維矩陣行列結(jié)構(gòu)。采用行掃描法識別按下的按鍵。
  
  2PS/2協(xié)議
  
  PS/2協(xié)議是外設(shè)與主機(jī)之間通信的一種同步雙向串行協(xié)議。在該協(xié)議中主機(jī)擁有較高的優(yōu)先級,在一定條件下可以終止外設(shè)正在進(jìn)行的發(fā)送過程。PS/2協(xié)議采用的傳送數(shù)據(jù)幀的格式為:1位起始位(0)、8位數(shù)據(jù)位、1位奇偶校驗(yàn)位、1位停止位(1)。數(shù)據(jù)發(fā)送時低位在前,高位在后。外設(shè)每收到主機(jī)發(fā)來的1幀數(shù)據(jù),都要緊隨該幀的停止位發(fā)送一個握手位ACK(0)應(yīng)答主機(jī)。然后,外設(shè)還要發(fā)1幀應(yīng)答數(shù)據(jù)(0xF0),表示外設(shè)已經(jīng)完整地接收到了主機(jī)的命令;而主機(jī)則不需發(fā)送握手位,也不需要發(fā)送應(yīng)答幀。
  
  2.1鍵盤到PC鍵盤接口的通信
  
  當(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個奇校驗(yàn)位和1個高電平的結(jié)束位。
  
  2.2PC系統(tǒng)到鍵盤的通信協(xié)議
  
  若時鐘線出現(xiàn)高電平,數(shù)據(jù)線出現(xiàn)低電平,表明系統(tǒng)請求發(fā)送,鍵盤準(zhǔn)備產(chǎn)生同步時鐘脈沖串,并接收數(shù)據(jù)。包含了1個低電平觸發(fā)的起始位、8位數(shù)據(jù)位、1個奇校驗(yàn)位、1個應(yīng)答位、1個高電平的結(jié)束位。圖2為時序圖。
  
  (1)鍵盤命令及執(zhí)行過程
  
  ①FFH:復(fù)位鍵盤。系統(tǒng)通過此軟件復(fù)位命令使鍵盤進(jìn)入程序復(fù)位和內(nèi)部自測試,稱為基本保證測試(BAT)。復(fù)位鍵盤的過程如下:
  
  a.鍵盤收到FFH后立即回送ACK(FAH)作答;
  
  b.鍵盤接口收到ACK后,將鍵盤時鐘和數(shù)據(jù)線置為高電平;
  
  c.鍵盤檢測到此狀態(tài)后開始BAT操作;
  
  d.如果BAT正確完成,鍵盤發(fā)送AAH以表示結(jié)束,
  
  否則以FDH(或其它任何值)表示診斷有誤。
  
 、贔EH:重新發(fā)送。當(dāng)系統(tǒng)檢測到從鍵盤送來的任何傳輸錯誤時,它便向鍵盤發(fā)送FEH命令。鍵盤接收到此命令后,將重新送出原來的內(nèi)容。
  
  ③FDH~F7H:空操作(保留未用)。
  
 、蹻6H:設(shè)置缺省值。此命令使鍵盤所有條件復(fù)位到電源接通時的缺省狀態(tài),鍵盤繼續(xù)掃描。
  
  ⑤F5H:設(shè)置缺省值和停止鍵盤。此命令使鍵盤所有條件復(fù)位到電源接通時的缺省狀態(tài),并停止鍵盤掃描,等待下一個鍵盤命令。
  
 、轋4H:啟動鍵盤。鍵盤接收到此命令后,用ACK(FAH)作答,清除輸出緩沖器,并啟動鍵盤開始掃描。
  
 、逨3H:設(shè)置拍發(fā)速率和延時參數(shù)。每當(dāng)按下任一鍵時,鍵盤以拍發(fā)速率連續(xù)送出鍵的接通碼,直到鍵被釋放為止。延時參數(shù)是指按下一鍵后,鍵盤輸出的響應(yīng)時間。
  
  系統(tǒng)缺省設(shè)置:拍發(fā)速率=10個/s±20%,延時=500ms±20%。
  
  當(dāng)要改變設(shè)置時可以使用F3H命令,并后跟一個字節(jié)的參數(shù)。參數(shù)定義如表1所列。
  
  表1
  
  D7D6D5D4D3D2D1D00CBA
  計(jì)算拍發(fā)速率和響應(yīng)延時的公式如下:
  
  拍發(fā)速率=1/[(8+A)×2B×0.00417](1/s)
  
  響應(yīng)延時=(1+C)×250(ms)
  
  注:缺省的延時參數(shù)值為2CH。
  
  此命令的執(zhí)行過程如下:
  
  a.鍵盤收到F3H命令后,用FAH予以響應(yīng),并停止
  
  掃描和等待隨后的參數(shù);
  
  b.鍵盤若收到隨后的設(shè)置參數(shù),用另一個ACK響
  
  應(yīng),并按其參數(shù)設(shè)置新的拍發(fā)速率和響應(yīng)延時,
  
  之后重新開始掃描(若鍵盤原來是開放的);
  
  c.鍵盤若收到FAH命令,但無隨后的設(shè)置參數(shù),則
  
  鍵盤結(jié)束命令設(shè)置,并保持原來的拍發(fā)速率和響
  
  應(yīng)延時,停止掃描。
  
 、郌2H,F(xiàn)1,EFH:保留未用。
  
 、酕0H:設(shè)置鍵盤掃描碼命令。此命令用于設(shè)置鍵盤的掃描碼,后跟參數(shù)指定三種掃描碼的哪一種。鍵盤復(fù)位時,默認(rèn)掃描碼是第二種。
  
 、釫EH:回送命令。此命令用于輔助診斷,要求鍵盤接收到EEH時也要回送EEH予以響應(yīng)。若鍵盤原來是開放的,則繼續(xù)掃描。
  
  EDH:置位/復(fù)位LED指示器。鍵盤右上角有三個LED指示器,分別反映Caps、Num和Scroll三個鍵的鎖定情況。參數(shù)字節(jié)如表2所列。
  
  表2
  
  D7D3D2D1D0保留1=激勵CapsLED1=激勵NumLED1=激勵ScrollLED
  此命令執(zhí)行過程與F3H相似。若命令后跟參數(shù),則按參數(shù)設(shè)定LED狀態(tài)并繼續(xù)掃描。若僅有命令無參數(shù),則不改變LED原狀態(tài),并停止掃描。
  
  (2)鍵盤響應(yīng)
  
  鍵盤在下列四種情況下都會向鍵盤接口發(fā)送數(shù)據(jù)。
  
  ①按下任一鍵,鍵盤以拍發(fā)速率向接口發(fā)送鍵盤接通掃描碼。
  
 、卺尫潘聪碌逆I,鍵盤發(fā)送斷開掃描碼。
  
 、巯到y(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ā)鍵盤命令。
  
 、贔AH:正常應(yīng)答。對任何一個有效的鍵盤命令,鍵盤回送FAH予以響應(yīng)。
  
 、00H:超限應(yīng)答。當(dāng)用戶按鍵速度超出鍵盤所能容納的最大鍵符個數(shù)時(16個字節(jié)的緩沖器),鍵盤發(fā)送00H。
  
 、蹻DH:診斷故障應(yīng)答。鍵盤接受軟件復(fù)位命令,執(zhí)行自測試過程中。若檢測到故障,則以FDH應(yīng)答。此時,鍵盤停止掃描并等待下一個鍵盤命令。
  
 、軦AH:診斷正常應(yīng)答。鍵盤在軟件復(fù)位過程中,正常完成BAT測試,以AAH應(yīng)答。
  
 、轋EH:回響命令的應(yīng)答,對鍵盤FEH命令的應(yīng)答。
  
 、逨0H:斷開掃描碼前綴,鍵盤對鍵符按下后釋放的應(yīng)答,第一個字節(jié)為F0H,第二個字節(jié)為接通掃描碼(有幾個鍵例外)。
  
  3硬件設(shè)計(jì)
  
  PC系列鍵盤采用18行×8列的矩陣行列結(jié)構(gòu)。89C51單片機(jī)有4個8位I/O端口,因此可以采用P0、P2口再加上P3口的2個(P3.6和P3.7)作為行掃描線。P1口作為列輸入線(如果用P0口作列輸入線,必須加上拉電阻)。采用P3.0、P3.1作為數(shù)據(jù)線和時鐘線與PC系統(tǒng)進(jìn)行通信,用P3.2、P3.4、P3.5控制鍵盤上的3個指示燈。硬件原理如圖3所示。
  
  鍵盤與計(jì)算機(jī)通過一個五芯(PS/2接口為六芯)插座相接,4個有效引腳的定義分別是電源(VCC)、地(GND)、串行時鐘線(SCK)、串行數(shù)據(jù)線(SIO)。
  
  4軟件設(shè)計(jì)
  
 、傧都爸劓I處理:通過軟件上延時程序來消除抖動;采用后按鍵優(yōu)先處理,即多鍵同時按下時,只重復(fù)發(fā)送最后按下鍵的掃描碼。
  
 、诔绦虬ㄦI盤掃描子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序、定時器1中斷服務(wù)程序、主程序等。鍵盤掃描子程序用于掃描鍵狀態(tài),將被按鍵的位置號存入緩沖器中;發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或斷開碼發(fā)送給計(jì)算機(jī)鍵盤接口或者存在鍵盤密碼緩沖區(qū)中;發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給計(jì)算機(jī)鍵盤接口;接收命令子程序用于接收計(jì)算機(jī)鍵盤接口發(fā)來的鍵盤命令;定時器1中斷服務(wù)子程序用于給程序中的延時提供標(biāo)準(zhǔn)時鐘,并具有軟件看門狗功能,防止軟件出現(xiàn)死機(jī)現(xiàn)象;主程序用于系統(tǒng)初始化,子程序調(diào)度,鎖定狀態(tài)的顯示等。
  
  圖6發(fā)送緩沖區(qū)鍵碼子程序流程圖
  
  圖4~6是主要軟件模塊的流程圖。

基于89C51的計(jì)算機(jī)可鎖定加密鍵盤設(shè)計(jì)

  
  5結(jié)論
  
  本文介紹的PC/AT鍵盤具有結(jié)構(gòu)簡單、設(shè)計(jì)靈活、安全可靠的特點(diǎn),可用于標(biāo)準(zhǔn)PC和嵌入式PC。本鍵盤可以在標(biāo)準(zhǔn)的鍵盤基礎(chǔ)上進(jìn)行改造,只需換掉原來的控制芯片即可,可節(jié)省設(shè)計(jì)成本。
  
  
  
  

【基于89C51的計(jì)算機(jī)可鎖定加密鍵盤設(shè)計(jì)】相關(guān)文章:

基于PCI總線加密卡硬件設(shè)計(jì)08-06

基于TMS320C6202的VPN加密卡的設(shè)計(jì)08-06

基于Linux內(nèi)核的鍵盤模擬實(shí)現(xiàn)08-19

基于橢圓曲線的嵌入式文件加密08-06

《認(rèn)識鍵盤》的教學(xué)設(shè)計(jì)08-16

基于標(biāo)準(zhǔn)的教學(xué)設(shè)計(jì)08-06

基于嵌入式PC的PIII計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)08-06

基于工作過程的《計(jì)算機(jī)應(yīng)用基礎(chǔ)》學(xué)習(xí)領(lǐng)域課程的設(shè)計(jì)08-23

基于FPGA的快速并行FFT及其在空間太陽望遠(yuǎn)鏡圖像鎖定系統(tǒng)中的應(yīng)用08-06