大工13秋《单片机原理及应用》大作业 - 单片机电子时钟设计--杨(4)
因定时器0工作在方式1,则50ms定时对应的定时器初值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。
但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时50ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要3~8个机器周期。经过测试,定时器0重装的计数初值设为9E5FH~9E67H,可以满足精度要求。另外,MCS-51单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。
计时模块流程图如下图所示。
保护现场 重装定时器初值 循环次数减1 否
满20次? 是 秒单元加1 否 60s到? 是 秒单元清0,分单元加1
否 60分到? 是 分单元清0,时单元加1 否 24小时到? 是 时单元清0 恢复现场 返回
计时模块流程图
(3)时间设置模块。该模块由键盘输入相应的数据来设置当前时间。程序通过调用一个键盘设置子程序通过键盘扫描将键入的6位时间值送入显示缓冲区。
设置时间后,时钟要从这个时间开始计时,而时分秒单元各占一个字节,键盘占6个字节。因此程序中要调用一个合字子程序将显示缓冲区中的6位BCD码合并为3位压缩BCD码,并送入计时缓冲区,作为当前计时起始时间。
该程序同时要检测输入时间值的合法性,若键盘输入的小时值大于23,分、秒值大于59,则不合法,将取消本次设置,清零重新开始计时。
时间设置和键盘设置子程序的流程图如下图所示。
保护现场 调用键盘设置子程序KETIN 调用合字子程序COMB 恢复现场 返回
时间设置流程图
保护现场 显示缓冲区首地址送R0键盘输入次数送R7 调用键盘扫描程序KEYSCAN 键号送@R0 显示缓冲区地址加1 循环次数减1 否 循环结束? 是 恢复现场 返回 键盘设置子程序流程图
(4)显示模块。该模块完成时分秒6位LED的动态显示。因为显示为6位,二计时是3个字节单元,为此,必须将3字节计时缓冲区中的时分秒压缩BCD码拆分为6字节BCD码,并送入显示缓冲区中。
当按下调整时间键后,在6位设置完成之前,这6个LED应该显示键人的数据,不显示当前的时间。为此,我们设置了一个计时显示允许标志位F0,
在时间设置期间F0=1,不调用刷新显示缓冲区的子程序。
显示程序流程图如下图所示。
保护现场 否 允许显示? 调用拆字程序 是 动态扫描显示 返回
显示程序流程图
扫描键盘 否 调用显示程序 有键按下? 是 调用显示程序 否 有键按下? 是 求取键号 返回
键盘扫描程序流程图
程序: ORG 0000H AJMP MAIN ORG 000BH
AJMP TIME ORG 0300H MAIN: mov 20h,#00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H
MOV IP,#02H ;IP,IE初始化 MOV IE,#82H
MOV TMOD,#01H ;设定定时器工作方式? MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 ;启动定时? MOV SP,#40H ;重设堆栈指针
NEXT: LCALL DISP ;调用显示子程序? LCALL KEY ;调用按键检测子程序 JZ NEXT ;
LCALL ANKEY ;调用按键处理子程序 SJMP NEXT ;重新循环 NOP NOP NOP
;定时中断处理程序: TIME: PUSH ACC ;保护现场 PUSH PSW
MOV TL0,#0B4H ;赋定时初值 MOV TH0,#3CH INC 20H ; MOV A,20H
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




