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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
旧计算器打造单片机通用键盘实例

旧计算器打造单片机通用键盘实例 2010-08-25 20:49:26 来源: 作者: 【大 中 小】 浏览:220次 评论:0条 计算器品种繁多、制造精美、触发灵敏、价格便宜。用旧计算器改制成单片机系统的通用键盘,可以方便地与任意的单片机应用系统连接,不管是在实验制作还是实际应用中,都不失为一种简捷方便的方法。   笔者用计算器做了一个通用键盘,在几个应用系统中使用。效果比用普通的按键好,使用非常方便。   电路见图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所示键符的实际代码。 键盘发送源程序: ORG 0000 LJMP MAIN ORG 0030 MAIN: MOV SP ,#60H MOV TMOD, #20H;波特率设置 MOV TH1,#0F2H MOV TL1,#0F2H MOV SCON,#50H MOV PCON,#00H SETB TR1 CLR TI MAIN0:LCALL KEY;查询键盘 MOV A,R5 JNZ SAVE SJMP MAIN0 SAVE: MOV SBUF,R5;有按键 SE1: JBC TI,SE2;键码串行发送,等待发送 SJMP SE1 SE2: CLR P1.7;输出讯响控制信号 NOP NOP NOP NOP NOP NOP SETB P1.7 MAIN1:LCALL KEY;等待键释放 MOV A,R5 JNZ MAIN1 LJMP MAIN0 ORG 0090 KEY: MOV P3,#0FFH;矩阵键盘扫描 MOV P1,#0FFH MOV 24H,#00H SETB 26H SETB 27H MOV P1,24H JN

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档