當前位置:首頁 > 智能硬件 > 智能硬件
[導讀]0 引言 AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能,片內(nèi)含8 k可反復檫寫的單片機,具有外圍硬件電路簡單,體積小,可靠性高,選用其完成鍵盤的監(jiān)控任務,在實際應用中,有時侯可能不小心按下鍵盤的按鍵,改


0 引言
    AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能,片內(nèi)含8 k可反復檫寫的單片機,具有外圍硬件電路簡單,體積小,可靠性高,選用其完成鍵盤的監(jiān)控任務,在實際應用中,有時侯可能不小心按下鍵盤的按鍵,改變了設備或儀器的參數(shù)和狀態(tài),使系統(tǒng)運行不正常。為計算機安全和防止誤觸發(fā),需要將鍵盤鎖定,還要對某些鍵采取屏蔽措施,但是PC標準鍵盤不能滿足這些要求。本文介紹一種用89C52設計實現(xiàn)的可鎖定加密PC/AT鍵盤。另外,本鍵盤固定于主機操控臺,因此,又具有一定的抗振性和密封性。


1 鍵盤功能及工作原理
    PC鍵盤功能主要有按鍵識別、去抖、重鍵處理、發(fā)送掃描碼、自動重發(fā)、接收鍵盤命令、處理命令等。鍵盤有編碼鍵盤和非編碼鍵盤。編碼鍵盤程序設計簡單,但硬件電路復雜,價格較高;非編碼鍵盤用軟件來實現(xiàn)識別鍵、編碼轉(zhuǎn)換、去抖等功能,硬件電路簡單,價格便宜。本鍵盤采用非編碼鍵盤,14行×8列的二維矩陣行列結構,采用行掃描法識別按下的按鍵。


2 PS/2協(xié)議
    PS/2協(xié)議是外設與主機之間通信的一種同步雙向串行協(xié)議。在該協(xié)議中主機擁有較高的優(yōu)先級,在一定條件下可以終止外設正在進行的發(fā)送過程。PS/2協(xié)議采用的傳送數(shù)據(jù)幀的格式為:1位起始位(0)、8位數(shù)據(jù)位、1位奇偶校驗位、1位停止位(1)。數(shù)據(jù)發(fā)送時低位在前,高位在后。外設每收到主機發(fā)來的1幀數(shù)據(jù),都要緊隨該幀的停止位發(fā)送一個握手位.ACK(0)應答主機。然后,外設還要發(fā)1幀應答數(shù)據(jù)(0xF0),表示外設已經(jīng)完整地接收到了主機的命令;而主機則不需發(fā)送握手位,也不需要發(fā)送應答幀。
2.1 鍵盤到PC鍵盤接口的通信
    當時鐘線和數(shù)據(jù)線均為高電平時,允許鍵盤發(fā)送數(shù)據(jù)。系統(tǒng)將接收數(shù)據(jù);當時鐘線被拉為低電平時,表明系統(tǒng)禁止數(shù)據(jù)傳輸。圖1給出了發(fā)送時序,包含1個低電平觸發(fā)的起始位、8位數(shù)據(jù)位、1個奇校驗位和1個高電平的結束位。
2.1.1 PC系統(tǒng)到鍵盤的通信協(xié)議
    若時鐘線出現(xiàn)高電平,數(shù)據(jù)線出現(xiàn)低電平,表明系統(tǒng)請求發(fā)送,鍵盤準備產(chǎn)生同步時鐘脈沖串,并接收數(shù)據(jù)。包含了1個低電平觸發(fā)的起始位、8位數(shù)據(jù)位、1個奇校驗位、1個應答位、1個高電平的結束位。
2.1.2 鍵盤命令及執(zhí)行過程
    (1)FFH:復位鍵盤。系統(tǒng)通過此軟件復位命令使鍵盤進入程序復位和內(nèi)部自測試,稱為基本保證測試(BAT)。復位鍵盤的過程如下:
    ①鍵盤收到FFH后立即回送ACK(FAH)作答;
    ②鍵盤接口收到ACK后,將鍵盤時鐘和數(shù)據(jù)線置為高電平
    ③鍵盤檢測到此狀態(tài)后開始BAT操作;
    ④如果BAT正確完成,鍵盤發(fā)送AAH以表示結束,否則以FDH(或其它任何值)表示診斷有誤。
    (2)FEH:重新發(fā)送。當系統(tǒng)檢測到從鍵盤送來的任何傳輸錯誤時,它便向鍵盤發(fā)送FEH命令。鍵盤接收到此命令后,將重新送出原來的內(nèi)容。
    (3)FDH~F7H:空操作(保留未用)。
    (4)F6H:設置缺省值。此命令使鍵盤所有條件復位到電源接通時的缺省狀態(tài),鍵盤繼續(xù)掃描。
    (5)F5H:設置缺省值和停止鍵盤。此命令使鍵盤所有條件復位到電源接通時的缺省狀態(tài),并停止鍵盤掃描,等待下一個鍵盤命令。
    (6)F4H:啟動鍵盤。鍵盤接收到此命令后,用ACK(FAH)作答,清除輸出緩沖器,并啟動鍵盤開始掃描。
    (7)F3H:設置拍發(fā)速率和延時參數(shù)。每當按下任一鍵時,鍵盤以拍發(fā)速率連續(xù)送出鍵的接通碼,直到鍵被釋放為止。延時參數(shù)是指按下一鍵后,鍵盤輸出的響應時間。
    系統(tǒng)缺省設置:拍發(fā)速率=10個/s±20%,延時=500ms±20%。
    當要改變設置時可以使用F3H命令,并后跟一個字節(jié)的參數(shù)。
    計算拍發(fā)速率和響應延時的公式如下:
    拍發(fā)速率=1/[8+A]×2B×0.004 17](1/s)
    響應延時=(1+C)×250(ms)
    注:缺省的延時參數(shù)值為2CH。
    此命令的執(zhí)行過程如下:
    ①鍵盤收到F3H命令后,用FAH予以響應,并停止掃描和等待隨后的參數(shù);
    ②鍵盤若收到隨后的設置參數(shù),用另一個ACK響應,并按其參數(shù)設置新的拍發(fā)速率和響應延時,之后重新開始掃描(若鍵盤原來是開放的);
    ③鍵盤若收到FAH命令,但無隨后的設置參數(shù),則鍵盤結束命令設置,并保持原來的拍發(fā)速率和響應延時,停止掃描。
    (8)F2H,F(xiàn)1H,EFH:保留未用。
    (9)F0H:設置鍵盤掃描碼命令。此命令用于設置鍵盤的掃描碼,后跟參數(shù)指定三種掃描碼的哪一種。鍵盤復位時,默認掃描碼是第二種。
    (10)EEH:回送命令。此命令用于輔助診斷,要求鍵盤接收到EEH時也要回送
    EEH予以響應。若鍵盤原來是開放的,則繼續(xù)掃描。
    EDH:置位/復位LED指示器。鍵盤右上角有三個LED指示器,分別反映Caps、Num和Scroll三個鍵的鎖定情況。
    此命令執(zhí)行過程與F3H相似。若命令后跟參數(shù),則按參數(shù)設定LED狀態(tài)并繼續(xù)掃描。若僅有命令無參數(shù),則不改變LED原狀態(tài),并停止掃描。
2.1.3 鍵盤響應
    鍵盤在下列四種情況下都會向鍵盤接口發(fā)送數(shù)據(jù)。
    (1)按下任一鍵,鍵盤以拍發(fā)速率向接口發(fā)送鍵盤接通掃描碼。
    (2)釋放所按下的鍵,鍵盤發(fā)送斷開掃描碼。
    (3)系統(tǒng)向鍵盤發(fā)送鍵盤命令后,鍵盤回送應答。
    (4)當用戶按鍵速度超出鍵盤所能容納的最大鍵個數(shù)時,鍵盤做出響應。
    后三種情況稱為鍵盤響應。響應字節(jié)有7個,定義如下。
    ①FEH:重新發(fā)送響應。當鍵盤收到一個無效的鍵盤命令,或者檢測到奇偶錯的鍵盤命令時,鍵盤回送響應字節(jié)為FEH,要求系統(tǒng)重發(fā)鍵盤命令。
    ②FAH:正常應答。對任何一個有效的鍵盤命令,鍵盤回送FAH予以響應。
    ③00H:超限應答。當用戶按鍵速度超出鍵盤所能容納的最大鍵符個數(shù)時(16個字節(jié)的緩沖器),鍵盤發(fā)送00H。
    ④FDH:診斷故障應答。鍵盤接受軟件復位命令,執(zhí)行自測試過程中。若檢測到故障,則以FDH應答。此時,鍵盤停止掃描并等待下一個鍵盤命令。
    ⑤AAH:診斷正常應答。鍵盤在軟件復位過程中,正常完成BAT測試,以AAH應答。
    ⑥EEH:回響命令的應答,對鍵盤EEt{命令的應答。
    ⑦F0H:斷開掃描碼前綴,鍵盤對鍵符按下后釋放的應答,第一個字節(jié)為F0H,第二個字節(jié)為接通掃描碼(有幾個鍵例外)。


3 硬件設計
    圖1為電路結構框圖,電路核心為單片機AT89C52,工作頻率為8~11 MHz。圖中可以看出,89C52單片機有4個8位I/O端口,因此可以采用PO再加上P2口的4個(P2.0到P2.5)作為行掃描線。P1口作為列輸入線(如果用PO口作列輸入線,必須加上拉電阻)。采用P3.0、P3.1作為數(shù)據(jù)線和時鐘線與PC系統(tǒng)進行通信,用P3.4、P3.5、P3.6控制鍵盤上的3個指示燈。硬件原理如圖1所示。鍵盤與計算機通過一個五芯(PS/2接口為六芯)插座相接,4個有效引腳的定義分別是電源(VCC)、地(GND)、串行時鐘線(SCK)、串行數(shù)據(jù)線(SIO)。

4 軟件設計
    (1)消抖及重鍵處理:通過軟件上延時程序來消除抖動;采用后按鍵優(yōu)先處理,即多鍵同時按下時,只重復發(fā)送最后按下鍵的掃描碼。

    (2)程序包括鍵盤掃描子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序、定時器1中斷服務程序、主程序等。鍵盤掃描子程序用于掃描鍵狀態(tài),將被按鍵的位置號存入緩沖器中;發(fā)送鍵碼子程序用于將緩沖區(qū)鍵的接通碼或斷開碼發(fā)送給計算機鍵盤接口或者存在鍵盤密碼緩沖區(qū)中;發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給計算機鍵盤接口;接收命令子程序用于接收計算機鍵盤接口發(fā)來的鍵盤命令;定時器1中斷服務子程序用于給程序中的延時提供標準時鐘,并具有軟件看門狗功能,防止軟件出現(xiàn)死機現(xiàn)象;主程序用于系統(tǒng)初始化,子程序調(diào)度,鎖定狀態(tài)的顯示等。圖2~4是主要軟件模塊的流程圖。

5 結束語
    該鍵盤的設計從軟、硬件都作了周密考慮,可靠性好,穩(wěn)定性強,特別適合部隊野外訓練使用。本鍵盤可以在標準的鍵盤基礎上進行改造,只需換掉原來的控制芯片即可,可節(jié)省設計成本。具有很好的發(fā)展前景。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉