旧计算器打造单片机通用键盘实例

旧计算器打造单片机通用键盘实例

ID:40641758

大小:94.00 KB

页数:7页

时间:2019-08-05

旧计算器打造单片机通用键盘实例_第1页
旧计算器打造单片机通用键盘实例_第2页
旧计算器打造单片机通用键盘实例_第3页
旧计算器打造单片机通用键盘实例_第4页
旧计算器打造单片机通用键盘实例_第5页
资源描述:

《旧计算器打造单片机通用键盘实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、旧计算器打造单片机通用键盘实例2010-08-2520:49:26来源:作者:【大中小】浏览:220次评论:0条计算器品种繁多、制造精美、触发灵敏、价格便宜。用旧计算器改制成单片机系统的通用键盘,可以方便地与任意的单片机应用系统连接,不管是在实验制作还是实际应用中,都不失为一种简捷方便的方法。  笔者用计算器做了一个通用键盘,在几个应用系统中使用。效果比用普通的按键好,使用非常方便。  电路见图1、图2。先选择一个外观适宜美观的计算器(本文以RS一3890型计算器为例),打开后盖,找出键盘矩阵的行线和列线,并做上标记。画一张该矩阵键盘和符号的对应图,如图2所示。  把原键盘的行线和列线通往掩

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

3、波特率,以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 

4、 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是笔者在某应用系统中所定义的,读者也可按自己应用程序的要求改变键

5、值。KEYREC值是键盘发出的对应于图2所示键符的实际代码。键盘发送源程序:ORG0000LJMPMAINORG0030MAIN:MOVSP,#60HMOVTMOD,#20H;波特率设置MOVTH1,#0F2HMOVTL1,#0F2HMOVSCON,#50HMOVPCON,#00HSETBTR1CLRTIMAIN0:LCALLKEY;查询键盘MOVA,R5JNZSAVESJMPMAIN0SAVE:MOVSBUF,R5;有按键SE1:JBCTI,SE2;键码串行发送,等待发送SJMPSE1SE2:CLRP1.7;输出讯响控制信号NOPNOPNOPNOPNOPNOPSETBP1.7MAIN1:L

6、CALLKEY;等待键释放MOVA,R5JNZMAIN1LJMPMAIN0ORG0090KEY:MOVP3,#0FFH;矩阵键盘扫描MOVP1,#0FFHMOV24H,#00HSETB26HSETB27HMOVP1,24HJNBP3.2,PD1;查询有按键否JNBP3.3,PD1JNBP3.4,PD1JNBP3.5,PD1JNBP3.7,PD1MOVR5,#00H;无按键返回RETPD1:LCALLDEL;消抖JNBP3.2,PD2;再查询按键JNBP3.3,PD2JNBP3.4,PD2JNBP3.5,PD2JNBP3.7,PD2MOVR5,#00H;无按键返回RETPD2:MOVR7,#0

7、6H;置6条行扫描线MOVR6,#01H;从第一位开始MOVR3,#01H;第一个键码为01LOOP:MOVA,R6;行线扫描CPLAMOVP1,AJNBP3.2,PD3;判哪一列有按键JNBP3.3,PD4JNBP3.4,PD5JNBP3.5,PD6JBP3.7,NEXTMOVR4,#18H;置该列键码SJMPFINDPD3:MOVR4,#00H;置该列键码SJMPFINDPD4:MOVR4,#06H;置该

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。