《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 89C51的計算機可鎖定加密鍵盤開發
89C51的計算機可鎖定加密鍵盤開發
互聯網
摘要: 介紹PC鍵盤和鍵盤接口的PS/2通信協議,以及用89C51實現可鎖定鍵盤的軟件和硬件設計方法。具有安全可靠、...
關鍵詞: PS2 89C51 C51 鍵盤
Abstract:
Key words :

引 言

    在智能儀器、自動控制等領域,已大量使用嵌入式PC,如Advantech公司的PC/104、AMD公司的DIMM-PC等。為適應開放式、模塊化的要求,嵌入式PC具有標準的PC接口,如VGA顯示器控制接口、以太網接口、RS232接口、PC/AT鍵盤" title="鍵盤">鍵盤接口等。所以,可以用標準的PC鍵盤對嵌入式PC進行操作與控制。鍵盤在輸入指令之后,可能很長一段時間不用。為計算機安全和防止誤觸發,需要將鍵盤鎖定,還要對某些鍵采取屏蔽措施,但是PC標準鍵盤不能滿足這些要求。本文介紹一種用C51" title="C51">C51" title="89C51" title="89C51">89C51">89C51設計實現的可鎖定加密PC/AT鍵盤。

1 鍵盤功能及工作原理

    PC鍵盤功能主要有按鍵識別、去抖、重鍵處理、發送掃描碼、自動重發、接收鍵盤命令、處理命令等。鍵盤有編碼鍵盤和非編碼鍵盤。編碼鍵盤程序設計簡單,但硬件電路復雜,價格較高;非編碼鍵盤用軟件來實現識別鍵、編碼轉換、去抖等功能,硬件電路簡單,價格便宜。現代微機系統中廣泛采用非編碼鍵盤。PC鍵盤多采用18行×8列的二維矩陣行列結構。采用行掃描法識別按下的按鍵。

2 PS/2協議

    PS/2協議是外設與主機之間通信的一種同步雙向串行協議。在該協議中主機擁有較高的優先級,在一定條件下可以終止外設正在進行的發送過程。PS/2協議采用的傳送數據幀的格式為:1位起始位(0)、8位數據位、1位奇偶校驗位、1位停止位(1)。數據發送時低位在前,高位在后。外設每收到主機發來的1幀數據,都要緊隨該幀的停止位發送一個握手位ACK(0)應答主機。然后,外設還要發1幀應答數據(0xF0),表示外設已經完整地接收到了主機的命令;而主機則不需發送握手位,也不需要發送應答幀。

    2.1 鍵盤到PC鍵盤接口的通信

    當時鐘線和數據線均為高電平時,允許鍵盤發送數據,系統將接收數據;當時鐘線被拉為低電平時,表明系統禁止數據傳輸。圖1給出了發送時序,包含1個低電平觸發的起始位、8位數據位、1個奇校驗位和1個高電平的結束位。

    2.2 PC系統到鍵盤的通信協議

    若時鐘線出現高電平,數據線出現低電平,表明系統請求發送,鍵盤準備產生同步時鐘脈沖串,并接收數據。包含了1個低電平觸發的起始位、8位數據位、1個奇校驗位、1個應答位、1個高電平的結束位。圖2為時序圖。

    (1)鍵盤命令及執行過程

    ① FFH:復位鍵盤。系統通過此軟件復位命令使鍵盤進入程序復位和內部自測試,稱為基本保證測試(BAT)。復位鍵盤的過程如下:

    a. 鍵盤收到FFH后立即回送ACK(FAH)作答;

    b. 鍵盤接口收到ACK后,將鍵盤時鐘和數據線置為高電平;

    c. 鍵盤檢測到此狀態后開始BAT操作;

    d. 如果BAT正確完成,鍵盤發送AAH以表示結束,



    否則以FDH(或其它任何值)表示診斷有誤。

    ② FEH:重新發送。當系統檢測到從鍵盤送來的任何傳輸錯誤時,它便向鍵盤發送FEH命令。鍵盤接收到此命令后,將重新送出原來的內容。

    ③ FDH~F7H:空操作(保留未用)。

    ④ F6H:設置缺省值。此命令使鍵盤所有條件復位到電源接通時的缺省狀態,鍵盤繼續掃描。

    ⑤ F5H:設置缺省值和停止鍵盤。此命令使鍵盤所有條件復位到電源接通時的缺省狀態,并停止鍵盤掃描,等待下一個鍵盤命令。

    ⑥ F4H:啟動鍵盤。鍵盤接收到此命令后,用ACK(FAH)作答,清除輸出緩沖器,并啟動鍵盤開始掃描。

    ⑦ F3H:設置拍發速率和延時參數。每當按下任一鍵時,鍵盤以拍發速率連續送出鍵的接通碼,直到鍵被釋放為止。延時參數是指按下一鍵后,鍵盤輸出的響應時間。

    系統缺省設置:拍發速率=10個/s±20%,延時=500ms±20%。

    當要改變設置時可以使用F3H命令,并后跟一個字節的參數。參數定義如表1所列。

    表1 

D7
0
D6  D5 D4  D3 D2  D1  D0
C B A

    計算拍發速率和響應延時的公式如下:

    拍發速率=1/[(8+A)×2B×0.00417] (1/s)

    響應延時=(1+C)×250 (ms)

    注:缺省的延時參數值為2CH。

    此命令的執行過程如下:

    a. 鍵盤收到F3H命令后,用FAH予以響應,并停止掃描和等待隨后的參數;

    b. 鍵盤若收到隨后的設置參數,用另一個ACK響應,并按其參數設置新的拍發速率和響應延時,

之后重新開始掃描(若鍵盤原來是開放的);

c. 鍵盤若收到FAH命令,但無隨后的設置參數,則鍵盤結束命令設置,并保持原來的拍發速率和響

應延時,停止掃描。

    ⑧F2H,F1,EFH:保留未用。

    ⑨F0H:設置鍵盤掃描碼命令。此命令用于設置鍵盤的掃描碼,后跟參數指定三種掃描碼的哪一種。鍵盤復位時,默認掃描碼是第二種。

    ⑩EEH:回送命令。此命令用于輔助診斷,要求鍵盤接收到EEH時也要回送EEH予以響應。若鍵盤原來是開放的,則繼續掃描。

    EDH:置位/復位LED指示器。鍵盤右上角有三個LED指示器,分別反映Caps、Num和Scroll三個鍵的鎖定情況。參數字節如表2所列。

保 留 1=激勵Caps LED 1=激勵Num LED 1=激勵Scroll LED

此命令執行過程與F3H相似。若命令后跟參數,則按參數設定LED狀態并繼續掃描。若僅有命令無參數,則不改變LED原狀態,并停止掃描。

    (2)鍵盤響應

    鍵盤在下列四種情況下都會向鍵盤接口發送數據。

    ① 按下任一鍵,鍵盤以拍發速率向接口發送鍵盤接通掃描碼。

    ② 釋放所按下的鍵,鍵盤發送斷開掃描碼。

    ③ 系統向鍵盤發送鍵盤命令后,鍵盤回送應答。

    ④ 當用戶按鍵速度超出鍵盤所能容納的最大鍵個數時,鍵盤做出響應。

    后三種情況稱為鍵盤響應。響應字節有7個,定義如下。



    ① FEH:重新發送響應。當鍵盤收到一個無效的鍵盤命令,或者檢測到奇偶錯的鍵盤命令時,鍵盤回送響應字節為FEH,要求系統重發鍵盤命令。

    ② FAH:正常應答。對任何一個有效的鍵盤命令,鍵盤回送FAH予以響應。

    ③ 00H:超限應答。當用戶按鍵速度超出鍵盤所能容納的最大鍵符個數時(16個字節的緩沖器),鍵盤發送00H。

    ④ FDH:診斷故障應答。鍵盤接受軟件復位命令,執行自測試過程中。若檢測到故障,則以FDH應答。此時,鍵盤停止掃描并等待下一個鍵盤命令。

    ⑤ AAH:診斷正常應答。鍵盤在軟件復位過程中,正常完成BAT測試,以AAH應答。

    ⑥ FEH:回響命令的應答,對鍵盤FEH命令的應答。

    ⑦ F0H:斷開掃描碼前綴,鍵盤對鍵符按下后釋放的應答,第一個字節為F0H,第二個字節為接通掃描碼(有幾個鍵例外)。

3 硬件設計

    PC系列鍵盤采用18行×8列的矩陣行列結構。89C51單片機有4個8位I/O端口,因此可以采用P0、P2口再加上P3口的2個(P3.6和P3.7)作為行掃描線。P1口作為列輸入線(如果用P0口作列輸入線,必須加上拉電阻)。采用P3.0、P3.1作為數據線和時鐘線與PC系統進行通信,用P3.2、P3.4、P3.5控制鍵盤上的3個指示燈。硬件原理如圖3所示。

    鍵盤與計算機通過一個五芯(PS/2接口為六芯)插座相接,4個有效引腳的定義分別是電源(VCC)、地(GND)、串行時鐘線(SCK)、串行數據線(SIO)。

4 軟件設計

    ① 消抖及重鍵處理:通過軟件上延時程序來消除抖動;采用后按鍵優先處理,即多鍵同時按下時,只重復發送最后按下鍵的掃描碼。

    ② 程序包括鍵盤掃描子程序、發送鍵碼子程序、發送數據子程序、接收命令子程序、定時器1中斷服務程序、主程序等。鍵盤掃描子程序用于掃描鍵狀態,將被按鍵的位置號存入緩沖器中;發送鍵碼子程序用于將緩沖區鍵的接通碼或斷開碼發送給計算機鍵盤接口或者存在鍵盤密碼緩沖區中;發送數據子程序用于將數據發給計算機鍵盤接口;接收命令子程序用于接收計算機鍵盤接口發來的鍵盤命令;定時器1中斷服務子程序用于給程序中的延時提供標準時鐘,并具有軟件看門狗功能,防止軟件出現死機現象;主程序用于系統初始化,子程序調度,鎖定狀態的顯示等。

5 結 論

    本文介紹的PC/AT鍵盤具有結構簡單、設計靈活、安全可靠的特點,可用于標準PC和嵌入式PC。本鍵盤可以在標準的鍵盤基礎上進行改造,只需換掉原來的控制芯片即可,可節省設計成本。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区不卡免费| 久久www免费人成看片高清| av成人动漫| 一区视频在线看| 国产欧美日韩精品一区| 国产精品成人免费| 欧美精品久久久久久久| 美女网站久久| 久久久国产视频91| 久久9热精品视频| 欧美一区亚洲| 欧美一区高清| 久久爱另类一区二区小说| 午夜精品久久久久久久99黑人| 在线一区免费观看| 亚洲精品国产精品久久清纯直播 | 国产精品热久久久久夜色精品三区| 欧美人与性动交cc0o| 欧美久久视频| 欧美视频中文在线看| 国产精品v欧美精品∨日韩| 欧美视频在线免费看| 国产精品二区影院| 国产精品一区二区久久国产| 国产欧美日韩三区| 国产亚洲一区精品| 精品99一区二区| 亚洲激情国产| 一区电影在线观看| 亚洲一区二区三区影院| 亚洲欧美一区二区三区久久| 欧美一区亚洲二区| 亚洲国产老妈| 99国产精品久久久久老师| 亚洲特级毛片| 欧美一区影院| 老司机aⅴ在线精品导航| 欧美高清视频免费观看| 欧美日韩综合网| 国产精品视频精品| 韩国女主播一区二区三区| 亚洲第一免费播放区| 99re66热这里只有精品4| 中文久久精品| 久久av老司机精品网站导航| 亚洲欧洲一级| 亚洲小视频在线| 欧美一区二区三区四区在线观看 | 午夜精品视频在线观看| 久久久蜜臀国产一区二区| 你懂的国产精品永久在线| 欧美激情亚洲自拍| 国产精品劲爆视频| 狠狠88综合久久久久综合网| 亚洲国产精品久久久久久女王| 一区二区av在线| 欧美一区日韩一区| 亚洲精品日韩精品| 亚洲欧美日韩一区二区在线| 看片网站欧美日韩| 欧美日韩在线播放一区二区| 国产日韩精品久久| 亚洲经典视频在线观看| 亚洲一区二区三区精品在线| 亚洲国产精品一区二区第一页 | 午夜精品一区二区在线观看| 久久综合网络一区二区| 欧美日韩免费高清一区色橹橹| 国产欧美精品日韩区二区麻豆天美| 伊人色综合久久天天五月婷| 一本色道久久综合亚洲精品不 | 一区二区三区福利| 久久久久成人精品免费播放动漫| 欧美日韩国产成人在线观看| 国产一区二区三区在线观看网站 | 欧美中文在线免费| 国产精品99久久99久久久二8| 久久久美女艺术照精彩视频福利播放 | 麻豆国产精品va在线观看不卡| 欧美午夜免费电影| 在线免费观看欧美| 午夜精品久久久久久久99樱桃| 亚洲精品中文字| 久久精品一区蜜桃臀影院| 欧美日韩视频免费播放| 加勒比av一区二区| 亚洲欧美国产不卡| 亚洲深夜福利网站| 久久综合中文色婷婷| 国产精品三级视频| 亚洲美女av网站| 亚洲国产另类 国产精品国产免费| 午夜欧美精品| 欧美日韩在线精品| 91久久极品少妇xxxxⅹ软件| 久久国产精品99国产精| 亚洲欧美综合网| 欧美日韩精品| 亚洲国产导航| 久久9热精品视频| 欧美一区二区免费| 欧美午夜久久久| 亚洲每日在线| 日韩视频永久免费观看| 老鸭窝毛片一区二区三区| 国产午夜精品全部视频在线播放 | 在线亚洲伦理| 99精品欧美一区| 欧美激情麻豆| 亚洲激情网站| 亚洲三级免费电影| 美国十次成人| 今天的高清视频免费播放成人 | 午夜激情亚洲| 欧美日韩一区二| 亚洲经典视频在线观看| 亚洲人久久久| 欧美高清视频一区二区| 在线看欧美日韩| 亚洲国产日韩在线一区模特| 久久亚洲色图| 好吊成人免视频| 久久精品观看| 久久久久久9999| 激情一区二区三区| 亚洲二区在线视频| 久久亚洲精品一区二区| 影音先锋日韩有码| 亚洲黄一区二区三区| 欧美成人免费大片| 91久久国产自产拍夜夜嗨| 亚洲精品五月天| 欧美激情综合亚洲一二区| 亚洲国产欧美日韩另类综合| 亚洲乱码国产乱码精品精可以看| 欧美激情一区二区三区四区| 亚洲精品乱码久久久久久黑人| 一个人看的www久久| 欧美日韩在线播放一区| 亚洲午夜精品视频| 欧美亚洲午夜视频在线观看| 国产色视频一区| 亚洲大片免费看| 欧美精品偷拍| 亚洲一级片在线看| 久久超碰97中文字幕| 在线观看91精品国产麻豆| 亚洲精品影视在线观看| 欧美视频四区| 亚洲欧美日韩在线不卡| 榴莲视频成人在线观看| 91久久久久久久久| 亚洲一二三级电影| 国产乱肥老妇国产一区二 | 亚洲电影免费在线| 欧美激情一区三区| 这里只有精品视频| 欧美中日韩免费视频| 在线观看欧美黄色| 亚洲免费av观看| 国产精品老牛| 亚洲国产福利在线| 欧美日韩精品三区| 亚洲欧美日韩国产中文在线| 久久久人成影片一区二区三区观看| 在线不卡a资源高清| 亚洲视频一二| 国精品一区二区三区| 日韩视频精品| 国产精品夜色7777狼人| 亚洲欧洲日本专区| 国产精品久久77777| 久久精品免费看| 欧美日韩亚洲一区二区| 欧美一区二区在线免费观看 | 欧美日韩国产成人在线免费 | 亚洲国内欧美| 欧美午夜片在线免费观看| 亚洲欧美日韩在线综合| 免费观看欧美在线视频的网站| 夜夜嗨一区二区| 午夜性色一区二区三区免费视频| 黑人巨大精品欧美一区二区 | 麻豆9191精品国产| 亚洲狼人综合| 久久久精品一品道一区| 亚洲卡通欧美制服中文| 久久久久久久999精品视频| 亚洲免费观看高清完整版在线观看熊 | 毛片基地黄久久久久久天堂 | 欧美一区国产在线| 欧美日韩一二三四五区| 久久国产婷婷国产香蕉| 国产精品久久久一区二区三区| 亚洲国产精品久久| 国产精品中文在线| 亚洲视频福利| 在线日韩电影| 久久国产精品一区二区| 亚洲精品影院在线观看|