基于at89c51单片机的电子时钟设计内容摘要:

、归零,如果要重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。 ( 2) AT89C51 单片机,通过编写程序对数码显示进行控制。 ( 3) 八个 7 段数码管显示时钟和秒表信号。 7 3 软件总体设计方案 主程序流程图 软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示。 如图 31: 图 31 主程序流程 图 开始 定时器及中断定时器初始化 执行时钟秒表 闹铃设定程序 是否设定参数 执行显示程序 N Y 8 总中断程序流程 图 32 中断流程图 时间的显示通过此中断程序来控制,并且通过与设定的时间进行比较来判断是否让闹铃工作。 程序中包含时间的设定,如设定 tcount 来使秒等工作,进而来控制分和时。 如上图图 32。 1) 秒表中断程序流程 分数值 time..minute 加 归零 Tcount 加 1 返回主程序 实数值 加 归零 23 时数值 归零 Tount1=100? 秒数值 加 1second 归零 执行闹钟程序 =1 判断时间与闹钟时间是否 一致 闹钟程序是否行完全 =600 =60? 恢复初值保护 9 秒表功能通过另一个程序来实现。 通过保护主程序的数据来 进行秒表功能。 程序中需要设置秒表的具体显示方法。 如图 33: N Y N Y 图 33 秒表中断程序流程图 2) 按键程序流程 图 34 为时钟和闹钟的调节,程序中通过扫描来判断按键是否按下进行时间恢复初值保护 10ms 计数器加 1恢复初值保 护 秒计数器加 1, 10ms 计数器归零 ,即 sec++,ms=0 Sec60? Ms100? 输出字码,中断结束,返回上级主程序 分计数器加 1,秒计数器归零,即 minit++,sec=0 10 和闹钟的调节。 图 34 按键程序流程图 程序初始化 时十位归零 alarms【 7】 =0 分时位归零alarms[4]=0 分十位归零 输出时钟时十位加一 输出闹钟时个位加一,延时 输出时钟十位加一 输出时钟十个位加一 输出时钟分个位加一,延时 输出闹钟时分位加一 输出闹钟时十位加一 输出闹钟分个位加一,延时 时十位归零 判断标志位是否为零 Alarms[4]2 Alarms[7]2 Alarms【 3】 0 Dat1[6]9 Dat1[7] Alarms[6]9 Dat1[3]9 Dat1[4]2 判断标志是否为零 判断时 i 加键是否按下 判断分加键是否按下 11 图 35 为进入中断和清零图,程序中通过扫描来判断按键是否按下进行执行相应的中断来事实现相应的功能。 图 35 中断和清零程序流程图 判断分加键 tminute是否按下, =0 判断秒表 miaobiao1 是 否 按 下 按下 ,=0 , =0 判断清零键 miaobiao2是否按下, =0 进入秒表中断,执行秒表中断程序 返回上级主程序 清零所有的计数器,各个显示的字码。 12 4 毕业 设计结果分析 此时钟设计是利用 protues 仿真软件进行仿真,基本上实现了课程设计要求实现的功能。 硬件部分设置了的六个按键。 当按键一按下时,进入秒表显示状态,秒表开始计时,当按键六按下时,秒表暂停;当按键四按下时恢复到时间显示功能;当按键二按下时,进入调分状态,按一次,分加一, 60一循环;按键三按下时,进入调时状态,按一次,时加一, 60 一循环;按键五按下时,进入闹铃设置功能,紧接着按下按键二和按键三进行时和分的设置,再按下按键 4 恢复显示时间,当显示的 时间和定时设置的时间一致时,蜂鸣器发出蜂鸣声,蜂鸣时间我们设置为 10 秒。 另外,闹铃电路有音乐闹钟的扩展的功能 (可以将蜂鸣器换成扬声器再加一段音乐程序即可实现 )。 调试阶段,出现一些问题。 比如,实际小时显示到 29 才归零,分钟显示到 60 才进一„„经过软件调试,以上问题均一一排除,结果达到预期目标。 但时间有限,部分扩展功能不能及时实现,比如音乐闹铃。 5 总结 功能上基本达标:时钟的显示,秒表显示,定时功能,调时功能。 时钟显示功能,精确度完全可以满足日常生活显示时间的需要;秒表功能,可以满足比赛计时的需要;调 时功能,方便快捷;定时功能准确可靠,还有扩展成音乐闹。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。