单片机应用课程设计基于DS1302电子时钟的设计 报告参考模板.doc_第1页
单片机应用课程设计基于DS1302电子时钟的设计 报告参考模板.doc_第2页
单片机应用课程设计基于DS1302电子时钟的设计 报告参考模板.doc_第3页
单片机应用课程设计基于DS1302电子时钟的设计 报告参考模板.doc_第4页
单片机应用课程设计基于DS1302电子时钟的设计 报告参考模板.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用课程设计报告单片机应用课程设计报告 2012 2013 学年第 2 学期 设计题目 基于设计题目 基于 DS1302DS1302 电子时钟的设计电子时钟的设计 班别 2010 级自动化 1 班 姓名 李永兴 贺孝言 王永伟 指导教师 颜丽娜 时间 2013 年 5 月 物理与电子工程学院 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 单片机最小系统单片机最小系统 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 附录附录 1 1 1414 1 1 系统总电路图 系统总电路图 1414 2 2 系统仿真图 系统仿真图 1414 附录附录 2 2 1616 部分程序清单部分程序清单 1616 物理与电子工程学院 3 1 设计任务设计任务 基本要求 采用 DS1302 时钟芯片与单片机 STC89C52 相结合设计电子时钟 能够显示出实时年 月 日 时 分 秒等时间 并且可以通过按键进行时间 调整 2 系统总体方案设计系统总体方案设计 2 12 1 各个模块方案论证各个模块方案论证 2 1 12 1 1 时钟芯片的选择时钟芯片的选择 由于设计的是电子时钟 而单片机 STC89C52 自带计时功能 利用单片机 实现数据的显示和调整是可行的 采用单片机计时 利用它的一个 16 位定时器 计数器每 50ms 产生一个中断信号 中断 20 次后产生一个秒信号 然后根据时 间进制关系依次向分 时 日 星期 月 年进位 这样可以直接用单片机的 内部定时 计数器来完成电子万年历的设计 用单片机内部的定时 计数器来制作电子万年历 虽然无须外接其他芯片 充分利用了单片机的资源 但是计时精度不够高 误差较大 掉电后所有数据 将被丢失 且软件编程较为复杂 在以单片机为核心构成的装置中 经常需要一个实时的时钟和日历 以便 对一些实时发生事件记录时给予时标 采用 DS1302 作为实时时钟芯片 利用单 片机进行控制 外加掉电存储电路 显示电路 键盘电路 即构成一个基本的 电子万年历系统 由于在系统设计时 需要考虑以下几点因素 功耗低 精确 度高 软件程较简单 芯片的体积小 芯片成本低等 而 DS1302 芯片有上面所 述的诸多优点 所以本设计采用 DS1302 作为实时时钟芯片 2 1 22 1 2 显示器的选择显示器的选择 此次设计需要显示汉字 如果选用数码管来显示汉字 则需要数十个 这 样就会增加成本 而且接线不方便 不符合设计的初衷 LCD1602 具有微功耗 体积小 显示内容丰富 超薄轻巧 对比度可调 内含复位电路 提供各种控制命令等特点 完全满足本次设计的需要 因此 选择 LCD1602 作为显示器进行使用 物理与电子工程学院 4 2 22 2 总体方案设计总体方案设计 DS1302 具有自身计时的功能 但是自身却没法显示并且调整时间 这时就 不可避免地要使用到单片机 STC89C52 它可以作为一个桥梁 架接液晶显示器 和 DS1302 并且利用单片机的输入 输出端口可以实现调整时间的功能 利用单片机 STC89C52 实现数据的显示和调整是整个系统的关键所在 在整 个系统中 使用单片机的 P0 口作为液晶显示屏的显示端口 液晶显示屏所显示 的数据全都通过 P0 口发送 P1 口用作调整按键的电路连接接口 这样单片机 可以较好地完成时间的显示与调整 DS1302 电子时钟总体设计方案图如图 1 所 示 图图 1 1 DS1302DS1302 电子时钟总体设计方案图电子时钟总体设计方案图 3 3 硬件电路设计硬件电路设计 3 13 1 单片机最小系统单片机最小系统 单片机是电子时钟系统的主控制器 其最小系统主要由 STC89C52 单片机 晶振电路及单片机复位电路组成 晶振系统由两个 30pf 的陶瓷电容和一个 12MHz 的晶振组成 分别接在 XTAL1 XTAL2 上 在单片机内部 这两个端口是一个反相放大器的输入端 这 个放大器构成了片内振荡器 它决定了单片机的时钟周期 单片机有一个复位引脚 RST 高电平有效 只要 RST 保持高电平 单片机 单片机 按键调整 电路 1602显示器电路 1302电子 时钟 P0端口 P1端口 物理与电子工程学院 5 将循环复位 复位期间 ALE PSEN 输出高电平 RST 从高电平变为低电平之后 PC 指针变为 0000H 使单片机从程序存储器地址为 0000H 的单元开始执行 当 单片机执行程序出错或进入死循环时 也可按复位按钮重新启动 单片机最小 系统如图 1 所示 图图 2 2 单片机最小系统电路单片机最小系统电路 3 2 1302 时钟电路 时钟电路是时间计时的基本电路 时钟电路一般由 DS1302 时钟芯片和 32 768MHz 晶振构成 理论上在晶振两端加两个 6pf 的电容 可以使晶振频率 更为精确 DS1302 时钟电路图如图 2 所示 物理与电子工程学院 6 图图 3 3 13021302 时钟电路时钟电路 3 33 3按键调时电路按键调时电路 按键调时电路主要的作用是校正时间 它包含有五个动作 进入 S3 退 出 S6 加一 S4 减一 S5 切换 S2 要进行校正调时 要首先按启动按 钮 启动按键有效之后 其他按键才能被解锁 如果启动按键判断无效 其余 按键将被锁定 按退出按键就会退出校正调时状态 按键调时电路如图 3 所示 物理与电子工程学院 7 图图 4 4 按键校正调时电路按键校正调时电路 4 4 系统软件设计系统软件设计 由于单片机是可编程的控制器 故需要采用 C 语言对单片机进行程序的编 写 主程序主要由 DS1302 程序 按键调整程序及 1602 液晶屏程序组成 4 14 1 主程序流程图主程序流程图 图图 5 5 主程序流程图主程序流程图 开始时 先对变量进行初始化 然后对 DS1302 进行处理 使其不具备写保 物理与电子工程学院 8 护 这样才能确保单片机与 DS1302 进行正常的数据交换 给 DS1302 连续的脉 冲 接着向 1302 内部写入地址 直至写完 最后由单片机与 DS1302 通信 读 取 DS1302 内部的地址 直至读取完毕 然后单片机把所读到的数据传送给 1602 使数据显示在液晶屏上 这样 整个主程序流程图就完成了 主程序流 程图如图 4 所示 4 24 2 子程序流程图子程序流程图 4 2 14 2 1 DS1302DS1302 子程序流程图子程序流程图 DS1302 子程序流程图如图 5 所示 是 否 图图 6 6 DS1302DS1302 子程序流程图子程序流程图 图 5 展示了 DS1302 的一个工作流程 首先是对 DS1302 进行初始化 使其 不受写保护 方便数据写入 在连续的脉冲作用下 不断有数据写入 1302 的地 址中 直至需要调时 这时改变后的数据就会储存在新的地址上 读取时便可 把新的数据传输在 1602 上 即完成了调时 开始 DS1302 初始化 写入数据 计数 是 否 校 正 调 时 读出数据 物理与电子工程学院 9 4 2 24 2 2 16021602 子程序流程图子程序流程图 否 是 图图 7 7 16021602 子程序流程图子程序流程图 1602 显示器的工作流程图展示了 1602 的工作流程 启动时 首先对 1602 进行初始化 然后检测有没有数据写入 当有数据写入时 1602 便读出数据并 显示 没有数据写入时 1602 就一直处于等待中 直至有数据写入 1602 子程 序流程图如图 6 所示 4 34 3 按键校正调时程序按键校正调时程序 if num 1 enable 0 xc0 12 if jia 0 delay 5 if jia 0 while jia sec bcdtodec uc R1302 0 x81 开始 1602 初始化 写入数据 是 否 有 写 入 读出数据显示 物理与电子工程学院 10 sec if sec 59 sec 0 L1602 char 2 12 sec 10 48 L1602 char 2 13 sec 10 48 v W1302 0 x80 dectobcd sec 0 x80 if jian 0 delay 5 if jian 0 while jian sec bcdtodec uc R1302 0 x81 sec if sec 1 sec 59 L1602 char 2 12 sec 10 48 L1602 char 2 13 sec 10 48 v W1302 0 x80 dectobcd sec 0 x80 这是整个调时系统的一部分 它实现了时间的调整这一功能 全部程序详 见附录 5 5 实物调试实物调试 5 15 1 实物性能分析实物性能分析 用 KEIL 编写程序软件编写程序 经过 Proteus 仿真软件仿真调试之后 确 认了此系统可正常运行 在这样的前提下 我们利用一个单片机最小系统 一 块用万用板焊接的模块和一个 1602 液晶完成了第一次实物仿真 本次实物如图 7 所示 虽然本次调试测试没有达到要求 但是为后续工作打下了不可替代的 基础 物理与电子工程学院 11 图图 8 8 万用板实物万用板实物 我们在第一次的尝试之后 发现无较大问题存在 于是就尝试着做出了我 们此次课程设计的第一块 PCB 板 在仔细检查了整个电路无误之后我们就开始 了我们的尝试 第一块板的造型是深思熟虑之后才最终定稿的 可能是由于第 一次做双面板 技术不熟练 所以打板的时候就难免出现这样那样的问题 我 们的第一块板同样出现了问题 液晶显示屏上只显示三个小亮点 不显示数字 实物如图 8 所示 物理与电子工程学院 12 图图 9 9 第一块第一块 PCBPCB 板板 经过这一次的挫折 我们发现了本来不会出错的地方 无缘无故的出现了 好多问题 导致了第一次试验没能成功 但是我们并不气馁 经过细致的检查 我们找到了大部分的问题 最终我们的第二块板也很快做出来了 可是问题又 出现了 时钟不走 第二块 PCB 板如图 9 所示 图图 1010 第二块第二块 PCBPCB 板板 物理与电子工程学院 13 因为时间数据一直不走 我们查阅了好多资料 又认真的把相关知识复习 了一遍 最终问题解决了 原来是 DS1302 的两个数据传输线的电流太小 于是 我们就在 P3 5 P1 6 的端口加上了上拉电阻 加大了电流 最终我们完成了设 计 完成的实物如图 10 所示 图图 1111 最终设计最终设计 5 25 2 总结总结 首先 这次设计让我们更加了解了单片机及其运用 让我们受益匪浅 在 这次设计中 我们想挑战一下自己 于是就选用了 1602 液晶屏来显示数字时钟 我们知道这对我们来说还是有难度的 但是我相信我们一定会克服这个困难的 因为我坚信只有给自己真正的压力 自己才会获得真正的知识 在整个方案的探究与决策中 我们自己动手分析设计程序加深了对自己未 知知识的理解和对指令的灵活运用 通过对程序的编译和电路的仿真 让我们 更加熟悉了仿真软件的应用 最重要的是使我们能够更直观的看到程序运行的 结果 这给了我们极大地鼓励与信心 此外 通过这次单片机课程设计 不仅对我们的动手能力有进一步的提高 物理与电子工程学院 14 而且还对我们的性格成长上也产生了很大的影响 设计操作量大 对我们的习 惯和技能要求高 对我们的素质发展有着相当重要的作用 要在操作前应该认 真学习理论知识 以便更好地指导实践 之后应该继续思考 把理论与实践更 好地结合起来 凡事不能操之过急 静下心来 认真的思考 谨慎的处理好动 手与动脑的有效结合 这种改变无疑让我们在以后的生活中能获取更多的益处 与经验 本次课程设计给我印象最深刻的是它给我们启发 理论和实践是两个不同 的过程 理论是不能等于实践 反之也不行 两者是有区别的 有时理论是对 的 实践不一定能体现出来 实践出来了 不一定能和理论稳合呼应 比如 我们在仿真的时候 我们电路和程序没有问题 完全正确 实验结果也与我们 预期的一样 这是我们产生了 此次设计如此简单 只要把电路图连对就行了 错误想法 结果做出来的实物并没有按照我们的预期展现给我们 又有问题了 经过我们认真仔细的检查 又查阅了众多的资料 把以前的资料又习一遍 最终问题找到了 在找到问题的那一瞬间 我真切的感受到了理论与实际的切 切实实的联系 所有的东西并不是理论是正确的 实际也是正确的 我们按照 仿真的电路图连结起来的电路在真正做出来时 DS1302 的两个数据传输端口因 为电流过小而不能工作 我们在 P3 5 和 1 6 端口的后面接上了上拉电阻 这样 我们的作品才真正的完成了 读万卷书 不如行万里路 现在我终于明白这句从古至今都在流传的话 了 一句名言存在自有它存在的道理 我们会谨记此次设计带给我们的启发 我们一定会认真的去思 仔细的去体会此次设计的真正意义 参考文献 1 谭浩强主编 C 程序设计题解与上机指导 第 3 版 M 北京 清华大学出版社 2005 16 24 2 谢维成 杨家国 董秀成 单片机原理与应用及 C51 程序设计 第 2 版 M 北京 清华 大学出版社 2009 7 25 36 物理与电子工程学院 15 附录附录 1 1 1 系统总电路图系统总电路图 系统总电路图 如图 11 所示 图图 1111 系统总电路图系统总电路图 2 2 系统仿真图系统仿真图 系统仿真图 如图 12 所示 图图 1212 系统仿真图系统仿真图 物理与电子工程学院 16 3 3 PCBPCB 板板 设计使用的 PCB 如图 13 14 所示 图图 1313 PCBPCB 板正面板正面 物理与电子工程学院 17 图图 1414 PCBPCB 板反面板反面 附录附录 2 2 程序清单程序清单 include include define uchar unsigned char define uint unsigned int sbit ACC0 ACC 0 sbit ACC7 ACC 7 sbit t P1 0 sbit jia P1 1 sbit jian P1 2 sbit m P1 3 sbit T CLK P1 6 sbit T IO P3 5 sbit T RST P1 7 sbit E P2 7 1602 sbit RW P2 6 sbit RS P2 5 void v W1302 uchar ucAddr uchar ucDa uchar uc R1302 uchar uchar dectobcd uchar bcd uchar bcdtodec uchar void delay uchar x uchar i while x for i 0 i59 sec 0 L1602 char 2 12 sec 10 10 48 L1602 char 2 13 sec 10 48 v W1302 0 x80 dectobcd sec 0 x80 if jian 0 delay 5 if jian 0 while jian sec bcdtodec uc R1302 0 x81 sec if sec 1 sec 59 L1602 char 2 12 sec 10 10 48 L1602 char 2 13 sec 10 48 v W1302 0 x80 dectobcd sec 0 x80 物理与电子工程学院 20 if num 2 enable 0 xc0 9 if jia 0 delay 5 if jia 0 min bcdtodec uc R1302 0 x83 min while jia if min 59 min 0 L1602 char 2 9 min 10 10 48 L1602 char 2 10 min 10 48 v W1302 0 x82 dectobcd min if jian 0 delay 5 if jian 0 min bcdtodec uc R1302 0 x83 min while jian if min 1 min 59 L1602 char 2 9 min 10 10 48 L1602 char 2 10 min 10 48 v W1302 0 x82 dectobcd min if num 3 enable 0 xc0 6 if jia 0 delay 5 if jia 0 hour bcdtodec uc R1302 0 x85 hour while jia if hour 23 hour 0 L1602 char 2 6 hour 10 10 48 物理与电子工程学院 21 L1602 char 2 7 hour 10 48 v W1302 0 x84 dectobcd hour if jian 0 delay 5 if jian 0 while jian hour bcdtodec uc R1302 0 x85 hour if hour 1 hour 23 L1602 char 2 6 hour 10 10 48 L1602 char 2 7 hour 10 48 v W1302 0 x84 dectobcd hour if num 0 enable 0 x0c v W1302 0 x80 uc R1302 0 x81 void v RTInputByte uchar ucDa uchar i ACC ucDa T RST 1 for i 8 i 0 i T IO ACC0 T CLK 1 T CLK 0 ACC ACC 1 uchar uc RTOutputByte void uchar i T RST 1 物理与电子工程学院 22 for i 8 i 0 i ACC ACC 1 ACC7 T IO T CLK 1 T CLK 0 return ACC void v W1302 uchar ucAddr uchar ucDa T RST 0 T CLK 0 T RST 1 v RTInputByte ucAddr nop nop v RTInputByte ucDa T CLK 1 T RST 0 uchar uc R13

温馨提示

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

评论

0/150

提交评论