


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ORG 0000H LJMP START ORG 0100H SDATA EQU 8004H ;数码管数据线地址 KHANG EQU 8001H ;键盘行地址 GLIE EQU 8002H ;显示位选地址 和 键盘列地址 START:MOV 40H,#04H ;显示缓存区 MOV 41H,#08H MOV 42H,#04H MOV 43H,#02H MOV 44H,#02H MOV 45H,#00H MOV SP,#50H ;定义指针 K1:MOV R4,#20H ;显示位显 G5 MOV R0,#40H ;显示首地址 K2:MOV A,R0 MOV DPTR,#TAB ;转换字符 MOVC A,A+DPTR MOV DPTR,#SDATA ;数码管数据线地址 MOVX DPTR,A MOV DPTR,#GLIE ;显示位选地址 MOV A,R4 MOVX DPTR,A LCALL YAN2 ;延时10ms 充分显示 LCALL KEY ;判断是否有键按下 CJNE A,#0FH,M2 ;A!=0F 有键按下转到M2处理 M1:MOV A,R4 JB ACC.0,K1 ;判断是否显示到最后G0出 若显示到最后转到K1重新显示 RR A ; 没显示到最后一位 右移 显示下一位 MOV R4,A INC R0 ;地址加一 LJMP K2 ;按键粗处理 M2:LCALL YAN2 ;去抖动的延时5ms就行了 LCALL KEY CJNE A,#0FH,M3 ;去抖动 若是抖动转到M1 不做按键处理 LJMP M1 M3:LCALL KEYDATA ;不是抖动 则判断键值 MOV R1,#41H ;显示左移 MOV 40H,R1 INC R1 MOV 41H,R1 INC R1 MOV 42H,R1 INC R1 MOV 43H,R1 INC R1 MOV 44H,R1 MOV 45H,R6 ;将键值存储到显存区 LJMP M1 ;粗判断是否有键按下子程序 ; A=0FH无键按下 ;A!=0FH有键按下 KEY:MOV DPTR,#GLIE ;键盘列地址 MOV A,#00H MOVX DPTR,A MOV DPTR,#KHANG ;键盘行地址 MOV A,#0FH MOVX DPTR,A MOVX A,DPTR ;读行 ANL A,#0FH ;屏蔽高四位 RET ;键值判断处理子程序 ;处理后得到的键值存储在R6中 KEYDATA:MOV R6,#00H ;键值初值 MOV R5,#0DFH ;扫描键盘列位选 PL:MOV DPTR,#GLIE ;键盘列地址 MOV A,R5 MOVX DPTR,A MOV DPTR,#KHANG ;键盘行地址 MOV A,#0FH MOVX DPTR,A MOVX A,DPTR ;读行 JNB ACC.3,PW1 ;第一行有键按下 JNB ACC.2,PW2 ;第二行有键按下 JNB ACC.1,PW3 ;第三行有键按下 JNB ACC.0,PW4 ;第四行有键按下 MOV A,R5 ;是否扫描到最后一列 不是的话转移PL2处理后扫描下一列 JB ACC.0,PL1 MOV R6,#18H ;是最后一列的话 说明去抖动失败 18H是标志位 RET PL1:RR A ;跳转之前R5已经赋值给A了 所以直接右移就行了 MOV R5,A INC R6 ;下一列键值初值 LJMP PL ;继续扫描下一列 PW1:MOV A,#00H ;第一行有键按下的处理 ADD A,R6 MOV R6,A LJMP PL2 PW2:MOV A,#06H ;第二行有键按下的处理 ADD A,R6 MOV R6,A LJMP PL2 PW3:MOV A,#0CH ;第三行有键按下的处理 ADD A,R6 MOV R6,A LJMP PL2 PW4:MOV A,#12H ;第四行有键按下的处理 ADD A,R6 MOV R6,A PL2:LCALL KEY ;键是否弹起 没有的话 循环等待 CJNE A,#0FH,PL2 LCALL YAN2 ;去抖动的延时5ms就行了 LCALL KEY CJNE A,#0FH,PL2 ;延时后再判断键是否弹起 RET ;延时2 延时5ms YAN2:MOV R3,#10 D:MOV R7,#250 DJNZ R7,$ DJNZ R3,D RET ;延时1 延时10ms YAN1:MOV R3,#20 D1:MOV R7,#250 DJNZ R7,$ DJNZ R3,D1 RET ;TAB为0-F16个共阴极断码值 ;TAB1为多余8个按键的断码 还有一个标志码 TAB:DB 3FH,06H,5B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房子出资协议书
- 农村房产赠与协议书
- 领养孩子合同协议书
- 代销售协议书
- 新能源行业品牌推广2025年市场拓展策略与品牌合作共赢报告
- 工业互联网平台微服务架构性能测试报告2025:安全性与稳定性评估
- 2025年风能发电项目融资渠道与风险控制研究报告
- 聚焦2025年地热能供暖与智慧城市能源系统融合创新发展报告
- 聚焦新能源技术创新:绿色金融支持政策2025年研究报告
- 镀锡工区块链溯源应用考核试卷及答案
- 婚礼婚纱款式指南
- 2026届高考备考数学总复习的一些想法和做法
- 粤教粤科版(2024)小学科学一年级上册《常见的天气》教案
- 四渡赤水军事教学课件
- 2025年浙江省能源集团招聘笔试备考题库(带答案详解)
- 项目课程的概念原理与设计
- 小儿腹股沟疝麻醉
- 公司与劳务派遣公司合同范本
- 经络腧穴学-课件
- 智能垃圾分类回收箱
- 中州国信特殊资产管理断供保房服务相关问题解答
评论
0/150
提交评论