《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于AT89C51的操控鍵盤的設(shè)計(jì)
基于AT89C51的操控鍵盤的設(shè)計(jì)
摘要: 在一些自動(dòng)化測(cè)量或智能設(shè)備中,,微機(jī)作為控制中樞,,對(duì)多個(gè)功能單元進(jìn)行控制與管理,,以實(shí)現(xiàn)儀器設(shè)備的系統(tǒng)功能,。鍵盤是人機(jī)通信的基本設(shè)備,,操作者通過(guò)它完成對(duì)設(shè)備的操控,。
關(guān)鍵詞: NGN|4G 操控鍵盤 PC機(jī) 按鍵
Abstract:
Key words :

引 言

在一些自動(dòng)化測(cè)量或智能設(shè)備中,,微機(jī)作為控制中樞,,對(duì)多個(gè)功能單元進(jìn)行控制與管理,,以實(shí)現(xiàn)儀器設(shè)備的系統(tǒng)功能。鍵盤是人機(jī)通信的基本設(shè)備,,操作者通過(guò)它完成對(duì)設(shè)備的操控,。PC機(jī)通用鍵盤是與主機(jī)分開(kāi)的獨(dú)立設(shè)備,其結(jié)構(gòu)外形已經(jīng)固定,,需要較大的安裝空間,。但在所研制的產(chǎn)品設(shè)備中,系統(tǒng)上電運(yùn)行后,,往往只需通用鍵盤中的少量按鍵即可完成人機(jī)通信或控制,,如數(shù)字鍵O~9、→,、←,、↑、↓,、Esc等按鍵,。在這種情況下,因?yàn)榻Y(jié)構(gòu)尺寸的限制,,并為了使操控方便,、設(shè)備簡(jiǎn)化等,不便采用通用鍵盤,,而需使通用鍵盤小型化,,并且與產(chǎn)品設(shè)備融為一體,。因此需要研制小型一體化專用鍵盤。

采用小型一體化專用鍵盤不但可完成按鍵的功能,,而且要求根據(jù)儀器外形進(jìn)行一體化優(yōu)化設(shè)計(jì),,使產(chǎn)品外型美觀、布局合理,。小型一體化專用鍵盤不僅適用于一般的儀器控制系統(tǒng),,而且可以用于軍工加固計(jì)算機(jī)系統(tǒng)中。軍工產(chǎn)品中的微機(jī)多為加固PC類計(jì)算機(jī),,其采用PC機(jī)通用鍵盤,。本文以PC機(jī)通用鍵盤為例,闡述研制小型一體化專用鍵盤的方法,。

1 設(shè)計(jì)原理

PC機(jī)通用鍵盤通過(guò)“PS/2”5芯電纜與主機(jī)相連,。該5芯電纜是鍵盤與主機(jī)之間信息與數(shù)據(jù)傳輸?shù)穆窂剑x如下:1端,,RESET,;2端,+5 V,;3端,,CLOCK;4端,,地,;5端,按鍵波形,。其中1,、2、4端的信號(hào)由主機(jī)內(nèi)部確定,;3端為時(shí)鐘信號(hào)CLOCK,;5端為按鍵波形,此波形隨按下按鍵的不同而變化,。

采用本文介紹的單片機(jī)控制系統(tǒng)和軟件編程的方法,,可以準(zhǔn)確模擬按鍵波形,使小型專用鍵盤的按鍵波形與PC機(jī)通用鍵盤對(duì)應(yīng)按鍵波形一致,。具體方法如下:首先用示波器測(cè)出PC機(jī)通用鍵盤各按鍵按下時(shí)的波形,,并保存起來(lái);然后用單片機(jī)控制系統(tǒng)和軟件編程模擬出各按鍵的CLOCK波形和按鍵波形,,并確保各按鍵的CLOCK波形和按鍵波形時(shí)序匹配,、形狀逼真,再將按鍵信息通過(guò)5芯電纜傳輸給主機(jī),。所選按鍵可根據(jù)需要安裝在產(chǎn)品的面板上等易于操作的地方,。當(dāng)操作者按下某鍵時(shí),,單片機(jī)控制系統(tǒng)產(chǎn)生相應(yīng)的CLOCK波形與按鍵波形送給主機(jī),實(shí)現(xiàn)按鍵功能,。這樣就完成了小型專用鍵盤的設(shè)計(jì),。

2 硬件電路及軟件

2.1 單片機(jī)控制電路

采用單片機(jī)系統(tǒng)實(shí)現(xiàn)小型專用鍵盤的硬件電路,如圖1所示,,設(shè)計(jì)完成的小型專用鍵盤的按鍵有18枚,,排成6行×3列的矩陣。單片機(jī)可根據(jù)需要安裝在主機(jī)內(nèi)部的接口板上,,按鍵則安裝在產(chǎn)品的面板等易操作的地方,。當(dāng)按下某按鍵時(shí),單片機(jī)控制系統(tǒng)將產(chǎn)生的CLOCK信號(hào)與按鍵信號(hào)通過(guò)“PS/2”5芯電纜傳送給主機(jī),。此硬件電路簡(jiǎn)單,可充分利用軟件編程來(lái)模擬按鍵波形,,實(shí)現(xiàn)鍵盤功能,。系統(tǒng)要判斷某一按鍵是否按下,可以利用軟件逐一查詢6行×3列矩陣中的按鍵,,然后輸出相應(yīng)的按鍵模擬波形,,從而實(shí)現(xiàn)按鍵功能。
 

2.2 舉 例

下面以按鍵“8”為例,,說(shuō)明如何從PC機(jī)通用鍵盤中“取出”所需按鍵,,并保持各按鍵功能,形成小型專用鍵盤,。首先用示波器測(cè)出在PC機(jī)通用鍵盤上按下“8”鍵時(shí),,5芯鍵盤通信電纜的3端和5端的波形。按鍵“8”的波形測(cè)量波形如圖2所示,。
 

示波器通道1指示信號(hào)電纜3端的CLOCK波形,,通道2為電纜5端的按鍵“8”的波形。用單片機(jī)軟件編程模擬圖2所示波形,。按照?qǐng)D1所示硬件電路,,編程使單片機(jī)89C51的P2.4端產(chǎn)生CLOCK波形,P2.6端產(chǎn)生按鍵波形,;P2.4端與5芯鍵盤電纜的3端相連,,P2.6端與電纜的5端相連。當(dāng)操作者按下產(chǎn)品面板上的“8”鍵時(shí),,程序執(zhí)行模擬“8”鍵波形的子程序,,并將模擬出的波形傳送給主機(jī),這樣就完成了按鍵“8”的設(shè)計(jì),。用同樣的方法,,可以設(shè)計(jì)出小型專用鍵盤上其他按鍵,。

3 設(shè)計(jì)中要注意的問(wèn)題

3.1 準(zhǔn)確地模擬按鍵波形

每一枚按鍵的波形包括電纜3端的CLOCK波形與電纜5端的按鍵波形。各按鍵的CLOCK波形相同,,如圖2所示通道1的波形,,由10個(gè)脈寬為40μs且間隔也為40μs的脈沖和1個(gè)脈寬為500 μs的脈沖形成CLOCK波形;而5端的按鍵波形則因按鍵的不同而各異,。要準(zhǔn)確地模擬按鍵波形并使之時(shí)序匹配,,即準(zhǔn)確地計(jì)算出脈沖的寬度,必須精確地計(jì)算出時(shí)間常數(shù),,做好延時(shí)程序,。如果單片機(jī)控制電路采用12 MHz晶振,則一個(gè)機(jī)器周期為1μs,,時(shí)間常數(shù)X的計(jì)算公式為:

(循環(huán)體字節(jié)數(shù))×機(jī)器周期×時(shí)間常數(shù)X=延時(shí)時(shí)間

在上式中,,循環(huán)體字節(jié)數(shù)、機(jī)器周期,、延時(shí)時(shí)間都已知,,則時(shí)間常數(shù)x易求得。例如,,延時(shí)1 ms程序如下:
 

利用上面公式可得到:(1+1+2)×1×X一1 000 μs則X=250μs,,將其帶入上面的程序段中,執(zhí)行該段程序,,能實(shí)現(xiàn)1 ms精確延時(shí),。準(zhǔn)確地計(jì)算出時(shí)問(wèn)常數(shù),精確地實(shí)現(xiàn)延時(shí),,就能確保模擬波形的準(zhǔn)確性,。3.2按鍵的抖動(dòng)問(wèn)題

凡有按鍵操作的系統(tǒng),在設(shè)計(jì)中一般都要考慮按鍵的去抖,。由于按鍵的機(jī)械觸點(diǎn)有彈性作用,,在閉合及斷開(kāi)瞬間均有抖動(dòng)過(guò)程,抖動(dòng)的時(shí)間長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),,一般為5~lO ms,。為了保證按鍵的1次閉合僅作1次按鍵輸入處理,就必須消除按鍵抖動(dòng)對(duì)系統(tǒng)的影響,。

采用軟件編程消除按鍵抖動(dòng)影響的方法是:當(dāng)檢測(cè)到某一按鍵按下時(shí),,執(zhí)行相應(yīng)模擬按鍵波形的子程序后,應(yīng)再判斷該鍵是否彈起,,若沒(méi)有彈起則等待,,直至按鍵彈起;按鍵彈起后,延時(shí)20 ms再繼續(xù)執(zhí)行后面的程序,,以消除按鍵抖動(dòng)現(xiàn)象,。

3.3 同行多個(gè)按鍵同時(shí)有效的問(wèn)題

當(dāng)有按鍵操作,按下某一鍵時(shí),,可能出現(xiàn)該鍵同一行線上的其他多個(gè)按鍵同時(shí)有效的現(xiàn)象,。采用屏蔽非當(dāng)前列線的方法可解決這一問(wèn)題:當(dāng)檢測(cè)有無(wú)鍵按下時(shí),須對(duì)列線和行線依次掃描,,當(dāng)掃描至某一列線時(shí),,該列線置“O”,同時(shí)其他列線置“1”,,這樣就屏蔽了非當(dāng)前列線,,從而準(zhǔn)確地判斷出某鍵是否按下。

3.4 按鍵波形被吃掉的問(wèn)題

有些按鍵的波形只有1段,,如圖2所示“8”鍵的波形,;而有些按鍵的波形有2段或2段以上,如圖3所示“十”上移鍵的波形,。2段波形間隔1.6 μs,,用單片機(jī)仿真按鍵波形時(shí),可看到第1段波形形成后,,其后3 ms的時(shí)間內(nèi)時(shí)鐘CLOCK保持低電平,導(dǎo)致按鍵第2段波形被吃掉,。為了解決這一問(wèn)題,,在模擬具有2段以上波形的按鍵時(shí),在2段波形之間應(yīng)加入3 ms的延時(shí),,使按鍵的第2段波形脫離時(shí)鐘CLOCK的低電平區(qū),。這樣按鍵的第2段波形就不會(huì)被吃掉,從而保證了按鍵波形的完整,,實(shí)現(xiàn)按鍵功能,。
 

結(jié) 語(yǔ)

采用本文介紹的設(shè)計(jì)方法制作的小型一體化加固機(jī)專用鍵盤,已應(yīng)用到產(chǎn)品中,,其功能穩(wěn)定可靠,,取得了良好效果。實(shí)際工作中,,可根據(jù)產(chǎn)品的結(jié)構(gòu)特點(diǎn)和需要,,應(yīng)用該設(shè)計(jì)方法研制小型一體化專用鍵盤,具有推廣意義,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。