《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一種頻率編碼鍵盤的設計與實現

一種頻率編碼鍵盤的設計與實現

2009-03-09
作者:徐元軍 陶 然 王衛江

  摘? 要: 基于頻率編碼的思想,設計了一種頻率編碼鍵盤,分析了電路的工作機理,并給出了有關的匯編程序,從而達到了僅用一條I/O線識別多個按鍵的目的,簡化了單片機應用系統中的鍵盤接口,節約了單片機有限的I/O引腳資源。

  關鍵詞: 頻率編碼? 單片機? I/O設備

?

  單片機在消費電子、自動化儀表、工業控制等領域已得到廣泛的應用,它以靈活的設計、低廉的成本、微小的功耗在電子器件市場中占有十分重要的地位。今天越來越多的芯片廠商在不遺余力地競爭這個應用空間,如INTEL、NEC、MICROCHIP等公司都已形成了自己強大的產品線,給產品的設計帶來了越來越多的選擇。

  幾乎在每一個單片機應用系統中,鍵盤都是必備的人機交互的主要輸入設備。傳統的按鍵識別方法是采用編碼式鍵盤芯片,如8279;或采用軟件控制多條I/O線掃描的方法。這種方法用到的I/O引腳數常常在4條以上。然而單片機I/O引腳資源有限,特別是在引腳數少、功耗低、系統成本敏感的場合,成本和功耗決定了設計人員不可能另外擴充I/O空間,如采用ATMEL公司的AT89C1051/AT89C2051及AT90SXX系列、MICROCHIP公司的PIC16CXX系列的單片機時就是這樣。如何利用有限的I/O資源實現多個按鍵的識別是經常遇到的問題。作者根據實際的開發經驗,結合單片機自身的特點,提出一種利用單片機的定時器/計數器和測頻原理、用一個I/O引腳實現多個按鍵識別的方法,并給出了 MCS-51單片機的匯編源程序。由于在各種型號的單片機中,定時器/計數器幾乎是一種必備的配置資源,因此其原理很容易移植到其它型號的單片機應用系統中。

1 硬件電路的分析

  頻率編碼式鍵盤的硬件電路如圖1所示。由NE555定時器組成的多諧振蕩器產生一定頻率的方波[1],單片機利用其定時器/計數器對這個方波的頻率進行測量。NE555定時器組成的多諧振蕩器的放電時間常數為:τ=RS·C1,而充電時間常數為:τ=(Ri+RS)C1,(i=1,2,···,n),n為按鍵的數目。

?

?

??? 當不同的按鍵按下時,NE555定時器組成的多諧振蕩器的充電時間常數不同,放電時間常數不變,因而輸出方波的頻率也不同,使得不同的鍵按下時對應不同的輸出頻率。只要準確地測量出NE555定時器的輸出頻率,就可以精確地識別出被按下的按鍵號,這就是頻率編碼式鍵盤設計的理論依據。

  在實際應用中,考慮到電阻阻值和電容容量的分散性以及電路的時間穩定性和溫度穩定性,在滿足單片機測量頻率的分辨率和量程的基礎上,應盡量將各個鍵之間的頻率間隔拉大。這樣即使每一按鍵輸出的頻率有一定的誤差,但只要保證輸出的各個頻率互不相同,就可以通過軟件去判斷被測的頻率究竟落在了哪一個范圍,而不是判斷落在了哪一個頻點上。這樣使設計的軟件對電路產生的誤差具有一定的適應性,從而擺脫了本電路對元器件參數的高度敏感性,大大加快了電路調試和批量生產的速度。

2 匯編程序的設計

  在作者設計的系統中,采用AT89C2051單片機,外接晶振頻率為12MHz。單片機僅具有15個I/O線,由于系統采用電池供電,需要進行低功耗設計。而采用本電路后,簡化了系統的硬件,滿足了低功耗的要求,另外的14 個I/O線能滿足一般的便攜式應用。本系統用到8個按鍵,鍵盤電路的中C1=C2=0.01μF,RS=150Ω,其余的阻容值和設計的中心頻率如表1所示。其中,中心頻率是指在電路參數誤差為零時對應的頻率。由于實際電路中誤差總是存在的,所以頻率就落在此中心頻率附近。??

?

?

  在軟件設計上要實現以下三個功能:(1)判斷有無鍵按下;(2)有鍵按下時,進行按鍵消抖;(3)正確識別被按下的按鍵編號。首先設置單片機定時器/計數器的工作方式,讓定時器/計數器T0設為外部計數方式,允許T0中斷;并給TL0、TH0賦初值FFH,一旦有鍵按下時,T0便產生中斷,由此可以判斷是否有鍵按下;然后延時8ms實現按鍵抖動的消除;接著將T1設為內部定時方式,定時時間為50ms,T0在這50ms的時間里對NE555輸出頻率信號進行計數,通過對計數值的大小范圍的判斷就可以識別按鍵的編號。有關延時和測頻的程序很常見,讀者可以參考有關資料。按鍵識別這部分的匯編程序如下文?眼2?演。程序入口參數FRQH、FRQL分別是50ms定時時間內對外部頻率計數的高位和低位,判斷結果放在KEYCODE中。

  KEYCODE ??? EQU 30H? ??? ;存放鍵值(1-8 )有效;

???????????????????????????? ;0FFH無鍵按下,0EEH出錯

  FRQH??????? EQU 32H? ??? ;頻率測量值高位

  FRQL ?????? EQU 31H? ??? ;頻率測量值低位

  ORG 0000H

  MOV DPTR,#TABLE

  MOV R0,#0

  MOV KEYCODE,#0

NEXT:MOV A,R0

  MOVC A,@A+DPTR?

  INC R0?

  CJNE A,FRQH,J1?

  MOV A,R0?

  INC R0?

  MOVC A,@A+DPTR?

  CJNE A,FRQL,J2?

  MOV KEYCODE,#0EEH   ;頻率在邊界上出錯?

  LJMP WAIT?

J1:JNC? WAIT?

  INC R0?

  NNT:INC KEYCODE?

  LJMP NEXT

J2:JNC WAIT

????JMP NNT

WAIT:MOV A,KEYCODE

? ;? ...

? ;? ...????? 添加用戶應用程序

? ; 判斷頻率區間上下限的數據表:

TABLE:?DB 00H,0FAH,01H,5EH,01H,0C2H

????????DB 02H,26H,02H,8AH,02H,0EEH

????????DB 03H,52H,03H,0B6H,04H,1AH

????????DB 04H,7EH,0FFH,0FFH

3 特點及注意事項

  采用頻率編碼具有抗干擾力強、接口簡單的優點,并且易于實現光電隔離。在鍵盤與主機分離的場合,還可以大大簡化二者互連的電纜。另外,若將此信號去調制紅外發射組件,也可以實現遙控鍵盤而無需額外的編碼邏輯。但是它對多鍵的同時按下和單鍵的連擊檢測能力較差,在與實際應用結合的時候,應盡量避免這兩種情況的出現并恰當地進行處理。同時NE555的上限工作頻率是500kHz,采用傳統的MCS-51單片機測量外部頻率時,最高可測的頻率為晶振頻率的24分頻,設計中應考慮可用的頻率范圍。采用其它型號的單片機時,也應注意這一點。

?

參考文獻

1 陳永甫.555集成電路應用800例.北京:電子工業出版社,1992

2 涂時亮.單片微機MCS-51用戶手冊. 上海:復旦大學出版社,1990

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人免费视频无遮挡在线看 | 中文字幕二区 | 日韩欧美天堂 | 亚洲毛片在线观看 | 成年男人永久免费看片 | 亚洲国产成人久久笫一页 | 亚欧乱色视频网站大全 | 一级毛片免费不卡夜夜欢 | 久青草国产在视频在线观看 | 国产vr一区二区在线观看 | 深夜在线网站 | 依欧美视频 | 欧美高清在线视频一区二区 | 日韩伦理片在线播放 | 亚洲第一综合网 | 精品国产一区二区 | 特级黄色片视频 | 激情五月视频 | 亚洲青草 | 国产成人在线免费观看 | 日韩不卡一区二区 | 波多野结衣一级视频 | 97青青草原国产免费观看 | 丁香天堂网| 看全色黄大色黄女片做 | 青青草在视线频久久 | 久久精品8 | 成人网在线看 | 极品蜜桃臀美女啪啪 | 日韩欧美亚洲中字幕在线播放 | 免费的黄视频 | 黑人巨大videos极度另类 | 狠狠色综合久久久久尤物 | 69xxⅹ色视频免费看 | 国产亚洲免费观看 | 伊人网视频在线观看 | 一级片在线视频 | 国产欧美日韩亚洲精品区2345 | 视频h在线| 欧美视频精品在线观看 | 97青青草|