日历时钟的设计_第1页
日历时钟的设计_第2页
日历时钟的设计_第3页
日历时钟的设计_第4页
日历时钟的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计报告书课题名称日历时钟的设计姓 名学 号院、系、部物理与电子科学系专 业应用电子技术指导教师 2013年11月20日12一、设计任务及要求:设计任务:1、利用MCS-51内部定时器定时T0/T1,编程实现时、分、秒的显示,显示格式为: 时分秒: 09 12 35 (24小时制)2、能按键调整时间的数值(按键数量自定)。要 求: 首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后进行硬件电路的初步设计,在计算机上画出硬件电路图,在老师的指导下进行修正硬件电路图,并对所涉及的参数进行计算。在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子程序的设计

2、,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切换等,以配合软件的设计。然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的编制过程中要注意资源的衔接。最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要上来编制个最大的程序,最后无法查找错误,最后写出设计报告。指导教师签名: 年 月 日 二、指导教师评语:指导教师签名: 年 月 日 三、成绩 指导教师签名: 年 月 日 目录绪言3二、方案比较与论证32.1 系

3、统整体流程图32.2单片机芯片的选择方案和论证:42.3时钟方案选择52.4显示模块的选择52.5键盘模块的选择52.6具体设计分析5三、硬件电路设计63.1整个电路原理图63.2数码显示模块设计73.3按键模块73.4复位电路8四.程序流程图8五、系统仿真95.1Proteus软件应用95.2实验测试10六 主要元器件选择11七、参考文献11八.结束语11附录2 部分源程序12绪言数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示

4、期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它

5、通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。二、方案比较与论证2.1 系统整体流程图LED数码管动态扫描显示模块AT89S52主控制模 块键盘模块 DS1302时钟模块开始 初始化子程序 While(1)串口有数据 否 是调用子程序,获取串口数据调用子程序,设置日历时钟芯片调用子程序,获取芯片的时间信息调用显示字程序2.2单片机芯片的选择方案和论证:方案一:纯

6、硬件电路系统,各功能采用分离的硬件电路模块实现。用时序逻辑电路实现时钟功能,用555定时器实现闹钟的设定。但这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,而且不方便实现对系统的扩展。   方案二:用可编程逻辑器件(PLD)实现。这种方案与前一种相比,可靠性增加,同时可以很好的完成时钟的功能。同时这种方案只能选用数码管显示,显示的效果不够理想,无法很好的完成扩展功能的要求,系统的灵活性不够。方案三:采用AT89S52单片机作为系统的控制核心。时钟功能采用单片集成的时钟芯片DS1307来实现,可以使用液晶显示时间、日历及闹铃,有着智能化的人机界

7、面。由于使用了单片机,整个系统可编程,系统的灵活性大大增加了。另外,本方案可以方便的实现其他功能的扩展。   经过以上的比较论证,选用方案三来完成项目设计的要求。2.3时钟方案选择 方案一:基本门电路搭建。用基本门电路来实现时钟发生器,电路结构复杂,故障系数大,不易调试。 方案二:专用时钟芯片。目前市场上已有很多实时时钟芯片。如DS12887、DS1302、DS1307、PCF8563、X1227等,芯片内都集成了时钟/日历功能,给时钟系统设计带来很多方便。根据设计要求,在本设计中我采用了DS1302时钟芯片。   

8、;2.4显示模块的选择  方案一:使用多个数码管显示。LED数码管是利用二极管发光显示数字和字母,具有亮度大、接口设计比较容易,价格相对较便宜等优点。但是由于它工作电流较大、不能显示汉字,显示的信息量有限,若在此题目中应用就会受到很大的限制。   方案二:采用液晶显示。液晶特别是具有汉字显示功能的液晶显示器,来实现显示功能,不仅可以实现基本的显示信息,而且可以显示丰富的符号指示信息以及文字指示信息,信息量丰富且直观易懂。而且液晶显示有功耗低,体积小,重量轻,寿命长,不产生电磁辐射污染等优点。系统采用方案二,设计选用LCD1602液晶显示模块。&

9、#160;2.5键盘模块的选择 方案一:采用独立式按键电路。每个键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。但是当按键较多时占用单片机的I/O数目较多。方案二:采用阵列式键盘。此类键盘是采用行列扫描方式,当按键较多时可以降低占用单片机的I/O口数目。根据设计要求我采用了方案二。2.6具体设计分析利用单片机(AT89S51)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。结合本设计实验来说,要求显示的时间为时,分,秒,并且都用两位数码管来实现显示。因此,具体设计程序时,应尽可能多用一些

10、子程序与数据暂寄存器单元。本程序设计中,在主程序之外,可以设置时间值处理子程序,时间值显示前的处理子程序,按键情况扫描子程序,1S定时中断子程序以及5ms延时消除按键抖动子程序等多个小型的子程序。另外,可以设置一些数据单元作为数据寄存器。用28H,2AH,2BH和2CH地址单元分别作为显示位数的扫描指针值寄存器,时寄存器,分寄存器和秒寄存器,再用20H地址单元作为显示寄存器 三、硬件电路设计3.1整个电路原理图 3.2数码显示模块设计共阴数码管数码管的引脚图数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又

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

12、的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。3.3按键模块时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器、时个位和时十位计数器及星期计数器电路构成,其中秒个位和秒十位计数器、分

13、个位和分十位计数器为60进制计数器,时个位和时十位计数器为24进制计数器。下图为按键模块电路原理图。3.4复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能

14、外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。分寄存器值加1分按键了?开始四.程序流程图秒寄存器=60定时器T0初始化设置显示初值为12:00:00 N使分寄存器清0设置定时4m初值分按键松开?设置中断允许 N设中断250次时按键了?启动T0中断秒按键了?时寄存器值加1 秒寄存器值加1时寄存器值20 N秒寄存器值加1使寄存器清0 Y N 使秒寄存器清0秒按松开了?秒按键松开了?N Y N 五、系统仿真运用proteus软件进行仿真现在proteus软件中建立一个新的文件,再根据自己的要求选择所需的器件,把器件进行适当的排位后进行连

15、接,连接后运行软件进行仿真。5.1Proteus软件应用1原理图编辑窗口(The Editing Window):顾名思义,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。2预览窗口(The Overview Window):它可显示两个内容,一个是:当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容

16、,因此,你可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。3模型选择工具栏(Mode Selector Toolbar): 主要模型(Main Modes): 1* 选择元件(components)(默认选择的) 2* 放置连接3* 放置标签(用总线时会用到) 4* 放置文本5* 用于绘制总线6* 用于放置子电路7* 用于即时编辑元件参数(先单击该图标再单击要修改的元件) 配件(Gadgets): 1* 终端接口(terminals):有VCC、地、输出、输入等接口2* 器件引脚:用于绘制各种引脚3* 仿真图表(graph):用于各种分析,如Noise Analysis

17、4* 录音机5* 信号发生器(generators) 6* 电压探针:使用仿真图表时要用到7* 电流探针:使用仿真图表时要用到8* 虚拟仪表:有示波器等2D图形(2D Graphics): 1* 画各种直线 2* 画各种方框 3* 画各种圆 4* 画各种圆弧 5* 画各种多边形 6* 画各种文本 7* 画符号 8* 画原点等4元件列表(The Object Selector): 用于挑选元件(components)、端接口(terminals)、信号发生器(generators)、仿真图表(graph)等。举例,当你选择“元件(components)”,单击“P”按钮会打开挑选元件对话框,选择

18、了一个元件后(单击了“OK”后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。5方向工具栏(Orientation Toolbar): 旋转:旋转角度只能是90的整数倍。翻转:完成水平翻转和垂直翻转。使用方法:先右键单击元件,再点击(左击)相应的旋转图。6仿真工具栏仿真控制按钮 1* 运行2* 单步运行3* 暂停4* 停止按照自己设计的电路图就可以画出想要的电路图!2.在软件中模拟和实际的效果为什么有如此大的差别?答:软件中模拟受到电脑CPU工作频率的影响,所以效果不是很明显,但是一些基本的现象还是可以看出来的。只要我们知道原理和图是正确的,那么就没有必要考虑太多的

19、未知因素。在实际面包板中一定会看到正确的现象。3.面包板连线注意事项!答:面包板连线时一定要弄清楚它的原理,不然就会一点头绪都找不到。连接芯片是要弄清楚各个引脚对应的端口号,该接地的地方一定要接地,该接高电平的地方一定要接高电平。5.2实验测试 主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。下述为12:00:00的仿真图: 图8 12:00:00时刻的仿真效果图六 主要元器件选择表6-1 主要元器件清单序号材料名称规格型号数量元件代号1单片机AT89S511U12电阻1k17R1-R16

20、3电容10PF4C1、C2、C3、Y14数码管MPX81DS15集成电路274LS47、74LS138七、参考文献【1】 张迎新.单片机初级教程【M】.北京:北京航空航天大学出版社,2006.【2】 冯志强.Altium Designer8.0中文版电路设计【M】.北京:清华大学出版社,2009.【3】 杨素行.模拟电子技术基础简明教程(第三版)【M】.北京:高等教育出版社,2006.【4】 余孟尝.数字电子技术基础简明教程(第三版)【M】.北京:高等教育出版社,2006.【5】 程鹏.自动控制原理(第二版)【M】.北京:高等教育出版社,2006.【6】 王化祥,张淑英.传感器原理及应用(第三

21、版)【M】.天津:天津大学出版社,2007.【7】 邱关源,罗先觉.电路(第五版)【M】.北京:高等教育出版社,2006.【8】 王明泉.信号与系统【M】.北京:科学出版社,2006.八.结束语 设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。另外,要非常感谢我的指导老师,是她指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。附录2 部分源程序ORG 00H;主程序起始地址JMP START;主程序STARTORG 0BH;定时器T0中断起始地址JMP TIM0;定时器T0

22、中断子程序TIM0START: MOV SP;#70H;设置堆栈指针MOV 28H,#00;设置显示位数扫描指针初值为0MOV 2AH,#12H;设置时钟显示寄存器初值为12HMOV 2BH,#00;设置分钟显示寄存器初值为00HMOV 2CH,#00;设置秒钟显示寄存器初值为00HMOV TMOD,#01H;设置定时器T0工作在方式1MOV TH0,#0F0H;定时4ms的初值,即0F060HMOV TL0,#60H;初值的低位MOV IE,#82H;定时器T0中断允许MOV R4,#250;保证后面实现中断250次,即1s的延时SETB TR0;启动定时器T0LOOP: JB P0.0,N

23、2;若秒没有按键,就转去下一步检查分CALL DELAY;延时5ms消除抖动MOV A,2CH;将秒寄存器的值载入累加器A ADD A,#01H;A的内容加1DA A;十进制调整MOV 2CH,A;A 的值存入秒寄存器CJNE A,#60H,N1;看是否已经是60秒,若不是就继续检查MOV 2CH,#00;已经是60秒,就清空秒寄存器的值N1: JNB P0.0,$;秒按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动N2: JB P0.1,N4;若分没有按键,就转去下一步检查时钟CALL DELAY;延时5ms,消除抖动MOV A,2BH;将分寄存器的值载入累加器AADD A

24、,#01H;A的内容加1DA A;十进制调整MOV 2BH,A;A的值存入分寄存器CJNE A,#60H,N3;看是否已经是60分MOV 2BH,#00;已经是60分,就清空秒寄存器的值N3: JNB P0.1,$;分按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动N4: JB P0.2,LOOP;若时没有按键,就转回去继续检查看是否秒有按键CALL DELAY;延时5ms,消除抖动MOV A,2AH;将时寄存器的值载入累加器AADD A,#01H;A的内容加1DA A;十进制调整MOV 2AH,A;A的值存入时寄存器CJNE A,#24H,N5;看是否已经是24时,若不是就

25、继续检查MOV 2AH,#00;已经是24时,就清空寄存器的值N5: JNB P0.2,$;时钟按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动JMP LOOP;返回重新检查看是否有按键;*定时器T0中断子程序*TIM0: MOV TH0,#0F0H;定时初值重设MOV TL0,#60HPUSH ACC;将累加器A的值暂存于堆栈PUSH PSW;将PSW的值暂存于堆栈DJNZ R4,X2;计时中断不满1s就退出继续中断MOV R4,#250;计时1sCALL CLOCK;调用计时子程序CLOCKCALL DISP;调用显示子程序DISPX2: CALL SCAN;调用扫描子程

26、序SCADPOP PSW;到堆栈取回PSW的值POP ACC;到堆栈取回累加器ACC的值RETI;返回主程序;*扫描子程序*SCAN: MOV R0,#28HINC R0;显示位数扫描值加1CJNE R0,#6,X3;扫描位数不为6就准备控制输出MOV R0,#0;扫描位数为6,就另其值为0X3:MOV A,R0;扫描位数载入AADD A,#20H;A加上20H(显示寄存器地址)=各时间显示区地址MOV R1,A;各时间显示区地址存入AMOV A,R0;扫描位数存入ASWAP A;将A的高低4位交换(其高4位为扫描的位数,低4位为显示数据值)ORL A,R1;将扫描值与显示数据组合MOV P1,A;显示输出RET;*计时子程序*CLOCK:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论