用老電腦設(shè)計(jì)的單片機(jī)系統(tǒng)通用鍵盤(pán)的方法
用老電腦設(shè)計(jì)的單片機(jī)系統(tǒng)通用鍵盤(pán)的方法
本文引用地址:http://butianyuan.cn/article/166491.htm計(jì)算器品種繁多、制造精美、觸發(fā)靈敏、價(jià)格便宜。用舊計(jì)算器改制成單片機(jī)系統(tǒng)的通用鍵盤(pán),可以方便地與任意的單片機(jī)應(yīng)用系統(tǒng)連接,不管是在實(shí)驗(yàn)制作還是實(shí)際應(yīng)用中,都不失為一種簡(jiǎn)捷方便的方法。
筆者用計(jì)算器做了一個(gè)通用鍵盤(pán),在幾個(gè)應(yīng)用系統(tǒng)中使用。效果比用普通的按鍵好,使用非常方便。
電路見(jiàn)圖1、圖2。先選擇一個(gè)外觀適宜美觀的計(jì)算器(本文以RS-3890型計(jì)算器為例),打開(kāi)后蓋,找出鍵盤(pán)矩陣的行線(xiàn)和列線(xiàn),并做上標(biāo)記。畫(huà)一張?jiān)?b>矩陣鍵盤(pán)和符號(hào)的對(duì)應(yīng)圖,如圖2所示。
把原鍵盤(pán)的行線(xiàn)和列線(xiàn)通往掩膜芯片的印刷線(xiàn)路切斷,然后用細(xì)漆包線(xiàn)將行線(xiàn)和列線(xiàn)接到AT89C2051單片機(jī)的相應(yīng)L/O口上,作為新鍵盤(pán)的檢測(cè)線(xiàn)。
本文用P1.0~P1.5作行線(xiàn),用P3.2~P3.7作列線(xiàn),如需要更多按鍵,單片機(jī)可采用AT89C51。利用單片機(jī)的一個(gè)I/O口作訊響控制口(本文用P1.7),以控制原計(jì)算器訊響器發(fā)聲。
利用單片機(jī)串行口輸出鍵盤(pán)代碼,完成向單片機(jī)應(yīng)用系統(tǒng)提供按鍵控制信息的工作。本鍵盤(pán)與應(yīng)用系統(tǒng)只有三根連線(xiàn),電源取自應(yīng)用系統(tǒng),使用極為方便。
鍵盤(pán)用發(fā)送程序及應(yīng)用系統(tǒng)鍵值接收程序流程圖見(jiàn)圖3、圖4。將鍵盤(pán)代碼發(fā)送源程序?qū)懭?9C2051,鍵盤(pán)代碼接收源程序?qū)懭霊?yīng)用系統(tǒng)中的單片機(jī),兩程序設(shè)定相同的波特率,以KEYNUM作為鍵盤(pán)信息出口,再根據(jù)KEYREC和KEYNUM值在應(yīng)用系統(tǒng)中作為控制程序代碼,完成對(duì)應(yīng)用系統(tǒng)的操作。
| 鍵碼 | 鍵值 | 鍵 | 鍵碼 | 鍵值 |
O | 0lH | 0lH | + | IOH | 14H |
7 | 02H | 0DH | × | llH | 13H |
03H | 1CH | ON/C | 12H | 00H | |
% | 04H | 11H | 2 | 13H | 06H |
05H | 15H | 9 | 14H | 0FHH | |
06H | ICH | 5 | 15H | 0AH | |
07H | 12H | C | 16H | 04H | |
Mr | 08H | 19H | 17H | 16H | |
09H | 02H | 0FF | 18H | OCH | |
MR | 0AH | 18H | 1 | 19H | 05H |
+/- | OBH | 03H | 8 | lAH | 0EH |
0CH | 08H | 4 | 1BH | 09H | |
3 | 0DH | 07H | M- | 1CH | 1AH |
0EH | 17H | M+ | lDH | lBH | |
6 | 0FH | 0BH | lEH | lCH |
附表給出鍵碼和接收后轉(zhuǎn)換的鍵值韻對(duì)應(yīng)關(guān)系。表中鍵值KEYNUM是筆者在某應(yīng)用系統(tǒng)中所定義的,讀者也可按自己應(yīng)用程序的要求改變鍵值。KEYREC值是鍵盤(pán)發(fā)出的對(duì)應(yīng)于圖2所示鍵符的實(shí)際代碼。
評(píng)論