ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:169.60KB ,
资源ID:16457693      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16457693.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(日历时钟的设计Word格式文档下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

日历时钟的设计Word格式文档下载.docx

1、七、参考文献 11八.结束语 11附录2 部分源程序 12绪言数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应

2、用前景广阔。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。二、方案比较与论证2.1 系统整体流程图L

3、ED数码管动态扫描显示模块AT89S52主控制模 块键盘模块DS1302时钟模块开始初始化子程序While(1)串口有数据 否 是调用子程序,获取串口数据调用子程序,设置日历时钟芯片调用子程序,获取芯片的时间信息调用显示字程序方案一:纯硬件电路系统,各功能采用分离的硬件电路模块实现。用时序逻辑电路实现时钟功能,用555定时器实现闹钟的设定。但这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,而且不方便实现对系统的扩展。方案二:用可编程逻辑器件(PLD)实现。这种方案与前一种相比,可靠性增加,同时可以很好的完成时钟的功能。同时这种方案只能选用数码管显示,显示的效果不够理想,无

4、法很好的完成扩展功能的要求,系统的灵活性不够。方案三:采用AT89S52单片机作为系统的控制核心。时钟功能采用单片集成的时钟芯片DS1307来实现,可以使用液晶显示时间、日历及闹铃,有着智能化的人机界面。由于使用了单片机,整个系统可编程,系统的灵活性大大增加了。另外,本方案可以方便的实现其他功能的扩展。经过以上的比较论证,选用方案三来完成项目设计的要求。2.3时钟方案选择方案一:基本门电路搭建。用基本门电路来实现时钟发生器,电路结构复杂,故障系数大,不易调试。方案二:专用时钟芯片。目前市场上已有很多实时时钟芯片。如DS12887、DS1302、DS1307、PCF8563、X1227等,芯片内

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

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

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

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

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

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

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

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

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

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

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

16、面包板连线时一定要弄清楚它的原理,不然就会一点头绪都找不到。连接芯片是要弄清楚各个引脚对应的端口号,该接地的地方一定要接地,该接高电平的地方一定要接高电平。5.2实验测试 主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。下述为12:00的仿真图: 图8 12:00:00时刻的仿真效果图六 主要元器件选择表6-1 主要元器件清单序号材料名称规格型号数量元件代号1单片机AT89S51U12电阻1k17R1-R163电容10PF4C1、C2、C3、Y1数码管MPX8DS15集成电路74LS47、

17、74LS138七、参考文献【1】 张迎新.单片机初级教程【M】.北京:北京航空航天大学出版社,2006.【2】 冯志强.Altium Designer8.0中文版电路设计【M】.北京:清华大学出版社,2009.【3】 杨素行.模拟电子技术基础简明教程(第三版)【M】.北京:高等教育出版社,【4】 余孟尝.数字电子技术基础简明教程(第三版)【5】 程鹏.自动控制原理(第二版)【6】 王化祥,张淑英.传感器原理及应用(第三版)【M】.天津:天津大学出版社,2007.【7】 邱关源,罗先觉.电路(第五版)【8】 王明泉.信号与系统【M】.北京:科学出版社,八.结束语 设计,我懂得了学习的重要性,了解

18、到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。另外,要非常感谢我的指导老师,是她指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。附录2 部分源程序ORG 00H;主程序起始地址JMP START;主程序STARTORG 0BH;定时器T0中断起始地址JMP TIM0;定时器T0中断子程序TIM0START: MOV SP;#70H;设置堆栈指针MOV 28H,#00;设置显示位数扫描指针初值为0MOV 2AH,#12H;设置时钟显示寄存器初值为12HMOV 2BH,#00;设置分钟显示寄存器初值为00

19、HMOV 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,N2;若秒没有按键,就转去下一步检查分CALL DELAY;延时5ms消除抖动MOV A,2CH;将秒寄存器的值载入累加器A ADD A,#01H;A的内容加1DA A;十进制调整MOV 2CH,A;A 的值存入秒寄存器CJNE

20、A,#60H,N1;看是否已经是60秒,若不是就继续检查已经是60秒,就清空秒寄存器的值N1: JNB P0.0,$;秒按键还没有放开就循环等待延时5ms,消除抖动N2: JB P0.1,N4;若分没有按键,就转去下一步检查时钟MOV A,2BH;将分寄存器的值载入累加器AMOV 2BH,A;A的值存入分寄存器CJNE A,#60H,N3;看是否已经是60分已经是60分,就清空秒寄存器的值N3: JNB P0.1,$;分按键还没有放开就循环等待N4: JB P0.2,LOOP;若时没有按键,就转回去继续检查看是否秒有按键MOV A,2AH;将时寄存器的值载入累加器AMOV 2AH,A;A的值存

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

22、程序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;各时间显示区地址存入A扫描位数存入ASWAP A;将A的高低4位交换(其高4位为扫描的位数,低4位为显示数据值)ORL A,R1;将扫描值与显示数据组合MOV P1,A;显示输出R

23、ET*计时子程序*CLOCK: MOV A,2CH;秒寄存器值载入AADD A,#1;加1秒A的值存入秒寄存器CJNE A,#60H,X4;A不等于60秒,就跳出程序去显示已经是60秒,就清0分寄存器值载入A加1分A的值存入分寄存器 A不等于60分,就跳出程序去显示已经是60分就清0时寄存器值载入A加1小时A的值存入是寄存器CJNE A,#24H,X4;A不等于24时,就跳出程序去显示MOV 24H,#00;已经是24时,就清0X4: RET*显示子程序*DISP: MOV R1,20H;20H为显示寄存器单元将秒寄存器的内容存入AMOV B,#10H;设B累加器的值为10HDIV AB;A/B,商存入A(十位数),余数存入(个位数)MOV R1,B;将显示的个位数存入20H显示寄存器单元INC R1MOV R1,;A将显示的十位数存入21H显示寄存器单元将分寄存器的内容存入A将显示的个位数存入22H显示寄存器单元MOV R1,A;将显示的十位数存入23H显示寄存器单元将时寄存器的内容存入A将显示的个位数存入24H显示寄存器单元将显示的十位数存入25H显示寄存器单元*延时5ms消除抖动*DELAY: MOV R6,#60D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1EN

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1