基于单片机AT89S52的电子实时时钟万年历系统

上传人:cn****1 文档编号:487701374 上传时间:2022-10-10 格式:DOC 页数:33 大小:1.70MB
返回 下载 相关 举报
基于单片机AT89S52的电子实时时钟万年历系统_第1页
第1页 / 共33页
基于单片机AT89S52的电子实时时钟万年历系统_第2页
第2页 / 共33页
基于单片机AT89S52的电子实时时钟万年历系统_第3页
第3页 / 共33页
基于单片机AT89S52的电子实时时钟万年历系统_第4页
第4页 / 共33页
基于单片机AT89S52的电子实时时钟万年历系统_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《基于单片机AT89S52的电子实时时钟万年历系统》由会员分享,可在线阅读,更多相关《基于单片机AT89S52的电子实时时钟万年历系统(33页珍藏版)》请在金锄头文库上搜索。

1、电子与信息学院 单片机原理及应用综合实验报告 电子实时时钟/万年日历系统专 业 信 息 工 程 班 级 06 (3) 学生姓名 学 号 一、系统概述:1基本要求:(1) 显示准确的北京时间(时、分、秒),可用24小时制式;(2) 随时可以调校时间。(3) 增加公历日期显示功能(年、月、日),年号只显示最后两位;(4) 随时可以调校年、月、日;(5) 允许通过转换功能键转换显示时间或日期。(6) 所有按键需要通过串口自发自收来调校各种功能。2发挥部分(1)增加秒表功能(2)增加闹铃功能(3)增加整点报时功能。实验功能:本系统是基于单片机AT89S52制作的数字电子钟。根据实验要求,在完成实验所要

2、求的基本功能外,扩展了几个功能。硬件系统设计方面:采用六位LED数码管,用切换的方式显示日期或时间和设置的闹钟时间;可调整日期或时间以及闹钟时间;具有设置闹钟的功能;软件系统设计方面:程序采用汇编语言编写,使自己更加理解硬件语言以及其工作原理。“时钟”基准时间由单片机内部的定时中断提供用一个计数器对定时中断的次数进行计数,可实现“秒”定时,同理可以进行“分”“时”定时,以及“日”“月”“年”定时,并充分考虑闰年等情况下的日期的差异采用按键查询功能复用,简化了程序的设计采用动态扫描法显示6位数码管方案考虑:1、硬件方案 (1)、采用6位LED数码管显示日期或者时间。(2)、显示器的驱动可采用“静

3、态显示驱动”(如7段译码/锁存/驱动芯片CD4511);也可采用“动态扫描驱动”,但后者比前者所需驱动电流要大。(3)显示部分也可采用液晶,但液晶成本较高。(4)、键盘的按键数目较多时则采用行列式矩阵结构为好。“一键多用”的构思和设计能大为减少按键的数目。 (5)、整体设计上应考虑其结构简单操作简便布局美观成本低廉。 2、软件方案 (1)、“时钟”基准时间由单片机内部的定时中断提供,定时时间应是“秒”的整除数,且长短适宜。最长不能超过16位定时器的最长定时时间;最短不能少于中断服务程序的执行时间。通常来说基准时间越短,越有利于提高时钟的运行精确度。(2)、用一个计数器对定时中断的次数进行计数,

4、可实现“秒”定时,同理可以进行“分”“时”定时,以及“日”“月”“年”定时。(3)、LED 数码管显示器采用“动态扫描驱动”时要注意的是:驱动信号的维持时间必须大于“起辉时间”(电流大起辉时间短),而驱动信号的间歇时间必须小于“余辉时间”(电流大余辉时间长),但驱动电流大小受硬件电路能力和LED数码管极限功耗的制约。(4)、动态扫描显示方式在更新显示内容时,因LED数码管余辉的存在可能会造成显示字符的模糊,新内容写入显示器之前须将所有的LED数码管熄灭。(5)、关于自动识别“月大月小”和“平年润年”问题的考虑方案比较:显示部分:我们采用了数码管显示,鉴于数码管也能实现基本的功能,而且液晶成本又

5、太昂贵,同时我们放弃了用译码芯片,一方面进一步降低成本,另一方面少了部分电路,减少错误产生。焊接部分: 印制电路板的特点是布线紧凑、优点是美观,跳线少,线路稳定,主要的工作量在于前期原理图的绘制跟PCB板的布线,缺点是腐蚀容易不均匀而断线;而手工焊万用板优点是可变性高,自由度高,主要工作量是原理图的布线与跳线的构思跟焊接,缺点是电路板焊接麻烦。我们选择手工焊万用板的原因:1 原材料提供的只是万用板,从按照题目要求的方面考虑2 万用板便于功能的扩展,板上也留了很多空位为创新功能使用。按键部分 按键方面,主要是采用矩阵键盘扫描跟按键查询。矩阵键盘扫描法用到比较多的按键,使操作复杂,资源得不到充分利

6、用。为了避免不必要的失误,所以采用“按键查询,一个功能一个按键”的方式,排列整齐,简洁美观单片机作品实物图:二、元器件清单:IC89S521 IC座40脚3 晶体振荡器12MHz1 微型按钮4脚5 LED发光二极管红色1 电阻4.7K2 电阻1k 6电阻3K 6 电阻330 7 排阻 1k 1 电解电容10UF1 万能电路板块1 LED七段数码管共阳BS 6 晶体三极管PNP8550 6蜂鸣器 1三按键使用(1)。P0.7口按键具有切换显示模式的功能(2)。P0.6口按键具有闪烁位移位的功能(3)。P0.5 口按键具有对闪烁位加一的功能(4)。P0.4口按键具有计秒的功能,即开始秒表/停止秒表

7、/清楚秒表,同时还具有停止闹钟的功能。(5)第9口具有复位的功能。即一按下去后恢复到初始化状态(6)串口自收自发功能,当p3.0与p3.1连接起来后,按键有效,但当p3.0与p3.1断开后,按键无效。系统使用调试说明:按开关key1次数系统状态0(50)00H,(51H)00H,正常显示时间1(50)01H,(51H)00H,正常显示日期2(50)02H,(51H)00H,正常显示闹铃3(50)03H,(51H)00H,正常显示秒表4(50)00H,(51H)00H,正常显示时间按键2:按开关key2次数系统状态0(50)00H,(51H)00H,不闪烁1(50)00H,(51H)01H,低两

8、位闪烁2(50)00H,(51H)02H,中两位闪烁3(50)00H,(51H)03H,高两位闪烁4(50)00H,(51H)00H,不闪烁数码管显示代码表:数码管管脚号Dpgfedcba数码管显示值编码数值P1端口P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0端口电平110000000C0H1111100110F9H1010010020A4H1011000030B0H10010100199H10010010592H10000010682H1111100070F8H10000000880H10010000990H 主程序流程图:开始寄存器赋初值初始化,开定时器0显示时间按键扫

9、描闹铃程序整点报时秒表计时闪烁位加一程序闪烁位移位显示模式调整当有不同按键,进入不同的服务子程序,同时在查询的时候判断是不是整点,有没有到达闹铃设置的时间进入服务子程序采用的是查询的模式。显示模式调整流程图:判断p0.7是否按下判断当前显示模式日期01h秒表03h 闹钟02h时间00h时间00h秒表03h 闹钟02h日期01h显示标志位位50h闪烁位移位:其中设定闪烁标志位为51H.当它变化时标志着不同的闪烁位判断p0.6是否按下判断当前闪烁位低两位01h高两位03h中两位02h没闪烁00h不闪烁00h高两位03h中两位02h低两位01h闪烁位加一子程序:对当前闪烁的位进行加一判断p0.5是否

10、按下 判断当前显示模式 闹钟日期时间判断闪烁位判断闪烁位判断闪烁位分时秒日月年秒分时秒=59h没其中秒数+1 秒清0OUTOUT同理对于分,时,日,月,年,都要判断是否到达最大数,是则分,时,清0,日,月,年置一,秒表子程序判断当前是否秒表模式 是P0.4是否有按下否是开t1计时器P0.4是否有按下否是关t1计时器P0.4是否有按下否是秒表寄存器清0退出闹铃功能子程序: 进入闹铃程序 否判断时间秒跟闹铃秒=?是判断时间分跟闹铃分=?否是判断时间时跟闹铃分时=?否是开启蜂鸣器clr p0.1否判断p0.4有没按键是关启蜂鸣器 setb p0.1退出整点报时子程序流程图:否 整点报时 判断时间秒=

11、00h?否是判断时间分=00h?否是点指示灯,响蜂鸣器延时灭指示灯,响蜂鸣器OUTTO中断子程序: 返回T0中断点否秒数+1判断秒数有没=59判断有无中断20次 T0中断程序是 秒清0,判断分(=59)?分数+1是分清0,判断时=23 ?返回T0中断点时数+1调用日历子程序返回T0中断点日历子程序小时清零天加1否是12月?月加131天?是4,6,9,11月?是否是年加130天?否否是是2月?29天?否润年?年?是否28天?是是否2月?否跳出TO中断显示流程图取闪烁标志取值赋给工作寄存器读显示模式Display显示程序动态显示 闹钟 闹钟 日期时间T1中断子程序返回T1中断点否是十百分秒数=59?初始化t1定时器 T1中断程序否+1 十百分秒清0,判断秒=60?是秒清0,判断分=59?,+1是返回T1中断点分清0退出T0中断串口自发自收:P0赋aa送发送寄存器

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号