数字钟系统的设计与实现-(2).doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计 实现
- 资源描述:
-
数字钟系统的设计与实现 (2) ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 武汉大学电子信息学院 电子系统综合设计课程论文 数字钟系统的设计与实现 专 业: 年 级: 作 者: 指导教师: 2012年6月20日 目录 1。选题背景与意义………………………………………………………………………1 2。功能指标设计…………………………………………………………………………1 3.系统总体方案设计……………………………………………………………………1 3。1核心器件的选择…………………………………………………………………1 3。2系统整体框图……………………………………………………………………2 3.3模块方案设计……………………………………………………………………2 4.硬件设计………………………………………………………………………………3 5.软件设计………………………………………………………………………………4 5.1主程序流程图……………………………………………………………………4 5.2显示模块流程图…………………………………………………………………4 5。3中断服务流程图…………………………………………………………………6 5.4校时子程序………………………………………………………………………8 6。系统仿真测试…………………………………………………………………………8 6。1测试环境…………………………………………………………………………8 6。2测试步骤……………………………………………………………………….。8 6。3测试结论……………………………………………………………………… 8 参考文献……………………………………………………………………………… 8 附录1 系统参考代码…………………………………………………………………9 附录2 系统器件清单…………………………………………………………………11 11 1. 选题背景及意义 单片机应用系统因其优异的性能、高可靠性以及成本低廉被广泛应用于航空航天、工业测控、机器人感觉、数字信号处理、通信等各个技术领域.在比较特殊的应用领域中,我们不仅希望单片机能够完成数据的采集处理,同时还想知道产生这些数据的时刻,以便于更详细地了解和掌握现场情况,这就需要为单片机系统增加数字时钟的功能。 数字钟是采用数字电路实现对时分秒的数字显示的计时装置,广泛应用于个人、家庭、车站、码头、办公室等情况和场所,已成为人们日常生活中的必需品。数字钟能长期、连续、稳定、可靠地工作,同时还具有体积小、功耗低的优点,便于携带,使用方便。由于数字集成电路的发展和石英晶体振荡器的发展,新型数字钟的精度已经远远超过老式的机械钟表,可见钟表的数字化给人们的生活带来了极大的方便。而在实现数字钟的各种方法中,使用单片机实现的数字钟不仅设计方法灵活,计时准确,而且可以很方便地通过软件编程使数字钟拥有丰富可靠的功能,同时也便于新功能的扩展,因而是不错的选择。 目前数字钟的常见功能有:自动计时并显示时间、通过按键或者键盘进行时间校准(包括对闹铃的设置)、闹钟功能、整点报时功能,以及万年历等等众多扩展功能。鉴于我们首次接触单片机的有关知识,对复杂功能的实现还有困难,本次设计中我们只选择实现前两个基本功能,并希望通过自主学习、小组讨论、动手实践、与老师交流等途径尽可能多的掌握单片机的基础知识。 2.功能指标设计 根据要实现的功能,我们确定了以下的设计要求: 1)设计一个精确的一秒定时器; 2)根据一秒定时器,设计一个带小时、分钟、秒的时钟,并将小时、分钟、秒显示在LED上; 3) 设计小时、分钟、秒的修改按键,可分别调整小时、分钟、秒。 3.系统总体方案的设计 3。1核心器件的选择 该数字钟系统的设计用MCS51单片机系统学习板即可。根据数字钟系统的功能要求,可得到该系统的实现需要三个主要部分,即定时计数部分、显示部分和时间调整部分.51单片机内部的脉冲振荡电路为单片机的工作提供时钟节拍,两个定时/计数器可由软件设置为定时工作方式或计数工作方式及其他灵活多样的可控功能方式,为数字钟系统的定时计数部分提供了硬件基础.V1.1实验板上的总线扩展八位高亮数码管已由内部电路与单片机相连,通过单片机IO口进行数据传输可以实现对数码管显示的控制,数字钟系统的时间显示部分由这部分完成,若显示时分秒则只需其中六位数码管.在工作过程中对时分秒的校准需要通过外部按键与内部电路相联系,V1。1实验板上的4路独立按键和4*4矩阵键盘为设计提供了较完善的按键功能,保证了时间调整部分的硬件基础.51单片机有5个中断源,256B的片内RAM和4KB的片内flash ROM,完成所需功能不需要外部硬件的扩展,使得整个设计方案较为简便。 作为整个系统核心的SST单片机不仅有丰富的硬件资源,另一个很大的优势是具有在线仿真功能.在SoftICE监控程序的控制下,单片机通过PC的一个COM口与Keil uVision2debugger通讯,从而实现对目标程序的实时调试。SST的仿真功能可以极大地简化工作,这也是选择该器件的原因. 3。2系统整体框图 图3—1 系统整体框图 3.3模块方案的设计 根据数字钟的功能,可以将整个系统划分为四个主模块,即定时器模块、时间计数器模块、校时按键模块和显示模块. 1)时间计数器模块又可以分为时分秒三个子模块。秒计数器为60进制计数器,其进位输出是分计数器的进位输入;分计数器也是60进制计数器,其进位输出是时计数器的进位输出;时计数器是24进制计数器。 2)定时器模块主要用来产生精确的一秒定时,作为时钟的基准秒信号,在正常计时模式下,时间计数器在该秒信号的驱动下按照相应的进制进行计数.而在时间调整模式下,时间计数器则根据按键传输的信息进行相应的部分的数字调整。 3)校时按键模块主要是产生校计时模式切换脉冲,提供计数器选择信号(移位),以及作为外部事件触发单片机内部计数器计数进而改变相应时间部分(上调/下调)。 4)显示模块则主要用来将时间计数器的内容以直观的方式表示出来,程序设计中应该反复调用该模块,使得时间可以实时显示。 这几个模块的选择与设计都是从数字钟整体功能的实现方面来考虑的,各个模块有其独立的功能,同时也要和其他模块紧密相连。 图3-2 模块图 4.硬件设计 1)计时方案:使用单片机内部定时器/计数器计时。利用MSC51单片机内部的T1定时/计数器进行中断延时,配合软件延时可以实现时分秒的计时。该方案可以很好地节省硬件资源。 2)显示方案:LED动态显示。常用的显示方案有两种,即静态显示和动态显示。其中静态显示的效果较好,数码管亮度高,但是由于本次实验要用到六位数码管,使用静态显示就意味着硬件开销会较大。而动态显示虽然效果没有静态显示的好,但是可以在很大程度上节省硬件资源,简化实现过程,所以本次我们选用动态显示。 动态显示的原理:逐个循环点亮各位数码管,虽然在任意时刻只有一个数码管被点亮,但由于人眼的视觉暂留效应,只要循环的频率足够高,我们观察到的就是多位数码管同时被点亮。为了实现LED动态扫描,需要为数码管提供位选和段选信号. 单片机输出控制引脚使用P0(P0.0~P0。7)作为控制端,分别通过74HC573连到LED的段选端a到h用来输出相应数码或连接到LED的位选端,控制每个时刻点亮的数码管,也即控制时分秒的显示。 3)校时方案:使用实验板上的四位独立按键分别作为四个校时按键K1、K2、K3、K4。四位独立按键分别与P3.2~P3。5连接进行相应的信息交换。每按下一次K4,数字钟就在计时与校时模式之间切换一次;若是在校时模式下,再按K3键可以改变当前的位选信号,使得时间调整位依次右移,当移到最右端(秒个位)时,再按K3则重新回到最左端;选定调整位后按K2和K1可分别实现相应位上数值的加减1。此种实现方式使用的I/O口较多,但是实现相对简单。 5.软件设计 5。1主程序流程图 主程序:主要对中断源和定时器进行初始化,其中T1作为计时器,定时时间为50ms,则经过二十次中断的时间即为1s。 图5-1 主程序流程图 5.2显示模块流程图 显示模块可分为两部分,要完成的功能叙述如下: 转换为可显示码子程序:定时计数器单元的内容为十六进制,为适合LED的显示,须把其转换为压缩BCD码,也即把每个计数器的十位和个位拆分开,再通过查表将六个BCD码转换成对应的显示数码,并将转换后的内容放入时间缓存区40H—45H,以便后续程序使用。 图5—2 转码子程序流程图 显示子程序:LED动态扫描显示时分秒。首先R2设置初值07FH,通过位选信号选中时十位;R0指向40H,得到时十位的数码,通过P0送出段选信号到数码管使其显示。然后R2循环右移,依次选中后面五位数码管,R0循环加1,依次得到相应数码。这样扫描完全部六个数码管就可显示时分秒。注意相邻两个数码管扫描时间间隔不能过长,否则会出现闪烁现象。 图5—3 显示子程序流程图 5.3中断服务流程图 中断服务程序:主要判断中断次数是否足够,并对时分秒计数器进行相应的加1操作。 图5—4 中断子程序流程图 5.4校时模块 主程序中包含对按键情况的判断,一旦监测到有按键被按下,则转到相应按键的功能处理程序。独立按键从上到下分别是K4到K1。K4的功能处理程序进行对用户标志位F0的修改,当F0=1时工作于计时模式,否则为校时模式;K3按下则改变寄存器R7的内容,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) 在编辑窗口中进行代码的编辑,编辑完成后对代码文件进行保存,文件名后缀为.asm; 4) 对程序进行编译连接,检查有无语法错误或连接错误,进行错误修正直到得到正确的目标文件; 5) 对程序进行调试:检查全速运行后六位数码管的显示情况,按下相应按键对时间进行调整。 6.3测试结论 通过上述测试步骤,我们得到的测试结果如下: 1) 程序开始运行后,六位数码管从00:00:00开始显示时间,每过1秒则秒显示单元加一,到59秒时秒显示区清零,分个位加1;依次运行,发现分钟和小时分别符合60进制和24进制,时钟显示部分达到要求; 2) 在计时过程中按下四位独立按键第一位,则时钟进入校时模式;按下第二位选择要进行校时的数字位置,数字位置随着第二键的不断按下依次右移,到尽头后返回小时十位;按下第三键可对当前数字位置进行加1操作,按下第四键可进行减1操作,并且各显示单元符合相应进制,按键校时部分达到要求。 参考文献 [1]邹显圣.基于AT89C51单片机数字时钟的研究 2009.05 [2]张静.基于单片机的数字钟设计 2006.09 附录1 系统参考代码 LED_SEG EQU 0FAFFH LED_SEL EQU 0FBFFH ORG 0000H LJMP MAIN ORG 001BH ;T1中断服务入口 SERVE: PUSH PSW ;保护现场 PUSH ACC MOV TH1,#3CH ;重新给计数器赋初值 MOV TL1,#0B0H DJNZ 20H,EXIT ;判断是否够1秒 MOV 20H,#14H ;重新给20H单元赋值 INC 32H ;秒计数器加1 MOV A,32H CJNE A,#60,EXIT ;判断秒计数器是否满60 MOV 32H,#0 ;秒计数器归零 INC 31H ;分计数器加1 MOV A,31H CJNE A,#60,EXIT MOV 31H,#0 INC 30H MOV A,30H CJNE A,#24,EXIT MOV 30H,#0 EXIT:POP ACC ;返回现场 POP PSW RETI ;中断返回 STR_NUM:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;译码表 TRANS:MOV DPTR,#STR_NUM ;将累加器中的内容变为相应数码 MOVC A,@A+DPTR RET SHOW:MOV R0,#40H ;R0中存放数码缓存区地址 MOV R1,#6 ;六位数码管 MOV R2,#7FH ;R2中存放位选信息 LOOP:MOV A,#0 ;熄灭八段LED MOV DPTR,#LED_SEG MOVX @DPTR,A ;给出段选信号 MOV A,R2 MOV DPTR,#LED_SEL MOVX @DPTR,A ;给出位选信号 MOV A,@R0 ;显示数码缓存区的内容 MOV DPTR,#LED_SEG MOVX @DPTR,A LCALL DELAY_MS ;调用延时子程序 INC R0 ;数码缓存区地址加1 MOV A,R2 RR A ;循环移位 MOV R2,A DJNZ R1,LOOP RET DELAY_MS:MOV R3,#100 LP:DJNZ R3,LP RET MAIN:MOV TMOD,#10H ;定时器1工作于模式1 MOV TH1,#3CH MOV TL1,#0B0H ;设置计数器初值 MOV 20H,#14H ;设置中断次数 MOV 30H,#0 ;时计数器清零 MOV 31H,#0 ;分计数器清零 MOV 32H,#0 ;秒计数器清零 SETB EA ;中断允许 SETB ET1 SETB TR1 ;T1开始计时 BCD: MOV B,#10 ;BCD转换,数码转换子程序 MOV A,30H ;时计数器内容的拆分 DIV AB LCALL TRANS MOV 40H,A ;时十位的数码内容放在40H单元 MOV A,B ;时个位内容的转换 LCALL TRANS ORL A,#80H ;显示小数点 MOV 41H,A ;时个位内容存放41H单元 MOV B,#10 MOV A,31H DIV AB LCALL TRANS MOV 42H,A ;分十位存放42H单元 MOV A,B LCALL TRANS ORL A,#80H MOV 43H,A ;分个位存放43H单元 MOV B,#10 MOV A,32H DIV AB LCALL TRANS MOV 44H,A ;秒十位 MOV A,B LCALL TRANS ORL A,#80H MOV 45H,A ;秒个位 LCALL SHOW ;调用显示子程序 LJMP BCD END 附录2 器件清单 MCS51单片机实验板V1—1一块展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




数字钟系统的设计与实现-(2).doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2669863.html