数字钟系统的设计与实现.doc

上传人:自*** 文档编号:126187026 上传时间:2020-03-23 格式:DOC 页数:13 大小:630KB
返回 下载 相关 举报
数字钟系统的设计与实现.doc_第1页
第1页 / 共13页
数字钟系统的设计与实现.doc_第2页
第2页 / 共13页
数字钟系统的设计与实现.doc_第3页
第3页 / 共13页
数字钟系统的设计与实现.doc_第4页
第4页 / 共13页
数字钟系统的设计与实现.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数字钟系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《数字钟系统的设计与实现.doc(13页珍藏版)》请在金锄头文库上搜索。

1、武汉大学电子信息学院电子系统综合设计课程论文数字钟系统的设计与实现专 业: 年 级: 作 者:指导教师: 2012年6月20日目录1.选题背景与意义12.功能指标设计13.系统总体方案设计1 3.1核心器件的选择1 3.2系统整体框图2 3.3模块方案设计24.硬件设计35.软件设计4 5.1主程序流程图4 5.2显示模块流程图4 5.3中断服务流程图6 5.4校时子程序86.系统仿真测试8 6.1测试环境8 6.2测试步骤.8 6.3测试结论 8参考文献 8附录1 系统参考代码9附录2 系统器件清单111 选题背景及意义单片机应用系统因其优异的性能、高可靠性以及成本低廉被广泛应用于航空航天、

2、工业测控、机器人感觉、数字信号处理、通信等各个技术领域。在比较特殊的应用领域中,我们不仅希望单片机能够完成数据的采集处理,同时还想知道产生这些数据的时刻,以便于更详细地了解和掌握现场情况,这就需要为单片机系统增加数字时钟的功能。数字钟是采用数字电路实现对时分秒的数字显示的计时装置,广泛应用于个人、家庭、车站、码头、办公室等情况和场所,已成为人们日常生活中的必需品。数字钟能长期、连续、稳定、可靠地工作,同时还具有体积小、功耗低的优点,便于携带,使用方便。由于数字集成电路的发展和石英晶体振荡器的发展,新型数字钟的精度已经远远超过老式的机械钟表,可见钟表的数字化给人们的生活带来了极大的方便。而在实现

3、数字钟的各种方法中,使用单片机实现的数字钟不仅设计方法灵活,计时准确,而且可以很方便地通过软件编程使数字钟拥有丰富可靠的功能,同时也便于新功能的扩展,因而是不错的选择。目前数字钟的常见功能有:自动计时并显示时间、通过按键或者键盘进行时间校准(包括对闹铃的设置)、闹钟功能、整点报时功能,以及万年历等等众多扩展功能。鉴于我们首次接触单片机的有关知识,对复杂功能的实现还有困难,本次设计中我们只选择实现前两个基本功能,并希望通过自主学习、小组讨论、动手实践、与老师交流等途径尽可能多的掌握单片机的基础知识。2功能指标设计 根据要实现的功能,我们确定了以下的设计要求:1)设计一个精确的一秒定时器;2)根据

4、一秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显示在LED上;3) 设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒。3系统总体方案的设计3.1核心器件的选择该数字钟系统的设计用MCS51单片机系统学习板即可。根据数字钟系统的功能要求,可得到该系统的实现需要三个主要部分,即定时计数部分、显示部分和时间调整部分。51单片机内部的脉冲振荡电路为单片机的工作提供时钟节拍,两个定时/计数器可由软件设置为定时工作方式或计数工作方式及其他灵活多样的可控功能方式,为数字钟系统的定时计数部分提供了硬件基础。V1.1实验板上的总线扩展八位高亮数码管已由内部电路与单片机相连,通过单片机IO口

5、进行数据传输可以实现对数码管显示的控制,数字钟系统的时间显示部分由这部分完成,若显示时分秒则只需其中六位数码管。在工作过程中对时分秒的校准需要通过外部按键与内部电路相联系,V1.1实验板上的4路独立按键和4*4矩阵键盘为设计提供了较完善的按键功能,保证了时间调整部分的硬件基础。51单片机有5个中断源,256B的片内RAM和4KB的片内flash ROM,完成所需功能不需要外部硬件的扩展,使得整个设计方案较为简便。作为整个系统核心的SST单片机不仅有丰富的硬件资源,另一个很大的优势是具有在线仿真功能。在SoftICE监控程序的控制下,单片机通过PC的一个COM口与Keil uVision2deb

6、ugger通讯,从而实现对目标程序的实时调试。SST的仿真功能可以极大地简化工作,这也是选择该器件的原因。3.2系统整体框图图3-1 系统整体框图3.3模块方案的设计根据数字钟的功能,可以将整个系统划分为四个主模块,即定时器模块、时间计数器模块、校时按键模块和显示模块。1)时间计数器模块又可以分为时分秒三个子模块。秒计数器为60进制计数器,其进位输出是分计数器的进位输入;分计数器也是60进制计数器,其进位输出是时计数器的进位输出;时计数器是24进制计数器。2)定时器模块主要用来产生精确的一秒定时,作为时钟的基准秒信号,在正常计时模式下,时间计数器在该秒信号的驱动下按照相应的进制进行计数。而在时

7、间调整模式下,时间计数器则根据按键传输的信息进行相应的部分的数字调整。3)校时按键模块主要是产生校计时模式切换脉冲,提供计数器选择信号(移位),以及作为外部事件触发单片机内部计数器计数进而改变相应时间部分(上调/下调)。4)显示模块则主要用来将时间计数器的内容以直观的方式表示出来,程序设计中应该反复调用该模块,使得时间可以实时显示。这几个模块的选择与设计都是从数字钟整体功能的实现方面来考虑的,各个模块有其独立的功能,同时也要和其他模块紧密相连。图3-2 模块图4硬件设计1)计时方案:使用单片机内部定时器/计数器计时。利用MSC51单片机内部的T1定时/计数器进行中断延时,配合软件延时可以实现时

8、分秒的计时。该方案可以很好地节省硬件资源。2)显示方案:LED动态显示。常用的显示方案有两种,即静态显示和动态显示。其中静态显示的效果较好,数码管亮度高,但是由于本次实验要用到六位数码管,使用静态显示就意味着硬件开销会较大。而动态显示虽然效果没有静态显示的好,但是可以在很大程度上节省硬件资源,简化实现过程,所以本次我们选用动态显示。动态显示的原理:逐个循环点亮各位数码管,虽然在任意时刻只有一个数码管被点亮,但由于人眼的视觉暂留效应,只要循环的频率足够高,我们观察到的就是多位数码管同时被点亮。为了实现LED动态扫描,需要为数码管提供位选和段选信号。单片机输出控制引脚使用P0(P0.0P0.7)作

9、为控制端,分别通过74HC573连到LED的段选端a到h用来输出相应数码或连接到LED的位选端,控制每个时刻点亮的数码管,也即控制时分秒的显示。3)校时方案:使用实验板上的四位独立按键分别作为四个校时按键K1、K2、K3、K4。四位独立按键分别与P3.2P3.5连接进行相应的信息交换。每按下一次K4,数字钟就在计时与校时模式之间切换一次;若是在校时模式下,再按K3键可以改变当前的位选信号,使得时间调整位依次右移,当移到最右端(秒个位)时,再按K3则重新回到最左端;选定调整位后按K2和K1可分别实现相应位上数值的加减1。此种实现方式使用的I/O口较多,但是实现相对简单。 5软件设计5.1主程序流

10、程图主程序:主要对中断源和定时器进行初始化,其中T1作为计时器,定时时间为50ms,则经过二十次中断的时间即为1s.图5-1 主程序流程图5.2显示模块流程图显示模块可分为两部分,要完成的功能叙述如下:转换为可显示码子程序:定时计数器单元的内容为十六进制,为适合LED的显示,须把其转换为压缩BCD码,也即把每个计数器的十位和个位拆分开,再通过查表将六个BCD码转换成对应的显示数码,并将转换后的内容放入时间缓存区40H-45H,以便后续程序使用。图5-2 转码子程序流程图显示子程序:LED动态扫描显示时分秒。首先R2设置初值07FH,通过位选信号选中时十位;R0指向40H,得到时十位的数码,通过

11、P0送出段选信号到数码管使其显示。然后R2循环右移,依次选中后面五位数码管,R0循环加1,依次得到相应数码。这样扫描完全部六个数码管就可显示时分秒。注意相邻两个数码管扫描时间间隔不能过长,否则会出现闪烁现象。图5-3 显示子程序流程图5.3中断服务流程图中断服务程序:主要判断中断次数是否足够,并对时分秒计数器进行相应的加1操作。图5-4 中断子程序流程图5.4校时模块主程序中包含对按键情况的判断,一旦监测到有按键被按下,则转到相应按键的功能处理程序。独立按键从上到下分别是K4到K1。K4的功能处理程序进行对用户标志位F0的修改,当F0=1时工作于计时模式,否则为校时模式;K3按下则改变寄存器R

12、7的内容,R7初值为30H,即时计数器,每按下K3则R7内容加1,直到32H时再回到初值;K2和K1每按下一次则(R7)内容加1或减1,对于时计数器是满23变为0或者到0后变为23,分秒计数器则是满59变0或者到0变59。6系统仿真测试6.1测试环境由于数字钟系统设计重点是软件,其测试环境也主要是对软件仿真环境的要求。我们选用Keil开发环境对汇编代码进行编译连接,利用SST单片机的在线仿真功能对系统进行测试。6.2测试步骤为测试系统期望达到的要求是否满足,按照下列步骤进行测试仿真:1) 实验板上电,单片机复位;2) 打开Keil软件,新建工程CLOCK,对工程进行必要的设置;3) 在编辑窗口

13、中进行代码的编辑,编辑完成后对代码文件进行保存,文件名后缀为.asm;4) 对程序进行编译连接,检查有无语法错误或连接错误,进行错误修正直到得到正确的目标文件;5) 对程序进行调试:检查全速运行后六位数码管的显示情况,按下相应按键对时间进行调整。6.3测试结论通过上述测试步骤,我们得到的测试结果如下:1) 程序开始运行后,六位数码管从00:00:00开始显示时间,每过1秒则秒显示单元加一,到59秒时秒显示区清零,分个位加1;依次运行,发现分钟和小时分别符合60进制和24进制,时钟显示部分达到要求;2) 在计时过程中按下四位独立按键第一位,则时钟进入校时模式;按下第二位选择要进行校时的数字位置,数字位置随着第二键的不断按下依次右移,到尽头后返回小时十位;按下第三键可对当前数字位置进行加1操作,按下第四键可进行减1操作,并且各显示单元符合相应进制,按键校时部分达到要求。参考文献1邹显圣.基于AT89C51单片机数字时钟的研究 2009.052张静.基于单片机的数字钟设计 2006.09附录1 系统参考代码LED_SEG EQU 0FAFFHLED_SEL EQU 0FBFFHORG 0000HLJMP MAINORG 001BH ;T1中断服务入口SERVE: PUSH PSW

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

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