DIY编程器网

标题: 用老电脑设计的单片机系统通用键盘的方法 [打印本页]

作者: liyf    时间: 2012-1-27 13:08
标题: 用老电脑设计的单片机系统通用键盘的方法
用老电脑设计的单片机系统通用键盘的方法
计算器品种繁多、制造精美、触发灵敏、价格便宜。用旧计算器改制成单片机系统的通用键盘,可以方便地与任意的单片机应用系统连接,不管是在实验制作还是实际应用中,都不失为一种简捷方便的方法。
笔者用计算器做了一个通用键盘,在几个应用系统中使用。效果比用普通的按键好,使用非常方便。
电路见图1、图2。先选择一个外观适宜美观的计算器(本文以RS-3890型计算器为例),打开后盖,找出键盘矩阵的行线和列线,并做上标记。画一张该矩阵键盘和符号的对应图,如图2所示。



把原键盘的行线和列线通往掩膜芯片的印刷线路切断,然后用细漆包线将行线和列线接到AT89C2051单片机的相应L/O口上,作为新键盘的检测线。
本文用P1.0~P1.5作行线,用P3.2~P3.7作列线,如需要更多按键,单片机可采用AT89C51。利用单片机的一个I/O口作讯响控制口(本文用P1.7),以控制原计算器讯响器发声。
利用单片机串行口输出键盘代码,完成向单片机应用系统提供按键控制信息的工作。本键盘与应用系统只有三根连线,电源取自应用系统,使用极为方便。
键盘用发送程序及应用系统键值接收程序流程图见图3、图4。将键盘代码发送源程序写入89C2051,键盘代码接收源程序写入应用系统中的单片机,两程序设定相同的波特率,以KEYNUM作为键盘信息出口,再根据KEYREC和KEYNUM值在应用系统中作为控制程序代码,完成对应用系统的操作。


            
            
              符
            
            
              键码
            KEYREC
            
            
              键值
            KEYNUM
            
            
              键
              符
            
            
              键码
            KEYREC
            
            
              键值
            KEYNUM
            
        
        
            
                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
            
        

附表给出键码和接收后转换的键值韵对应关系。表中键值KEYNUM是笔者在某应用系统中所定义的,读者也可按自己应用程序的要求改变键值。KEYREC值是键盘发出的对应于图2所示键符的实际代码。



                          
                       
                          
                               




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2