




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上KEYBUF EQU 40H ;键号存放单元 ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV KEYBUF,#0 ;初始键号设位0,也可以为任意值 MOV R0,#30H ;显示首地址 MOV R2,#0CH ;计算数据存放单元个数 CLR AQING: MOV R0,A ;将数据存放单元清零 INC R0 DJNZ R2,QING MOV P0,#8FH ;关闭显示 MOV R1,#30H ;将显示首地址存放R1里;=;五位无符号显示子程序DIS1: MOV R0,#30H ;把显示数据第一位放在R0里 MOV R2,#04H ;把显示
2、的位码放在R2里 MOV R3,#05H ;把显示的长度放在R3里DIS2: MOV A,R0 ANL A,#0FH ;屏蔽显示数据的高四位 MOV B,A MOV A,R2 ANL A,#0FH ;屏蔽位码的高四位 SWAP A ORL A,B MOV P0,A ;送总显示数据到P0显示 LCALL DELY4ms ;调用延时4ms INC R0 ;取下一个显示数据 DEC R2 DJNZ R3,DIS2 ;四位显示晚后重新开始显示;=;键盘扫描子程序WAIT: MOV P1,#0FFH ;P1口送高电平 CLR P1.0 ;第一行清零 MOV A,P1 ;读P1口 ANL A,#0F0H
3、;低位屏蔽 XRL A,#0F0H ;判断低位是否有低电平 ,即判断是否有按键按下 JZ NOKEY1 ;地位有低电平继续扫描,否者跳到第而行去扫描 LCALL DELY10ms ;延时10ms去抖在进行判断是否有按键按下 MOV A,P1 ;继续读P1口 ANL A,#0F0H ;判断低位是否有低电平 CJNE A,#0E0H,NK1 ;如果扫描数据不为0E0H就转到NK1 MOV KEYBUF,#0 ;否者判断为0号键 AJMP DK ;转DK1查表程序NK1: CJNE A,#0D0H,NK2 ;如果扫描数据不为0D0H就转到NK2 MOV KEYBUF,#1 ;否者判断为1号键 AJM
4、P DK ;转DK2查表程序NK2: CJNE A,#0B0H,NK3 ;如果扫描数据不为0B0H就转到NK3 MOV KEYBUF,#2 ;否者判断为2号键 AJMP DK ;转DK3查表程序NK3: CJNE A,#70H,NK4 ;如果扫描数据不为70H就转到NK4 LJMP SAN_CHUNK4: NOPNOKEY1: MOV P1,#0FFH ;和上面相同 CLR P1.1 MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY2 LCALL DELY10MS MOV A,p1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY2 MOV A
5、,P1 ANL A,#0F0H CJNE A,#0E0H,NK5 MOV KEYBUF,#3 AJMP DKNK5: CJNE A,#0D0H,NK6 MOV KEYBUF,#4 AJMP DKNK6: CJNE A,#0B0H,NK7 MOV KEYBUF,#5 AJMP DKNK7: CJNE A,#70H,NK8 MOV KEYBUF,#10 ;否者判断为3号键 AJMP DK ;转DK4查表程序NK8: NOPNOKEY2: MOV P1,#0FFH CLR P1.2 MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY3 LCALL DELY10MS M
6、OV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY3 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK9 MOV KEYBUF,#6 AJMP DKNK9: CJNE A,#0D0H,NK10 MOV KEYBUF,#7 AJMP DKNK10: CJNE A,#0B0H,NK11 MOV KEYBUF,#8 AJMP DKNK11: CJNE A,#70H,NK12 LJMP DENG_HAONK12: NOPNOKEY3: MOV P1,#0FFH CLR P1.3 MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ
7、 NOKEY4 LCALL DELY10MS MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY4 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK13 LJMP CHUNK13: CJNE A,#0D0H,NK14 LJMP CHENGNK14: CJNE A,#0B0H,NK15 LJMP JIANNK15: CJNE A,#70H,NK16 LJMP JIANK16: NOP;=;查表求键值程序DK: MOV B,#00H MOV A,KEYBUF ;查表程序 查对应的键号数据 MOV DPTR,#TABLE ;把表头地址放入DPT
8、R MOVC A,A+DPTR ;A里面存放的为键号,利用A和表头地址找到对应的键号数据 MOV B,A ;把查到的数据送往显示单元 INC R1 ;取下一个显示单元 MOV A,R1 CJNE A,#36H,DKA1 ;判断显示单元是否已满 MOV R1,#35H ;35H,36H单元用于更好的控制五位显示 AJMP DKADKA1: MOV 34H,33H ;按键代码按左移显示,先按先显示 MOV 33H,32H MOV 32H,31H MOV 31H,30H MOV 30H,BDKA: MOV A,P1 ;读P1口 ANL A,#0F0H ;屏蔽高四位 XRL A,#0F0H ;地位是有
9、低电平 JNZ DKA ;如果有低电平继续读P1口,否者向下执行,查找第二行NOKEY4: LJMP DIS1;=;功能按键功能设定DENG_HAO:MOV DPTR,#JI_SUAN ;等号键功能通过加、减、乘、除设定的偏移量来调用子程序 MOV A,3CH ;3CH存放的为功能程序入口地址偏移量 JMP A+DPTR ;转移到按键功能程序JI_SUAN: AJMP JIA1 ;加计算子程序 AJMP JIAN1 ;减计算子程序 AJMP CHENG1 ;乘计算子程序 AJMP CHU ;除计算子程序;=删除键功能SAN_CHU: ACALL QING_DIS AJMP DKA;=加键功能J
10、IA: MOV 3CH,#00H ACALL CUN_SHU ACALL QING_DIS AJMP DKA;=减键功能JIAN: MOV 3CH,#02H ACALL CUN_SHU ACALL QING_DIS AJMP DKA;=乘键功能CHENG: MOV 3CH,#04H ACALL CUN_SHU ACALL QING_DIS AJMP DKA;=除键功能CHU: MOV 3DH,#06H ACALL CUN_SHU ACALL QING_DIS AJMP DKA;=;存被加(减、乘、除)数,存放在37H3BH里CUN_SHU: MOV 37H,30H ;36H存放的为最低位 MO
11、V 38H,31H MOV 39H,32H MOV 3AH,33H MOV 3BH,34H ;3AH存放的为最高位 RET;=;清除显示单元QING_DIS: MOV R1,#30HQING1: MOV R1,#00H INC R1 MOV A,R1 CJNE A,#36H,QING1 MOV R1,#30HLOP1: RET;=;十进制加法子程序JIA1: MOV A,37H ;个位被加数 ADD A,30H ;个位被加数+加数 MOV B,#10 ;十六进制除10转换成BCD码 DIV AB MOV 30H,B ;余数即个位存放在30H MOV 37H,A ;商存放在37H MOV A,3
12、8H ;十位被加数 ADD A,31H ;十位被加数+加数 ADD A,37H ;加上个位之和的进位 MOV 37H,#00H ;清除37H MOV B,#10 ;十六进制除10转换成BCD码 DIV AB MOV 31H,B ;余数即十位存放在31H MOV 38H,A ;商存放在38H MOV A,39H ;百位计算同十位 ADD A,32H ADD A,38H MOV 38H,#00H MOV B,#10 DIV AB MOV 32H,B MOV 39H,A MOV A,3AH ;千位计算同十位 ADD A,33H ADD A,39H MOV 39H,#00H MOV B,#10 DIV AB MOV 33H,B MOV 3AH,A MOV A,3BH ;万位计算同十位 ADD A,34H ADD A,3AH MOV 3AH,#00H MOV B,#10 DIV AB MOV 34H,B MOV 3BH,#00H AJMP DKA;=JIAN1: AJMP DKACHENG1: AJMP DKACHU1: AJMP DKA;=;延时程序和查表表格DELY4ms: MOV R6,#8 ;延时4毫秒D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETDELY10m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年市政工程考试中常见用语解析与试题及答案
- 重温项目管理知识的有效指南及试题及答案
- 精彩呈现公共关系学的试题及答案
- 水利水电工程先进经验试题及答案
- 校园大班学业职业规划计划
- 水利水电工程有害物质监测试题及答案
- 公共关系学文化活动试题及答案建议
- 出境游客运协议
- 2025年经济法概论复习计划与试题及答案
- 2024年血透管路项目资金筹措计划书代可行性研究报告
- 四川老街改造规划设计
- GB/T 11606-2007分析仪器环境试验方法
- NCT青少年编程能力等级
- 拘留所教育课件02
- 11471劳动争议处理(第4章)
- 公共管理学黎民讲义
- 初三数学总复习教学策略课件
- 一年级语文下册识字表(可打印最全版本)
- 结晶葡萄糖生产工艺简介课件
- 危大工程验收记录表(模板工程)
- 中班科学活动:风车转转转课件-2
评论
0/150
提交评论