课程设计论文-基于单片机的多功能电子表设计内容摘要:

改方法参见程序优化)。 当不响铃并且生日标志 BS 有效时显示 HAPPY 其单列开来。 本程序由生日标志 BS控制,当到达生日时间时,T0 中断程序会将 BS 置 1 使之有效在显示主程序中通过判断 BS 的置来控制是否执行本模块 标 志 BS 有效时显示 HAPPY 其单列开来。 本程序由生日标志 BS控制,当到达生日时间时, T0 中断程序会将 BS 置 1 使之有效在显示主程序中通过判断 BS 的置来控制是否执行本模块⑤ 闹铃及整点报时判断程序( EIGHT) 在显示主程序中每隔一段时间调用一次本程序来实现闹铃及报时功能。 符合闹铃条件时,每调用一次本程序对 取反一次,调节调用的时间间隔便可以调节报时的输出频率。 在主程序中设置每完成对一个数码管的显示变调用一次本程序,显示一个数码管的时间大约为 1ms,因此响铃频率高音约为 500Hz,低音约为 250Hz。 程序判断闹铃使能 RE后分成两个分支,当 RE=A1时判断闹铃条件是否满足,满足则对 取反一次,否则跳转判断整点报时条件是否满足。 当 RE=0 时,直接怕暖整点报时条件是否满足。 判断整点报时条件时当当前时间满足: ( MIN=59) ∩ ( SECOND=59) ∩ ( COUNT10) 时报高音;当满足: (MIN=59)∩(SECOND=51/53/55/57) ∩(COUNT10) 时报低音。 利用位寻址区来存储 SECOND 的方法, (SECOND50)∩(=1) 时便满足报低音的秒条件。 利用 TO 中断次数存储器 COUNT 的大小可以判断是否到了后半秒( T0 每 50ms 中断一次,中断 20 次到达一秒)。 通过增加一个标志位 FC来时下对高低音的区分,高音不受 FC 的影响,低音只有当 FC=0 的时候才对 取反一次。 1 并且每调用一次本程序便对 FC取反一次,便达到每调用两次取反一次 的效果。 本程序的执行时间小于 40us,因此多次调用不过分影响执行。 ⑥ 中断( TO)计时程序( NINE) 中断计时程序的流程比较简单。 程序除实现正常走时外还需要判断是否到达生日时间置生日标志位有效。 程序的输出均为 BCD 码,方便了显示程 序对高低位的分离并查表显示。 程序比较复杂的地方在于对平闰年及大小月的判断。 把月 MONTH 存储在位寻址区,当 MONTH=02H 时判断是否是平闰年,先将年由 BCD 码转化为二进制码,此时当年的后两位为全零的时候为闰年(由于只显示年的个位和十位,由 2020 年开始,00年、 04 年 „ 为闰年,其共同特点就是二进制后两位为零),否则为平年。 当 MONTH≠2时判断是否为大小月, MOUTH7 时单月(即 =1 的月)为大月,否则为小月;当 MONTH7 时双月为大月。 ⑦ 中断( T1)预置程序( TEN) T1通过中断 INT0 控制开启或关闭,每次定时 50 毫秒,存储地址 COUNTS 计数 15次执行一次中断程序。 由开关( K0,K1)控制预置项目,通过开关 K2/K3/K4 来分别控制 LED12/LED34/LED56 的预置,当两个开关都是有效时,具有优先级的区分,确保无论按几个开关都最多只有一个项目被预置。 判断预置的优先级顺序是: LED34LED12LED56 这样安排的原因是由于根据生活经验 LED34 所对应的 4个项目(小时、闹铃分、月、生日日)被预置的可能性最大。 在预置日期和生日是要注意对大小月及平闰年进行判断(判断方法与中 断计时程序中说明的方法类似,但不需要考虑进位)且月和日在溢出后应置一而不是 归零。 ⑧ 中断( INT0)设定程序( ELEVEN) 中断 INT0 设置是否进行预置以及对生日标志的清除。 且有如下设置顺序:清除预置信号并关 T1清除生日标志 设定预置信号并开 T1。 每按一次中断都只执行其中一个项目 1 总结 在 赵宇红 老师耐心的指导下,我顺利完成了这次单片机课程设计课题中的多功能电子表的 设计, 通过这次的设计使我认识到 本人 对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用, 尤其是对程序设计语句的理解 和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。 损耗了过多的内存资源。 本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。 在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的 多功能电子版表 设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争 ,同时 在查找资料的过程中 我也 学到了许多 新的知识 ,在 和同学 协作过程中增进同学间的友谊 ,使我对团队 精神的积极性和重要性有了更加充分的理解。 2 致谢 最后,感谢尹进田老师对我的细心的指导,正是由于尹老师的细心的辅导和他提供给我们的参考资料,使得我的课程设计能够顺利的完成,同时 感谢所以 在课程设计过程中 给于我帮助过的老师和同学 , 非常感谢。 张婷 2020 年 6月 30 日 3 参考文献: [1] 谢自美 . 电子线路设计实验测试 [M]. 武汉:华中理工大学出版社, 1992. [2] 何立民 . 单片机应用系统设计 [M]. 北京:北京航空航天大学出版社, 1993. [3] 楼然笛 . 单片机开发 [M]. 北京 : 人民邮电出版社 , 1994. [4] 付家才 . 单片机控制工程实践技术 [M]. 北京 : 化学工业出版社 . [5] 李光才 . 单片机课程设计 实例指导 [M]. 北京 : 北京航空航天大学出版社 2020. [6] 朱定华 . 单片机原理及接口技术实验 [M]. 北京 : 北方交通大学出版社 . [7] 刘湘涛.江世明.单片机原理与应用 [M]. 北京 :电子工业出版社 ,2020. 4 附录 A 5 附录 B:。 *************************************************************ONE 初始化 ORG 0 SJMP ONE ORG 0003H LJMP ELEVEN ORG 000BH LJMP NINE ORG 001BH LJMP TEN ONE:LED12 EQU 30H。 数码管 12显示缓存 LED34 EQU 31H。 数码管 34显示缓存 LED56 EQU 32H。 数码管 56显示缓存 COUNT EQU 33H。 定时器 T0(用来走时)计数值存储器(计数中断 20 次到 1秒) COUNTS EQU 34H。 定时器 T1(用来预置)计数值存储器(计数中断 15 次到预置值加1) HOUR EQU 40H。 以下为时间,日期,闹铃时间,生日的存储地址 MIN EQU 41H SECOND EQU 22H YEAR EQU 50H MONTH EQU 23H DAY EQU 52H RH EQU 60H。 闹铃小时 RM EQU 61H。 闹铃分 RE EQU 62H。 闹铃使能 BM EQU 71H。 生日-月份 BD EQU 72H。 生日-天 MOV LED12,0 MOV LED34,0 6 MOV LED56,0 MOV COUNT,0 MOV COUNTS,0 MOV HOUR,0 MOV MIN,0 MOV SECOND,0 MOV YEAR,0 MOV MONTH,1 MOV DAY,1 MOV RH,0 MOV RM,0 MOV RE,0 MOV BM,6 MOV BD,1 BS BIT 00H。 birthday symbol 生日标志(到生日那天就为 1) SS BIT 01H。 set symbol 预置信号(按下中断预置为 1,便开始闪烁和预置) GS BIT 02H。 glisten symbol 闪烁标志 FC BIT 03H。 frequency control 频率控制 NB BIT 04H。 neglect bitrhday symbol 忽略生日标志 CLR BS CLR SS CLR GS CLR FC CLR NB SETB 05H。 生日显示有效标志位 MOV IP,02H。 中断优先级: T0INT0T1 MOV TMOD,11H MOV IE,8BH SETB IT0 MOV TH0,3CH。 50ms 7 MOV TL0,0B0H SE。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。