数字电子时钟实验报告

数字电子时钟实验报告

ID:47517616

大小:46.56 KB

页数:10页

时间:2020-01-12

数字电子时钟实验报告_第1页
数字电子时钟实验报告_第2页
数字电子时钟实验报告_第3页
数字电子时钟实验报告_第4页
数字电子时钟实验报告_第5页
资源描述:

《数字电子时钟实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、重庆理工大学嵌入式接口技术综合实验报告题目:数字时钟程序设计二级学院计算机科学与工程专业计算机科学与技术班级37-3学生姓名许鸿兴教师时间成绩目录一、实验名称二、实验目的三、实验设备与环境四、实验基本原理五、实验内容(包括主要算法分析与流程图)六、实验源程序及分析七、实验运行结果及分析八、实验心得体会一、实验名称数字时钟程序设计二、实验目的熟悉单片机数码管、按键等的应用,了解并掌握单片机中断、定时的使用等。三、实验设备与环境微机、AT89S52单片机、KeiluVision4软件等。四、实验基本原理本实验采用的数码管为共阳极数码管。数码管是一种把多个LED显示段集成在一起的显示设备。有两种类

2、型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共端。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。动态显示:所谓动态显示,就是一位一位的轮流点亮各个位,

3、对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。五、实验内容(包括主要算法分析与流程图)整个系统采用AT89S52作为时钟控制芯片,利用单片机内部的定时器计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则

4、计满一天,再通过判断平年、闰年,计数相应的月份天数以及年份天数。然后通过数码管把它们的内容在相应位置显示出来即可。 数码管显示采用动态显示方法,动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。 在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时间调整和复位。函数Jude_Show();进行时间判断并输出显示。首先使用定时器0方式2进行计时,计时1S后Sec自加,Sec自加至60(60秒)后Min自加并将S

5、ec置零,Min自加至60(60分)后Hour自加,并将Min置零,Hour自加至24(24小时)Day自加并将Hour清零。此时进行平年闰年的判断,如果年份为闰年,则2月天数为28天,如果为平年,则2月的天数为29天,其余相同。当天数记满相应的一个月后,Month自加,当月数自加至12(12月)后,年份自加。而后刷新显示缓存输出显示。主要流程图如下:1、主流程图:设置初值方式二动态扫描显示闹钟判断闹钟2、万年历:秒自加秒=60分自加分=60时自加时=24天自加平年闰年判断天=相应月份天数相应月份自加年份自加月份=12四、实验源程序及分析#includeunsignedin

6、tYear=0,Month=0,Day=0,Sec=0,Min=0,Hour=0;//初始显示的时间unsignedintFir_year=0,Fir_month=0,Fir_day=0,Fir_Sec=0,Fir_Min=0,Fir_Hour=0;//设置闹钟的时间1unsignedintSec_year=0,Sec_month=0,Sec_day=0,Sec_Sec=0,Sec_Min=0,Sec_Hour=0;//设置闹钟的时间2unsignedintThi_year=0,Thi_month=0,Thi_day=0,Thi_Sec=0,Thi_Min=0,Thi_Hour=0;//设置

7、闹钟的时间3unsignedintFou_year=0,Fou_month=0,Fou_day=0,Fou_Sec=0,Fou_Min=0,Fou_Hour=0;//设置闹钟的时间4unsignedintOs=0;//系统时钟unsignedintshift=0xfe,pDG=0;//初始位码以及动态扫描初值unsignedcharDis[8];//缓存显示码sbitbeep=P3^7;//蜂鸣器unsign

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。