




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 51 单片机和 DS1302 数字时钟 硬件总体设计说明书编制单位:作 者:版 本:V1.0发布日期:2011-2-12 目录一、引言-1 1.1 编写目的-1 1.2 背景-1 1.3 参考资料-1二、总体设计-3 2.1 设计与运行环境-3 2.2 硬件功能描述-3三、数字钟软件和硬件设计-3 3.1 硬件电路设计-3 3.1.1 电源-3 3.1.2 独立按键模块-3 3.1.3 显示模块-4 3.1.4 复位电路模块-4 3.1.5 时钟芯片模块-5 3.1.6 主控模块-5 3.1.7 闹铃模块-63.2 软件设计-6 3.2.1 程序设计流程图-6 3.2.2 源程序-8四、数字钟制作过程中遇到的问题-19五、总结-20 附录:DS1302 时钟芯片的工作原理和使用方法-22 附录:如何利用软件减小的计时误差-25 1一、引言1.1 编写目的 为了进一步熟悉 51 单片机的编程以及学习数字钟的相关设计方法,在老师的指导下我们进行了本次数字钟的设计。 我们在寒假利用 10 天的时间里基于 51 单片机STC89C52 单片机和时钟芯片 DS1302 设计并实现了数字时钟。在 PCB 板制作完成并且调试成功之际,为了进一步提高自己和动手能力和编程能力, 对这次数字钟的设计和制作的过程中遇到的问题及设计思路做一总结。1.2 背景 随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。 二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式, 直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。 除了采用集成化的时钟芯片外,还有采用 MCU 的方案,利用 STC89 系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制 LED 数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特可靠。 在 21 世纪的今天,单片机仍然有着它不可替代的地位和独特的作用在学完单片机后,为了进一步学习 51 单片机的控制和编程,我们利用 51 单片机自己设计并制作数字钟。1.3 参考资料【1】8051 系列单片机 C 程序设计完全手册 求是科技 编著 人民邮电出版社 2006【2】51 单片机应用从零开始 杨欣 编著 清华大学出版社 2008【3】单片机原理及接口技术第三版 李朝青 编著 北京航空航天大学出版 社 2008【4】51 单片机 C 语言教程 郭天祥 编著 电子工业出版社 2009 2二、总体设计 此数字钟利用单片机 STC89C52 和时钟芯片 DS1302 设计完成。2.1 设计与运行环境 数字钟的程序设计和调试均在 Keil uVision2 环境下完成的。设计并完成的程序下载至 STC89C52 单片机后,即可初始化时钟芯片 DS1302 从而开始计时,系统开始正常运行。2.2 硬件功能描述 数字钟能够完成 24 小时制计时,计时初始化值为 00:00:00,用户可以通过按键调整时钟的初值实现校时功能,并且可以通过按键设定一个 24 小时以内任意时刻的闹铃,用户可以手动选择闹铃的开或者关两种状态。三、数字钟软件和硬件设计 3.1 硬件电路设计 数字钟的电路主要有电源模块、显示模块、按键模块、复位电路模块、时钟芯片模块、主控芯片 STC89C52 模块和闹铃模块等 7 大模块组成。 3.1.1 电源 电源模块采用 7805 进行稳压,保证5V 电压的稳定输出,进一步提高系统的抗干扰能力和稳定性。 3.1.2 独立按键模块 系统有三个独立按键,独立按键 S1、S2、S3 分别接至单片机P3.2、P3.3、P3.4 口。 S1 用来功能选择,其功能可以用按键次数 N 来表示: N1:校准计时的小时位 N2:校准计时的分钟位 N3:校准闹铃的小时位 N1:校准闹铃的分钟位 N5:退出 S2 主要功能用来进行加一操作。在有功能选择的情况下,无论选中那一种功 3能操作,按下 S2 即进行一次加一操作,在没有功能选择的情况下,系统不响应此按键的任何操作。 S3 用来控制闹铃的开或者关,在任意时间只要按下此键即可打开(或关闭)闹铃,在按键一次就可以关闭(或打开)闹铃。 3.1.3 显示模块 一个良好的显示模块对一个系统非常重要,所有操作结果和计时结果,都要通过显示模块来显示出来。同时显示模块提供了良好的人机交互平台。常用的显示模式有 LED 7 段数码管显示、点阵显示和液晶显示。 液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于液晶其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片。鉴于 LED 7 段数码管成本低,也比较容易实现的特点,最终确定使用共阴极数码管来显示。 本系统显示模块电路由一块 74HC573、一块 74HC138 芯片和两个四位一体 7段数码管组成。74HC573 用来驱动数码管,74HC573 的 Q0Q7 分别接四位一体数码管的 Adp。74HC138 控制位选。 3.1.4 复位电路模块 4 复位电路主要的功能是是整个系统初始化,在每次上电时系统自动初始化,如果在程序运行的过程中程序没有响应或者需要进行一次初始化,这是可以通过按复位开关来实现需要的有效操作。 3.1.5 时钟芯片模块 DS1302 时钟芯片是本系统实现高精度计时的关键。利用 DS1302 时钟芯片独立于单片机来计时,在提高计时进度的同时也提高了整个系统的抗干扰能力。DS1302 通过 SCLK、I/O、RES 端口和单片机 STC90C52 进行通信。SCLK 接至单片机P1.7 口,在读写操作时给 DS1302 提供相应的时钟脉冲;I/O 接至P3.5 用来传送所有的数据;RES 接至单片机P1.6 上用来控制单片机与时钟芯片间的数据传送的开始于结束。 DS1302 的工作原理及使用方法见附录。 3.1.6 主控模块 主控模块的核心组成部分是单片机 STC89C52, 承担着所有操作任务的调控与分派工作。 53.1.7 闹铃模块 闹铃模块由蜂鸣器和蜂鸣器的驱动组成。在有闹铃发生的时候,蜂鸣器的驱动电路驱动蜂鸣器发声,产生闹铃的效果。 3.2 软件设计 3.2.1 程序设计流程图 1、主程序流图 6 2、读 DS1302 中断及闹铃检测流程图 3、功能选择中断操作的程序流程图 7 4、加一中断操作的程序流程图3.2.2 源程序 / 本程序主要实现的功能: 利用时钟芯片 DS1302 和 STC89C52 进行高精度计时,能够实现时、分、秒的显示,具有校时,调整闹铃的功能。 设计者: 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 BITP1.7实时时钟 T_IO BITP3.5 数据线 T_RST BITP1.6 复位线 8 MOV TMOD11H MOV TH115H 设置扫描 ds1302 的计数初值 MOV TL10A0H MOV TH00C5H 设置按键防抖延时 MOV TL068H 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 闹铃小时值存储单元 NLMINUTE_0 DATA 61H 闹铃分值存储单元 NLHOUR_1 DATA 62H NLMINUTE_1 DATA 63H TEMP DATA 64H 闹铃发生标志位 NLJS DATA 65H 闹铃计时标志MOV TEMP00H 闹铃发生标志位初始化为 0,表示没有闹铃的发生 MOV NLJS00H 闹铃铃声长短控制单元 MOV NLHOUR_008H 闹铃符初值 MOV NLMINUTE_030H MOV LINE040H 显示分和秒的间隔符 MOV LINE140H 显示小时和分的间隔符 MOV SMJS00H MOV SECOND00H 时钟计时初始化值 MOV MINUTE25H MOV HOUR08H MOV ZANCUN_SECOND00H MOV R140H-R1 MOV R307H 确定当前选通的显示位-R3 SETB EX0 SETB IT0 外部中断葿边沿触发 SETB IT1 9 SETB ET0 SETB ET1 SETB PT0 设置定时器 T0 中断位高优先级 SETB PX1 外部中断 1 中断为高优先级,用来在有功能操作 ;时来中断功能选择的中断 SETB EA 开总中断 SETB TR1 T1 主要进行显示扫描中断 LCALL SET1302 DS1302 初始化-数码管显示程序-XIANSHI:-检测闹铃是否发生-MOV ZANCUN0R6 PUSH ZANCUN0 R6 压栈 MOV R6TEMP CJNE R601HXIANSHI_1 检测闹零定时是否到时 SETB TR0 XIANSHI_1:MOV AR1 读计数位的计数值-R1 CJNE R305HNEXTWEI 判断当前为是否需要显示分隔符-MOVP2R3 MOVP0LINE0 NEXTWEI:CJNE R302HSEL_0 MOVP2R3 MOVP0LINE1 SEL_0:MOVP2R3 送位选信号 /-对计数位的计数值译码输出-开始-/ CJNE A00HSEL_1 MOVP03FH 0,如果当前计数位的计数值位 0,则将 0 的共阴极七段数码管编码 3FH 送出显示 SJMP SEL_10 SEL_1: CJNE A01HSEL_2 MOVP006H 1 SJMP SEL_10 SEL_2: CJNE A02HSEL_3 MOVP05BH 2 SJMP SEL_10 SEL_3: CJNE A03HSEL_4 MOVP04FH 3 SJMP SEL_10 SEL_4: CJNE A04HSEL_5 MOVP066H 4 SJMP SEL_10 SEL_5: CJNE A05HSEL_6 MOVP06DH 5 SJMP SEL_10 10 SEL_6: CJNE A06HSEL_7 MOVP07DH 6 SJMP SEL_10 SEL_7:CJNE A07HSEL_8 MOVP007H 7 SJMP SEL_10 SEL_8:CJNE A08HSEL_9 MOVP07FH 8 SJMP SEL_10 SEL_9:CJNE A09HSEL_10 MOVP06FH 9 SJMP SEL_10 /-对计数位的计数值译码输出-结束-/ SEL_10: INC R1 R1 加一,使当前计数位后移一位 DEC R3 位扫描控制位减一,因为初始位扫描是从 111 开始的 ACALL DELAY CJNE R30FFHSEL_11 MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年血液科骨髓移植护理知识竞赛试题答案及解析
- 河南省淮阳县第一高级中学2026届高三化学第一学期期中质量检测试题含解析
- 2026届云南省玉龙纳西族自治县一中化学高二上期末教学质量检测试题含答案
- 电机产品知识培训课件
- 天津市部分区2023-2024学年高一下学期期末考试地理试题(解析版)
- 红原县2025年公开招聘专职社区工作者的(5人)考前自测高频考点模拟试题带答案详解
- 山东省德州市宁津县第一中学2025-2026学年高一上学期开学考试生物试卷(含答案)
- 51.美宜佳线上商城美宜佳线上优惠月:网购也能享优惠轻松省到家
- 基于容器技术的多环境隔离的人才招聘系统部署方案
- 电感器知识培训内容总结
- 非法宗教班会课件
- 《智能客服运营管理》课件
- 管网工程施工组织设计与管理
- 幼儿园开学园长会议发言稿模版
- 2025年大学辅导员选拔考试题库:学生综合素质评价体系评价方法试题
- 酒店前台接待流程及话术
- 2025第三届全国技能大赛竞赛(装配钳工赛项)省选拔赛考试题库(含答案)
- GB/Z 27001-2025合格评定通用要素原则与要求
- 2025年第九届“学宪法、讲宪法”活动知识竞赛测试题库及答案
- 银行规范服务礼仪培训
- 嘉兴市昊鸣纺织有限公司年产480万米高档纺织真丝面料技改项目环评报告
评论
0/150
提交评论