基于DS1302电子时钟的设计讲解

上传人:最**** 文档编号:114742120 上传时间:2019-11-12 格式:DOC 页数:23 大小:1.58MB
返回 下载 相关 举报
基于DS1302电子时钟的设计讲解_第1页
第1页 / 共23页
基于DS1302电子时钟的设计讲解_第2页
第2页 / 共23页
基于DS1302电子时钟的设计讲解_第3页
第3页 / 共23页
基于DS1302电子时钟的设计讲解_第4页
第4页 / 共23页
基于DS1302电子时钟的设计讲解_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于DS1302电子时钟的设计讲解》由会员分享,可在线阅读,更多相关《基于DS1302电子时钟的设计讲解(23页珍藏版)》请在金锄头文库上搜索。

1、单片机应用课程设计报告单片机应用课程设计报告 (20122013 学年第 2 学期) 设计题目:基于设计题目:基于 DS1302DS1302 电子时钟的设计电子时钟的设计 班别: 姓名: 指导教师: 时间: 物理与电子工程学院 2 目目录录 1 1 设计任务设计任务 3 3 2 2 系统总体方案设计系统总体方案设计 3 3 2.12.1 各个模块方案论证各个模块方案论证 3 3 2.1.12.1.1 时钟芯片的选择时钟芯片的选择3 3 2.1.22.1.2 显示器的选择显示器的选择3 3 2.22.2 总体方案设计总体方案设计4 4 3 3 硬件电路设计硬件电路设计 4 4 3.13.1 单片

2、机最小系统单片机最小系统 4 4 3.23.2 13021302 时钟电路时钟电路5 5 3.33.3 按键调时电路按键调时电路 5 5 4 4 系统软件设计系统软件设计 6 6 4.14.1 主程序流程图主程序流程图 6 6 4.24.2 子程序流程图子程序流程图 7 7 4.2.14.2.1 DS1302DS1302 子程序流程图子程序流程图 7 7 4.2.24.2.2 16021602 子程序流程图子程序流程图 8 8 4.34.3 按键校正调时程序按键校正调时程序 8 8 5 5 实物调试实物调试 9 9 5.15.1 实物性能分析实物性能分析9 9 5.25.2 总结总结 1212

3、 附录附录 1 11414 (1 1)系统总电路图)系统总电路图 1414 (2 2)系统仿真图)系统仿真图 1414 附录附录 2 21616 部分程序清单部分程序清单 1616 物理与电子工程学院 3 1 设计任务设计任务 基本要求:采用 DS1302 时钟芯片与单片机 STC89C52 相结合设计电子时钟 来显示出实时年、月、日、时、分、秒等时间,并且可以通过按键进行时间调 整。 2 系统总体方案设计系统总体方案设计 2.12.1 各个模块方案论证各个模块方案论证 2.1.12.1.1 时钟芯片的选择时钟芯片的选择 由于设计的是电子时钟, 而单片机 STC89C52 自带计时功能,利用单

4、片机 实现数据的显示和调整是可行的,采用单片机计时,利用它的一个 16 位定时器 /计数器每 50ms 产生一个中断信号,中断 20 次后产生一个秒信号,然后根据时 间进制关系依次向分、时、日、星期、月、年进位。这样就实现了直接用单片 机来实现电子万年历设计。 用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机 的资源。但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。 在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便 对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。利用 单片机进行控制,采用 DS1302 作为实时时钟芯片,其三线接口

5、 SCLK、I/O、/RST 与单片机进行同步通信,外加掉电存储电路、显示电路、键 盘电路,即构成一个基本的电子万年历系统。由于在系统设计时,需要考虑以 下几点因素:功耗低、精确度高、软件程较简单,芯片的体积小、芯片成本低 等,而 DS1302 芯片有上面所述的诸多优点,所以本设计采用 DS1302 作为实时 时钟芯片。 2.1.22.1.2 显示器的选择显示器的选择 LED 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而 显示出需要的字符,但此次设计需要显示汉字,如果选用数码管来显示汉字, 则会需要数十个,这样就会产生浪费,而且不方便控制,不符合设计的初衷。 LCD1602 具

6、有微功耗、体积小、显示内容丰富、超薄轻巧,对比度可调、 内含复位电路、提供各种控制命令等特点,完全满足本次设计的需要,因此选 物理与电子工程学院 4 择用 LCD1602 作为显示器使用。 2.22.2 总体方案设计总体方案设计 DS1302 具有自身计时的功能,但是自身却没法显示并且调整时间,这时就 不可避免的要使用到单片机 STC89C52,它可以作为一个桥梁,架接液晶显示器 和 DS1302,并且利用单片机的专用端口可以实现调整时间的功能。 利用单片机 STC89C52 实现数据的显示和调整是整个系统的关键所在,在整 个系统中,使用单片机的 P0 口作为液晶显示屏的显示端口,液晶显示屏所

7、显示 的数据全都通过 P0 口接收与发送 ,P1 口用作触发开关的通信接口,这样单片 机可以较好地完成时间的显示与调整。 3 3 硬件电路设计硬件电路设计 3.13.1 单片机最小系统单片机最小系统 单片机最小系统是时钟的主要控制器,它是连接外围与时钟电路、输入按 键、显示器 LCD1602 的纽带。它主要由 STC89C52 单片机、单片机晶振电路与单 片机复位电路组成。单片机最小系统如图 1 所示。 图图 1 1 单片机最小系统电路单片机最小系统电路 晶振系统由两个 30pf 的陶瓷电容和一个 12MHz 的晶振组成,分别接在 XTAL1、XTAL2 上,在单片机内部,这两个端口是一个反相

8、放大器的输入端,这 个放大器构成了片内震荡器,它决定了单片机的时钟周期。 单片机有一个复位引脚 RST,高电平有效,只要 RST 保持高电平,单片机 物理与电子工程学院 5 将循环复位,复位期间,ALE、PSEN 输出高电平。RST 从高电平变为低电平之后, PC 指针变为 0000H,使单片机从程序存储器地址为 0000H 的单元开始执行。当 单片机执行程序出错或进入死循环时,也可按复位按钮重新启动。 3.2 1302 时钟电路 时钟电路是时间计时的基本电路,时钟电路一般由 DS1302 时钟芯片和 32.768MHz 晶振构成。理论上在晶振两端加两个 6pf 的电容,可以使晶振频率 更为精

9、确。DS1302 时钟电路图如图 2 所示。 图图 2 2 13021302 时钟电路时钟电路 3.33.3按键调时电路按键调时电路 按键调时电路主要的作用是校正时间,它包含有五个动作:进入(S3),退 出(S6),加一(S4),减一(S5),切换(S2)。要进行校正调时,要首先按启动按 钮,启动按键有效之后,其他按键才能被解锁,如果启动按键判断无效,其余 按键将被锁定,按退出按键就会退出校正调时状态。按键调时电路如图 3 所示。 物理与电子工程学院 6 图图 3 3 按键校正调时电路按键校正调时电路 4 4 系统软件设计系统软件设计 DS1302 是利用单片机控制来实现时钟计时, C 语言具

10、有简单易懂,条理 清晰,易于修改的特点,因此应用起来就比较方便。 4.14.1 主程序流程图主程序流程图 物理与电子工程学院 7 图图 4 4 主程序流程图主程序流程图 开始时,先对变量进行初始化,然后对 DS1302 进行处理,使其不具备写保 护,这样才能给 DS1302 通信,使其能与单片机交换数据。给 DS1302 连续的脉 冲,接着向 1302 内部写入地址,直至写完。最后由单片机与 DS1302 通信,读 取 DS1302 内部的地址,直至读取完毕,然后单片机把所读到的数据传送给 1602,使数据呈现在液晶屏上,这样,整个主程序流程图就完成了。主程序流 程图如图 4 所示。 4.24

11、.2 子程序流程图子程序流程图 4.2.14.2.1 DS1302DS1302 子程序流程图子程序流程图 DS1302 子程序流程图如图 5 所示。 是 否 图图 5 5 DS1302DS1302 子程序流程图子程序流程图 图 5 展示了 DS1302 工作的一个工作流程:首先便是对 DS1302 进行初始化, 使其不受写保护,方便数据写入,在连续的脉冲作用下,不断有数据写入 1302 开始 DS1302 初始化 写入数据 计数 是 否 校 正 调 时 读出数据 物理与电子工程学院 8 的地址中,直至需要调时,这时改变后的数据就会储存在新的地址上,读取时 便可把新的数据传输在 1602 上,即

12、完成了调时。 4.2.24.2.2 16021602 子程序流程图子程序流程图 否 是 图图 6 6 16021602 子程序流程图子程序流程图 1602 显示器的工作流程图展示了 1602 的工作流程:启动时,首先对 1602 进行初始化,然后检测有没有数据写入,当有数据写入时,1602 便读出数据并 显示,没有数据写入时,1602 就一直处于等待中,直至有数据写入。1602 子程 序流程图如图 6 所示。 4.34.3 按键校正调时程序按键校正调时程序 if(num=1) enable(0xc0+12); if(jia=0) 开始 1602 初始化 写入数据 是 否 有 写 入 读出数据显

13、示 物理与电子工程学院 9 delay(5); if(jia=0) while(!jia); sec=bcdtodec(uc_R1302(0x81) sec+; if(sec59) sec=0; L1602_char(2, 12, sec/10+48); L1602_char(2, 13, sec%10 + 48); v_W1302(0x80,dectobcd(sec)|0x80); if(jian=0) delay(5); if(jian=0) while(!jian); sec=bcdtodec(uc_R1302(0x81); sec-; if(sec=-1) sec=59; L1602_

14、char(2, 12, sec/10+48); L1602_char(2, 13, sec%10 + 48); v_W1302(0x80,dectobcd(sec)|0x80); 这是整个调时系统的一部分,它实现了时间的调整这一功能。全部程序详 见附录。 5 5 实物调试实物调试 5.15.1 实物性能分析实物性能分析 用 KEIL 编写程序软件编写程序、经过 Proteus 仿真软件仿真调试之后,确 认了此系统可正常运行,在这样的前提下,我们利用一个单片机最小系统、一 块用万用板焊接的模块和一个 1602 液晶完成了第一次实物仿真。本次实物如图 7 所示。虽然本次调试测试没有达到要求,但是为

15、后续工作打下了不可替代的 基础。 物理与电子工程学院 10 图图 7 7 万用板实物万用板实物 我们在第一次的尝试之后,发现无较大问题存在,于是就尝试着做出了我 们此次课程设计的第一块 PCB 板,在仔细检查了整个电路无误之后我们就开始 了我们的尝试,第一块板的造型是深思熟虑之后才最终定稿的。可能是由于第 一次做双面板,技术不熟练,所以打板的时候就难免出现这样那样的问题,我 们的第一块板同样出现了问题:液晶显示屏上只显示三个小亮点,不显示数字, 实物如图 8 所示。 物理与电子工程学院 11 图图 8 8 第一块第一块 PCBPCB 板板 经过这一次的挫折,我们发现了本来不会出错的地方,无缘无

16、故的出现了 好多问题,导致了第一次试验没能成功。但是我们并不气馁,经过细致的检查, 我们找到了大部分的问题,最终我们的第二块板也很快做出来了,可是问题又 出现了:时钟不走。第二块 PCB 板如图 9 所示。 图图 9 9 第二块第二块 PCBPCB 板板 物理与电子工程学院 12 因为时间数据一直不走,我们查阅了好多资料,又认真的把相关知识复习 了一遍,最终问题解决了:原来是 DS1302 的两个数据传输线的电流太小,于是 我们就在 P3.5、P1.6 的端口加上了上拉电阻,加大了电流,最终我们完成了设 计。完成的实物如图 10 所示。 图图 1010 最终设计最终设计 5.25.2 总结总结 首先,这次设计让我们更加了解了单片机及其运用,让我们受益匪浅,在 这次设计中,我们想挑战一下自己,于是就选用了 1602 液晶屏来显示数字时钟, 我们知道这对我们来说还是有难度的,但是我相信我们一定会克服这个困难的, 因为我坚信只有给自己真正的压力,自己才会获得真正的知识! 在整个方案的探究与决策中

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号