



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序12-8:电子时钟的程序(对应图12-33)S_SETBITP1.0; SECOND按钮位M_SETBITP1.1; MINUTE按钮位H_SETBITP1.2; HOUR按钮位SECONDEQU30H; 秒计数值变量MINUTEEQU31H; 分计数值变量HOUREQU32H; 小时计数值变量TCNTEQU34H; 1秒定时计数器ORG00H; 起始地址JMPSTARTORG0BH; Timer 0中断向量地址JMPINT_T0START:MOVDPTR,#TABLE; 装七段数码管段码数据表TABLEMOVHOUR,#0; 计数值全部清0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0MOVTMOD,#01H; Timer 0作定时器,模式1MOVTH0,#(65536-50000)/256;定时50毫秒MOVTL0,#(65536-50000)MOD 256MOVIE,#82H; 中断使能SETBTR0; 启动Timer 0; 以下是判断SECOND、MINUTE、HOUR按钮是否被按下A1:CALLDISPLAYJNBS_SET,S1; 判断SECOND按钮JNBM_SET,S2; 判断MINUTE按钮JNBH_SET,S3; 判断HOUR按钮JMPA1; 循环检测S1:CALLDELAY; 去抖动JBS_SET,A1INCSECOND; 秒位计数值加1MOVA,SECOND; A=SECONDCJNEA,#60,J0; 判断是否到60秒MOVSECOND,#0; 如果到了就清0秒位计数值JMPK1; 跳到K1段S2:CALLDELAYJBM_SET,A1K1:INCMINUTE; 分位计数值加1MOVA,MINUTE; A=MINUTECJNEA,#60,J1; 判断是否到60分MOVMINUTE,#0; 如果到了就清0分位计数值JMPK2S3:CALLDELAYJBH_SET,A1K2:INCHOUR; 小时计数值加1MOVA,HOUR; A=HOURCJNEA,#24,J2; 判断是否到24小时MOVHOUR,#0; 如果到了就清0秒、分、小时位计数值MOVMINUTE,#0MOVSECOND,#0JMPA1; 以下程序等待SECOND、MINUTE、HOUR按钮放开J0:JBS_SET,A1CALLDISPLAYJMPJ0J1:JBM_SET,A1CALLDISPLAYJMPJ1J2:JBH_SET,A1CALLDISPLAYJMPJ2; Timer 0中断服务子程序, 进行秒、分、小时的计时INT_T0:MOVTH0,#(65536-50000)/256; 装计数初始值MOVTL0,#(65536-50000)MOD 256INCTCNT; 1秒计数器增加1MOVA,TCNT; A=TCNTCJNEA,#20,RETUNE; 计时1秒INCSECOND; 秒计数器增加1MOVTCNT,#0; 清零TCNTMOVA,SECOND; A=SECONDCJNEA,#60,RETUNE; 计时60秒INCMINUTE; 分计数器增加1MOVSECOND,#0; 清零SECONDMOVA,MINUTE; A=MINUTECJNEA,#60,RETUNE; 计时60分INCHOUR; 小时计数器增加1MOVMINUTE,#0; 清零MINUTEMOVA,HOUR; A=HOURCJNEA,#24,RETUNE; 计时24小时MOVHOUR,#0; 秒、分、小时计数值清0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUNE:RETI; 中断服务子程序结束; 以下为七段数码管显示的子程序DISPLAY:MOVA,SECOND; A=SECOND,显示秒MOVB,#10; B=10DIVAB; A除以BCLRP3.6; 清零P3.6MOVCA,A+DPTR; 七段数码管段码数据装入AMOVP0,A; 从P0口输出CALLDELAYSETBP3.6; P3.6置1MOVA,B; A=BCLRP3.7; P3.7清0MOVCA,A+DPTR; 七段数码管段码数据装入AMOVP0,A; 从P0口输出CALLDELAYSETBP3.7; P3.7置1CLRP3.5; P3.5清0MOVP0,#40H; 显示短线分隔符CALLDELAYSETBP3.5; P3.5置1MOVA,MINUTE; A=MINUTE,显示分MOVB,#10; B=10DIVAB; A除以BCLRP3.3; P3.3清0MOVCA,A+DPTR; 七段数码管段码数据装入AMOVP0,A; 从P0口输出CALLDELAYSETBP3.3; P3.3置1MOVA,B; A=BCLRP3.4; P3.4清0MOVCA,A+DPTR; 七段数码管段码数据装入AMOVP0,A; 从P0口输出CALLDELAYSETBP3.4; P3.4置1CLRP3.2; P3.2清0MOVP0,#40H; 显示短线分隔符CALLDELAYSETBP3.2; P3.2置1MOVA,HOUR; A=HOUR,显示小时MOVB,#10; B=10DIVAB; A除以BCLRP3.0; P3.0清0MOVCA,A+DPTR; 七段数码管段码数据装入AMOVP0,A; 从P0口输出CALLDELAYSETBP3.0; P3.0置1MOVA,B; A=BCLRP3.1; P3.1清0MOVCA,A+DPTR; 七段数码管段码数据装入AMOVP0,A; 从P0口输出CALLDELAYSETBP3.1; P3.1置1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿科业务考试题及答案
- 毒鸡汤考试题及答案
- 农民职业培训与农业技能提升协议
- 雨中的邂逅事件作文7篇
- 资源能源节约利用承诺书5篇范文
- 企业员工绩效考核标准与流程模板
- 多平台兼容软件开发框架
- 客户信息管理数据记录模板
- 大学考试题目及答案
- 春节习俗的写物作文7篇
- 土地复垦施工设计
- GB/T 5023.3-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第3部分:固定布线用无护套电缆
- GB/T 21471-2008锤上钢质自由锻件机械加工余量与公差轴类
- GB/T 12670-2008聚丙烯(PP)树脂
- 非贸项下对外付汇的政策解读和实操疑难解答课件
- 高中心理健康课程《人际关系-寝室篇》课件
- 水产微生物学
- 电力系统继电保护课程设计报告-三段式距离保护
- 香港永久性居民在内地所生中国籍子女赴香港定居申请表
- 部编人教版五年级上册小学道德与法治 第5课 协商决定班级事务 课件
- 跨境电商亚马逊运营实务完整版ppt课件-整套课件-最全教学教程
评论
0/150
提交评论