




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
旧计算器打造单片机通用键盘实例2010-08-25 20:49:26 来源: 作者: 【大 中 小】 浏览:220次 评论:0条 计算器品种繁多、制造精美、触发灵敏、价格便宜。用旧计算器改制成单片机系统的通用键盘,可以方便地与任意的单片机应用系统连接,不管是在实验制作还是实际应用中,都不失为一种简捷方便的方法。笔者用计算器做了一个通用键盘,在几个应用系统中使用。效果比用普通的按键好,使用非常方便。电路见图1、图2。先选择一个外观适宜美观的计算器(本文以RS一3890型计算器为例),打开后盖,找出键盘矩阵的行线和列线,并做上标记。画一张该矩阵键盘和符号的对应图,如图2所示。把原键盘的行线和列线通往掩膜芯片的印刷线路切断,然后用细漆包线将行线和列线接到AT89C2051单片机的相应L/O口上,作为新键盘的检测线。本文用P1.0P1.5作行线,用P3.2P3.7作列线,如需要更多按键,单片机可采用AT89C51。利用单片机的一个I/O口作讯响控制口(本文用P1.7),以控制原计算器讯响器发声。利用单片机串行口输出键盘代码,完成向单片机应用系统提供按键控制信息的工作。本键盘与应用系统只有三根连线,电源取自应用系统,使用极为方便。键盘用发送程序及应用系统键值接收程序流程图见图3、图4。将键盘代码发送源程序写入89C2051,键盘代码接收源程序写入应用系统中的单片机,两程序设定相同的波特率,以KEYNUM作为键盘信息出口,再根据KEYREC和KEYNUM值在应用系统中作为控制程序代码,完成对应用系统的操作。符键码KEYREC键值KEYNUM键符键码KEYREC键值KEYNUMO0lH0lH+IOH14H702H0DHllH13H03H1CHON/C12H00H04H11H213H06H05H15H914H0FHH06HICH515H0AH07H12HC16H04HMr08H19H17H16H09H02H0FF18HOCHMR0AH18H119H05H+/-OBH03H8lAH0EH0CH08H41BH09H30DH07HM-1CH1AH0EH17HM+lDHlBH60FH0BHlEHlCH附表给出键码和接收后转换的键值韵对应关系。表中键值KEYNUM是笔者在某应用系统中所定义的,读者也可按自己应用程序的要求改变键值。KEYREC值是键盘发出的对应于图2所示键符的实际代码。键盘发送源程序: ORG 0000 LJMP MAIN ORG 0030MAIN: MOV SP ,#60H MOV TMOD, #20H;波特率设置 MOV TH1,#0F2H MOV TL1,#0F2H MOV SCON,#50H MOV PCON,#00H SETB TR1 CLR TIMAIN0:LCALL KEY;查询键盘 MOV A,R5 JNZ SAVE SJMP MAIN0SAVE: MOV SBUF,R5;有按键SE1: JBC TI,SE2;键码串行发送,等待发送 SJMP SE1SE2: CLR P1.7;输出讯响控制信号 NOP NOP NOP NOP NOP NOP SETB P1.7MAIN1:LCALL KEY;等待键释放 MOV A,R5 JNZ MAIN1 LJMP MAIN0 ORG 0090KEY: MOV P3,#0FFH;矩阵键盘扫描 MOV P1,#0FFH MOV 24H,#00H SETB 26H SETB 27H MOV P1,24H JNB P3.2,PD1;查询有按键否 JNB P3.3,PD1 JNB P3.4,PD1 JNB P3.5,PD1 JNB P3.7,PD1 MOV R5,#00H;无按键返回 RETPD1: LCALL DEL;消抖 JNB P3.2,PD2;再查询按键 JNB P3.3,PD2 JNB P3.4,PD2 JNB P3.5,PD2 JNB P3.7,PD2 MOV R5,#00H;无按键返回 RETPD2: MOV R7,#06H;置6条行扫描线 MOV R6,#01H;从第一位开始 MOV R3,#01H;第一个键码为01LOOP: MOV A,R6;行线扫描 CPL A MOV P1,A JNB P3.2,PD3;判哪一列有按键 JNB P3.3,PD4 JNB P3.4,PD5 JNB P3.5,PD6 JB P3.7,NEXT MOV R4,#18H;置该列键码 SJMP FINDPD3: MOV R4,#00H;置该列键码 SJMP FINDPD4: MOV R4,#06H;置该列键码 SJMP FINDPD5: MOV R4,#0CH;置该列键码 SJMP FINDPD6: MOV R4,#12H;置该列键码FIND: MOV A,R3;行列键码相加 ADD A,R4 MOV R5,A;键码输出 SJMP DONENEXT: MOV A,R6;扫描下一行线 RL A MOV R6,A INC R3 DJNE R7,LOOP MOV R5,#00HDONE: RET ORG 0100DEL: MOV R2,#0BH;延时子程序T1: MOV A,#0AAHT2: DEC A JNZ T2 DJNZ R2,T1RET应用系统键盘接收中断程序:(1)主程序初始化包括: ORG 0000H LJMP MAIN;主程序 ORG 0023H LJMP KEYR;串行中断 ORG XXXXHMAIN:MOV SP,#XXH;主程序初始化包含串行中断设置 MOV TMOD,#20H MOV TH1,#0F2H MOV TL1,#0F2H MOV SCON,#50H MOV PC0N,#00H SETB TR1 SETB EA SETB ES SETB PS ORG XXXXHKEYR:PUSH A PUSH DPH PUSH DPL MOV KEYREC,SBUF;接收键码 CLR RI;清接收中断 MOV DPTR,#KTAB;键位表 MOV A,KEYREC;接收到的键码 MOVC A,A+DPTR;查表转为所需键值 MOV KEYNUM,A POP DPL POP DPH POP A RET1KTAB:0FFH, 01H,0D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自动化故障监控系统创新创业项目商业计划书
- 水产与健康食品搭配创新创业项目商业计划书
- 自动驾驶算法创新创业项目商业计划书
- 农产品直销与体验创新创业项目商业计划书
- 硅传声器创新创业项目商业计划书
- 现场急救知识培训观后感
- 辐射防护安全知识培训课件总结
- 现场安全知识培训目录课件
- 2025年文化产业园产业集聚与服务体系优化研究报告
- 2025年文化产业发展与文化资源区域整合的数字文化产业创新发展报告
- 传染病学 第一讲传染病学总论
- GB/T 3277-1991花纹钢板
- GA/T 486-2015城市道路单向交通组织原则
- 低空无人机遥感技术及应用课件
- 腹横肌平面阻滞课件
- UASB厌氧塔设计计算书
- 2009-2022历年江苏省镇江市丹阳市事业单位考试《综合知识和能力素质(会计审计类岗位)》真题含答案2022-2023上岸必备带详解版3
- 项目工作计划进度表Excel模板(推荐)
- 筷子兄弟小苹果电声乐队总谱
- 脓毒症的诊断和治疗进展ppt课件
- 部编版一年级语文上册表格式教案(教学设计)
评论
0/150
提交评论