新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用AT89C2051設計的PC/AT鍵盤

        用AT89C2051設計的PC/AT鍵盤

        作者: 時間:2012-10-16 來源:網絡 收藏

        在工業控制、測量儀器等領域,已大量使用嵌入式,如 ADVANTECH公司的/104、AMD公司的E86嵌入式等。它們除具有 PC的功能外,還提供了功能強大的各種標準接口,如:平板 /VGA顯示器控制接口、光驅接口、以太網接口、RS-232/422/485 接口、PC/接口等 。這就為新產品開發的標準化、模塊化提供了方便,可大大縮小研發周期,降 低研制成本,快速進入市場。由于嵌入式PC具有標準PC/AT 鍵盤接口,也就是說,可以用標準的PC/來對嵌入式 PC進行操作與控制。但是,在很多實際應用中,由于一般只用到某幾個固定的鍵,并希望鍵盤 具有體積小巧、便于布放等特點,為此,希望能夠設計一種小巧、靈活的 PC/,來滿足各種需求。本文介紹一種由設計實現的 PC/AT鍵盤。

        1 PC/AT鍵盤的特點

        PC/AT鍵盤由單片微控制器、鍵盤矩陣和支持邏輯三部分組成。鍵盤微控制器的主要功能是掃描 鍵盤,以得到有效的閉合鍵,一旦鍵被按下或放開,就為系統板產生鍵代碼,將鍵代碼以串行格式 傳遞到系統板,同時產生將鍵代碼轉換為供系統板使用的并行數據所需的時鐘信號。 AT鍵盤使用接通,其值在00~7F之間,以串行數據格式傳遞 到系統板;每發送一個包含11個數據位,即1個起始位、 8個數據位(低位在前,高位在后)、1個奇偶校驗位、1個停止位。在傳送的同時, 微控制器還傳送1個鍵碼時鐘同步信號,用于同步鍵碼數據的接收。鍵碼中每個數據位的傳送發生在 鍵盤時鐘的下降沿,時鐘的波特率為16 Kb/s。圖1為接通鍵碼是2C,即按下t鍵時,鍵碼的傳送格式。

        用AT89C2051設計的PC/AT鍵盤
        對于PC/AT鍵盤,如果按下鍵0.5 s之前放開該鍵,則鍵盤電路產生一個斷開鍵碼,將這個鍵碼也 以串行數據的格式傳送出去。AT鍵盤的斷開鍵碼為F0,在斷開鍵碼之后再跟接通鍵碼。其中斷開鍵 碼通知BIOS鍵盤例程,按下的鍵序列功能已結束,鍵已被放開。如果在鍵按下 0.5 s之后仍未放開該鍵,則鍵盤電路產生一個接通鍵代碼(與接通鍵碼 相同),并以每秒6個鍵碼的速率(每166.7 ms一個鍵碼)進行傳送,此過程直到鍵盤電路檢測到斷開代碼為止。常用鍵的鍵碼如表 1所列。
        用AT89C2051設計的PC/AT鍵盤

        2 硬件設計

        用AT89C2051設計的PC/AT鍵盤
        鍵盤電路如圖2所示,由ATMEL公司的微控制器 、MAXIM 公司的看門狗自動復位電路MAX813L及鍵盤矩陣組成。由于AT 89C2051的可用端口為16個,除復位端RES、看門狗信號輸出 端WDI、鍵碼數據輸出端TXD和時鐘輸出端CLK外,還剩12個可用端口,這樣,其最大可獨立響 應6×6=36個鍵的輸入,可滿足工控機常用控制鍵的要求。 MAX813L為看門狗電路,它實時接收來自的WDI信號,并自動判斷兩次 WDI信號的間隔時間。當時間間隔小于1.6 s時,其RST輸出端保持低電平;當時間間隔大于1.6 s時,其RST輸出端輸出高電平,AT89C2051被復位。AT89C2051 具有如下特點:

        ◇ 具有2K字節可編程閃存;
        ◇ 128×8bit 內部RAM;
        ◇ 15根可編程I/O線;
        ◇ 2個16位定時/計數器;
        ◇ 6個中斷源;
        ◇ 可編程串行UART。

        3 軟件設計

        軟件包括定時0中斷子程序、定時1中斷子程序、主程序等。其中,定時器0定時中斷子程序用于定時檢測有無鍵被按下、判斷哪個鍵被按下并確定對應的鍵碼。定時器 1定時中斷子程序用于確定輸出鍵碼和時鐘信號的波特率,并定時輸出看門狗 信號,用于防止軟件出現死機現象。主程序根據有無鍵被按下標志,確定是否輸出鍵碼和同步時鐘信號。如有鍵被按下,則調入由定時中斷子程序所確定的鍵碼,輸出相應的鍵碼并同時輸出同步時鐘信號。主程序流程如圖3所示。
        用AT89C2051設計的PC/AT鍵盤

        4 設計實例

        本文介紹的PC/AT鍵盤具有結構簡單、設計靈活性強、易于編程、體積小、成本低的特點,并可 根據用戶需要隨意設計和布放,對使用工控機的各種測試與控制儀器具有通用性。

        參考文獻

        1 ATMEL公司. AT89C2051 Data Sheet
        2 MAXIM公司. MAX813L Data Sheet
        3 馬忠梅. 單片機的C語言應用程序設計. 北京:北京航空航天大學出版社,1999



        關鍵詞: AT89C2051 PC AT鍵盤 鍵碼

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大化| 耒阳市| 水城县| 曲阳县| 忻州市| 淮阳县| SHOW| 阜南县| 山阳县| 宁安市| 义马市| 龙门县| 青海省| 郯城县| 五台县| 乐都县| 建昌县| 乌鲁木齐县| 南平市| 大同县| 桐庐县| 密山市| 且末县| 江津市| 金门县| 拜城县| 巴东县| 门头沟区| 白水县| 永定县| 临泽县| 宁化县| 射洪县| 昔阳县| 福州市| 冷水江市| 嘉黎县| 定兴县| 嫩江县| 盱眙县| 岳阳县|