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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于51单片机和时钟芯片DS1302的数字时钟方案设计书.docx

1、基于51单片机和时钟芯片DS1302的数字时钟方案设计书题目: 基于单片机的数字时钟设计 学年: 2013 学期: 专业: 电气工程及其自动化 班级: 电气106 姓名: 姜鹏飞 学号: 2010013973 指导教师: 郑子含 一、引言-11.1编写目的-11.2背景-11.3参考资料-1二、总体设计-32.1设计与运行环境-32.2硬件功能描述-3三、数字钟软件和硬件设计-3 3.1 硬件电路设计-33.1.1电源-33.1.2独立按键模块-33.1.3显示模块-43.1.4复位电路模块-43.1.5时钟芯片模块-53.1.6主控模块-53.1.7闹铃模块-63.2软件设计-63.2.1程

2、序设计流程图-63.2.2 源程序-8四、数字钟制作过程中遇到的问题-19五、总结-20附录:DS1302时钟芯片的工作原理和使用方法-22附录:如何利用软件减小的计时误差-25一、引言1.1编写目的为了进一步熟悉51单片机的编程以及学习数字钟的相关设计方法,在老师的指导下我们进行了本次数字钟的设计。 基于51单片机STC89C52单片机和时钟芯片DS1302设计并实现了数字时钟。在PCB板制作完成并且调试成功之际,为了进一步提高自己和动手能力和编程能力,对这次数字钟的设计和制作的过程中遇到的问题及设计思路做一总结。1.2背景随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数

3、字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消

4、费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。除了采用集成化的时钟芯片外,还有采用MCU的方案,利用STC89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。 在21世纪的今天,单片机仍然有着它不可替代的地位和独特

5、的作用在学完单片机后,为了进一步学习51单片机的控制和编程,我们利用51单片机自己设计并制作数字钟。1.3参考资料【1】8051系列单片机C程序设计完全手册 求是科技 编著 人民邮电出版社 2006【2】51单片机应用从零开始 杨欣 编著 清华大学出版社 2008【3】单片机原理及接口技术(第三版) 李朝青 编著 北京航空航天大学出版社 2008【4】51单片机C语言教程 郭天祥 编著 电子工业出版社 2009二、总体设计 此数字钟利用单片机STC89C52和时钟芯片DS1302设计完成。2.1设计与运行环境数字钟的程序设计和调试均在Keil uVision2环境下完成的。设计并完成的程序下载

6、至STC89C52单片机后,即可初始化时钟芯片DS1302从而开始计时,系统开始正常运行。2.2硬件功能描述 数字钟能够完成24小时制计时,计时初始化值为00:00:00,用户可以通过按键调整时钟的初值实现校时功能,并且可以通过按键设定一个24小时以内任意时刻的闹铃,用户可以手动选择闹铃的开或者关两种状态。三、数字钟软件和硬件设计 3.1 硬件电路设计数字钟的电路主要有电源模块、显示模块、按键模块、复位电路模块、时钟芯片模块、主控芯片STC89C52模块和闹铃模块等7大模块组成。3.1.1电源电源模块采用7805进行稳压,保证+5V电压的稳定输出,进一步提高系统的抗干扰能力和稳定性。3.1.2

7、独立按键模块 系统有三个独立按键,独立按键S1、S2、S3分别接至单片机P3.2、P3.3、P3.4口。S1用来功能选择,其功能可以用按键次数N来表示:N=1:校准计时的小时位 N=2:校准计时的分钟位N=3:校准闹铃的小时位 N=1:校准闹铃的分钟位 N=5:退出 S2主要功能用来进行加一操作。在有功能选择的情况下,无论选中那一种功能操作,按下S2即进行一次加一操作,在没有功能选择的情况下,系统不响应此按键的任何操作。 S3用来控制闹铃的开或者关,在任意时间只要按下此键即可打开(或关闭)闹铃,在按键一次就可以关闭(或打开)闹铃。3.1.3显示模块 一个良好的显示模块对一个系统非常重要,所有操

8、作结果和计时结果,都要通过显示模块来显示出来。同时显示模块提供了良好的人机交互平台。常用的显示模式有LED 7段数码管显示、点阵显示和液晶显示。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于液晶其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片。鉴于LED 7段数码管成本低,也比较容易实现的特点,最终确定使用共阴极数码管来显示。 本系统显示模块电路由一块74HC573、一块74HC138芯片和两个四位一体7段数码管组成。74HC573用来驱动数码管,74HC573的Q0Q7

9、分别接四位一体数码管的Adp。74HC138控制位选。3.1.4复位电路模块复位电路主要的功能是是整个系统初始化,在每次上电时系统自动初始化,如果在程序运行的过程中程序没有响应或者需要进行一次初始化,这是可以通过按复位开关来实现需要的有效操作。3.1.5时钟芯片模块DS1302时钟芯片是本系统实现高精度计时的关键。利用DS1302时钟芯片独立于单片机来计时,在提高计时进度的同时也提高了整个系统的抗干扰能力。DS1302通过SCLK、I/O、RES端口和单片机STC90C52进行通信。SCLK接至单片机P1.7口,在读写操作时给DS1302提供相应的时钟脉冲;I/O接至P3.5用来传送所有的数据

10、;RES接至单片机P1.6上用来控制单片机与时钟芯片间的数据传送的开始于结束。DS1302的工作原理及使用方法见附录。3.1.6主控模块主控模块的核心组成部分是单片机STC89C52, 承担着所有操作任务的调控与分派工作。3.1.7闹铃模块 闹铃模块由蜂鸣器和蜂鸣器的驱动组成。在有闹铃发生的时候,蜂鸣器的驱动电路驱动蜂鸣器发声,产生闹铃的效果。3.2软件设计3.2.1程序设计流程图1、主程序流图2、读DS1302中断及闹铃检测流程图3、功能选择中断操作的程序流程图4、加一中断操作的程序流程图3.2.2 源程序/* 本程序主要实现的功能:利用时钟芯片DS1302和STC89C52进行高精度计时,

11、能够实现时、分、秒的显示,具有校时,调整闹铃的功能。设计者:* 2011/1/24 */ ORG 0000H SJMP MAIN 。主程序入口地址 ORG 0003H AJMP ANJIAN_FUNCTION 。功能选择操作入口 ORG 000BH AJMP DELAY_10MS 。防抖延时以及闹铃 ORG 0013H AJMP COUNT_UP 。按键加1操作入口 ORG 001BH AJMP DU_1302 。每300ms读ds1302中断入口MAIN: T_CLK BIT P1.7。实时时钟 T_IO BIT P3.5 。数据线 T_RST BIT P1.6 。复位线MOV TMOD,#

12、11H MOV TH1,#15H 。设置扫描ds1302的计数初值 MOV TL1,#0A0H MOV TH0,#0C5H 。设置按键防抖延时 MOV TL0,#68H SEC0 DATA 40H 。定义秒显示的个位 SEC1 DATA 41H 。定义秒显示的十位 LINE0 DATA 42H 。定义秒-时分隔符 MIN0 DATA 43H 。定义分显示个位 MIN1 DATA 44H 。定义分显示十位 LINE1 DATA 45H 。定义时-分分隔符 HOUR0 DATA 46H 。定义时显示个位 HOUR1 DATA 47H 。定义时显示十位 。-预读计数位寄存器-SECOND DATA 52H 。秒寄存器,用于暂存当前由DS1302读的的秒的数据MINUTE DATA 53H 。分-用于暂存当前由DS1302读的的分的数据 HOUR DATA 54H 。时-用于暂存当前由DS1302读的的时的数据SMJS DATA 55H 。设置ds1302 扫描定时控制位(扫描计数)FUNC DATA 56H 。定义按键功能选择控制位ZANCUN0 DATA 57H 。定义按键操作时存储校准值的个位ZANCUN1 DATA 58H 。定义按键操作时存储校准值的十位ZANCUN_SECOND DATA 59H 。用于校时和对闹铃时对秒的显示值清零 NLHOUR_0 DATA 60H 。

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

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