基于单片机可编程作息时间控制器设计与制作.doc_第1页
基于单片机可编程作息时间控制器设计与制作.doc_第2页
基于单片机可编程作息时间控制器设计与制作.doc_第3页
基于单片机可编程作息时间控制器设计与制作.doc_第4页
基于单片机可编程作息时间控制器设计与制作.doc_第5页
免费预览已结束,剩余46页可下载查看

下载本文档

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

文档简介

江西理工大学专科毕业论文 华中理工大学 毕业论文 设计 任务书 课课 题题 20102010 年年 7 7 月月 5 5 日至日至 20102010 年年 1111 月月 2 2 日共日共 1515 周周 教育中心教育中心 专业年级专业年级 学号姓名学号姓名 教育中心教育中心 主主 任任 指指 导导 教教 师师 20102010 年年 7 7 月月 5 5 日日 课 题 来 源 自选 课 题 的 目 的 意 义 要 求 1 根据教学大纲的要求 独立完成所承担的毕业论文 不得弄虚作假和抄 袭别人的论文 2 在毕业论文写作期间 每周至少将论文进展情况通过各种形式和指导老 师沟通汇报一次 3 毕业论文严格遵循 华理网院毕业论文指导手册 规范进行 课 题 主 要 内 容 及 进 度 主要内容 进度安排 毕业论文环节动员 公布指导教师名单 7 月 5 日 下达任务书 确定毕业论文选题 7 月 5 日 7 月 20 日 撰写开题报告 7 月 25 日 8 月 25 日 开题报告修改及提交论文初稿 9 月 7 日 9 月 16 日 提交论文的修改稿 9 月 24 日 10 月 11 日 提交全部终稿文件 10 月 25 日 11 月 2 日 论文答辩 江西理工大学专科毕业论文 发给学生 1 设计 论文 题目 3 设计 论文 课题要求 1 深入实际调研和收集资料 文献查阅 并充分利用图书馆 计算机网络进行资料和文献的查询 2 以正确 合理的专业知识理论为基础 结合实际调研情况 进行毕业设计 3 要求对电气控制线路图 系统图 流程图 布置图 生产 工艺图等进行计算机绘图 掌握计算机绘图 WORD 编辑等能力 4 对于毕业设计中引用的技术数据 应注明出处 5 按照学院规定时间逐步地完成毕业设计 并按照毕业设计 的格式要求来书写毕业设计论文 4 实验 上机 调研 部分要求内容 1 调研课题相关的主要设备的生产 装配和调试的全部过程 2 调查了解有关环节中存在的技术 工艺问题和解决这些问 题的初步设想 3 收集与毕业设计有关的技术数据 图纸资料 5 文献查阅要求 1 查阅有关设计的理论专业知识 2 查阅有关仪器设备 电气 电子装置的型号及主要参数 3 查阅有关技术的数据和工艺流程 6 发出日期 2010 年 7 月 1 日 7 学生完成日期 2011 年 4 月 15 日 指导教师签名 学 生 签 名 附注 1 任务书应附于完成的设计 论文 中 并与设计 论文 一并提交答辩 委员会 2 任务书须由指导教师填写 审批意见 系主任签名 年 月 日 江西理工大学专科毕业论文 1 阅读中外文献资料摘要 阅读中外文献资料摘要 数字钟是采用数字电路实现对 年 月 日 周 时 分 秒 数字显示的计时装置 由于数字集成电路的发展和石英晶体振荡器的广泛应用 使得数字钟的精度远远超过老 式钟表 钟表的数字化给人们生产生活带来了极大的方便 而且大大地扩展了钟表原先 的报时功能 可编程作息时间控制器就是其中的一个部分 它能很好的帮助我们完成对 操控方面的时序和时间的控制 可见可编程时钟控制器在未来有很大的发展潜力 其研究 领域十分宽广 应用领域十分广泛 2 立题依据及主要研究内容 立题依据及主要研究内容 数字钟能长期 连续 可靠 稳定地工作 同时还具有体积小 功耗低等特点 便 于携带 使用方便 目前应用广泛是可编程作息时间控制器 它不仅具有数字钟的一般优 点 还有控制时间精确 且通过改变单片机的程序能够灵活改变冬 夏季作息时间 同时 能够实时显示时间 能够让我们来掌握运筹时间而不是让时间来催促逼迫我们 可编程 作息时间控制器实现了对时间控制的智能化 摆脱了传统由人来控制时间的长短的不便 实现代学校必不可少的设备 本次研究的主要内容是可编程作息时间控制器系统 系统包括 单片机 LCD 驱动 及显示系统 按键输入系统 功率放大系统和电源组成 利用单片机提供的基信号作为基 准计时信号 进行年月日周时分秒计时 根据设定时间完成语音播报 可按照设定的时间进 行相应的控制 能够随意设置语音播报时间和内容 3 设计方案及思路 设计方案及思路 主要的设计方案为 1 硬件设计 由单片机系统 输入键盘 功率放大器 显示系统等部分组成 系统扩展了四个按键用于报时及设定时间 利用单片机的 DAC 为电流型输出 经负载 电阻 R1 三极管 Q1 放大驱动扬声器放音 SPEAKER 可选用 4 或 8 扬声器 作为调试和当地语音播报使用 留有音频输出接口经功率放大器驱动音箱 用一个 LED 显示作息时间到等相关信息 根据具体需要可控制电铃 播放提示语音等 2 软件设计 整个程序分为 主程序 键盘扫描程序 校时子程序 语音子程序等几部分 设计思路 由单片机系统 输入键盘 功率放大器 音箱和显示系统等部分组成 构成可编程作 息时间控制器系统 要以单片机为核心 配以输入 输出 显示 控制等外围部件和软 件 硬件是软件实现的基础 软件则在硬件的基础上对其资源进行合理调配和使用 从而完成应用系统所要求的任务 二者相互依赖 却一不可 要求如下 1 时钟显示 16 位 LED 从左到右依次显示年 月 日 周 时 分 秒 采用 24 计时 2 按键控制功能 采用 4 个独立键盘 其中一个为功能键 一个为数字调整键 一 个为取消设置键 用来设定时间 另一个为用来设定定时时间 3 时间显示 通电后 系统自动进入时钟显示 从 0000 00 00 00 00 00 00 00 开 始计时 此时可以调整和设置显示的时间 按动小时调整键后小时将会加 1 同时也 可以调整分和秒 原理和前面的小时设置方法相同 用按键来调整所设置的当前的时 间 4 时间调整 按下功能键 系统停止计时显示 进入时间设定状态 系统只显示小 时内容 其他时间处于暂停状态 若再按动功能键则用来调整分钟 此时小时和秒都 处于停止状态 原理和前面的相同 5 闹钟设置 启闹 按下闹钟设置 启闹键 系统继续计时 从 0000 00 00 00 00 00 00 开始显示 此时再按功能键后进入闹钟设置状态 设置过程 和时间调整相同 当与所设置的时间相同时 并且定时间到时 音箱开始发声 以上要求用软件编程来实现 通过编程方法可得到主程序 键盘扫描程序 校时子程序 语音播放子程序等几部分 再利用仿真系统进行功能仿真和调试 最后结合硬件就能 得到一个可编程作息时间控制器 4 毕业设计 论文 工作计划 毕业设计 论文 工作计划 2009 年 12 月 1 日至 2010 年 3 月 5 日 相关文献的调研 资料收集 2010 年 3 月 5 日至 2010 年 3 月 12 日 系统方案探讨与指导教师问题答 疑 2010 年 3 月 12 日至 2010 年 3 月 19 日 硬件设计 2010 年 3 月 19 日至 2010 年 3 月 26 日 软件设计 2010 年 3 月 26 日至 2010 年 4 月 2 日 软件硬件联调 2010 年 4 月 2 日至 2010 年 4 月 9 日 完成毕业论文写作 江西理工大学专科毕业论文 2010 年 4 月 9 日至 2010 年 4 月 16 日 论文指导教师初评 并给出修改 意见 学生进行修改 2010 年 4 月 16 日至 2010 年 4 月 23 日 完成毕业答辩 PPT 准备毕业答 辩 5 指导教师审核意见 指导教师审核意见 指导教师 签名 年 月 日 注 1 开题报告由学生填写 须经指导教师审批 2 阅读文献资料摘要 要比较全面反映题目研究已取得的成果和研究动态 3 立题依据包括立题的必要性 可可 编编 程程 作作 息息 时时 间间 控控 制制 器器 设设 计计 与与 制制作作 摘摘 要 要 本文介绍了一款基于 AT89S52 单片机数字钟的设计 通过多功能数字钟 江西理工大学专科毕业论文 的设计思路 详细叙述了系统硬件 软件的具体实现过程 论文重点阐述了数 字钟硬件中主控制模块 时钟模块 显示模块和相关控制模块等的模块化设计 与制作 软件同样采用模块化的设计 本设计实现了时间与闹钟的修改功能 语音播报功能 年 月 日和星期等的显示功能 并且通过对比实际的时钟 查找出了误差的来源 确定了调整误差的方法 尽可能的减少误差 使得系统 可以达到实际数字钟的允许误差范围内 本次设计过程在硬件与软件方面是进行同步设计 硬件部分主要由 AT89C52 单 片机 LED 显示电路 以及调时按键电路等组成 在单片机的选择上本人使用了 AT89C52 单片机 该单片机适合于许多较为复杂控制应用场合 显示器使用 2 片 7SEG MPX8 CA 和一片7SEG MPX4 CA 7SEG MPX8 CA 是一种八个共阳二极管显示器 7SEG MPX4 CA 是一种四个共阳二极管显示器 为了能更轻松的控制这三片显示器 本人使用了3 片74HC164 来驱动 74HC164 是 8 位边沿触发式移位寄存器 串行 输入数据 然后并行输出 软件方面主要包括日历程序 时间调整程序 公历转 阴历程序 显示程序等 程序采用汇编语言编写 以便更简单地实现调整时间及 阴历显示功能 关键词 时钟电钟 DS1302 DS18B20 动态扫描 单片机 ABSTRACTABSTRACT This article describes an AT89S52 microcontroller based digital clock design through multi functional digital clock design ideas detailed description of the system hardware and software realization process Paper focuses on the digital clock in the main control module hardware the clock modules display modules and associated control modules modular design and production software as modular design the design and implementation of the changes of time and alarm functions voice broadcast function year month day and week etc display And by comparing the actual clock find out the source of the error the error of the method of determining the adjustment as much as possible to reduce errors Enable the system to achieve a practical digital clock within allowable error Hardware mainly by the AT89C52 microcontroller LED display circuit and the tune composed of the circuit when the button In the SCM choice I used the AT89C52 microcontroller which is suitable for many of the more complex control applications Monitor the use of two 7SEG MPX8 CA and a 7SEG MPX4 CA 7SEG MPX8 CA is a total of eight yang display 7SEG MPX4 CA is a total of four yang diode display In order to more easily control the three monitors I use three 74HC164 to drive 74HC164 is an 8 bit edge triggered shift register serial input data and parallel output The software includes calendar program time to adjust procedures turn the lunar calendar programs display programs Programs written in assembly language used in order to more easily adjust the time and the realization of the lunar calendar display All programming is complete the wave software debugging KeyKey words words ClockClock electricelectric clock DS1302clock DS1302 DS18B20 DYNAMICDS18B20 DYNAMIC SCANSCMSCANSCM 目 录 摘要摘要 6 江西理工大学专科毕业论文 ABSTRACTABSTRACT 7 前言前言 10 一 一 设计要求与方案探讨设计要求与方案探讨 11 1 1 设计目的与意义 10 1 2 设计要求 11 1 3 系统基本方案选择探讨 11 1 3 1 主控制芯片的选择方案探讨 11 1 3 2 时钟芯片的选择方案探讨 12 1 3 3 LED显示系统选择方案 探讨 13 二二 硬件设计硬件设计 14 2 1系统电路设计框图 14 2 2 系统硬件设计概述 14 2 3系统主要基本单元电路的设计 14 2 3 1 主控制系统电路的设计 14 2 3 2 时钟电路的设计 16 2 3 3 LED显示电路 的设计 17 2 4 系统电路原理说明 18 三 软件设计三 软件设计 22 3 1 程序流程框图 22 3 2 子程序的设计 24 3 2 1 读 写 DS1302 子程序 25 四 硬件与软件调试四 硬件与软件调试 2 4 1 硬件调试 25 4 2 软件调试 27 4 3 调试结果分析与结论 29 4 3 1 调试结果分析 29 4 3 2 调试结论 29 五 论文总结五 论文总结 30 参考文献参考文献 30 附录一 附录一 系统电路图 31 附录二 附录二 系统程序清单 32 致谢致谢 50 前言前言 随着人们生活水平的提高和生活节奏的加快 对时间的要求越来越高 精准数字计时的消费需求也是越来越多 二十一世纪的今天 最具代表性的计时产品就是电子数字钟 电子万 年历 它是近代世界钟表业界的第三次革命 第一次是摆和摆轮游丝的发明 相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级 代表性的产 品就是带有摆或摆轮游丝的机械钟或表 第二次革命是石英晶体振荡器的应 江西理工大学专科毕业论文 用 发明了走时精度更高的石英电子钟表 使钟表的走时月差从分级缩小到 秒级 第三次革命就是单片机数码计时技术的应用 电子万年历 使计时 产品的走时日差从分级缩小到 1 600 万秒 从原有传统指针计时的方式发 展为人们日常更为熟悉的夜光数字显示方式 直观明了 并增加了全自动日 期 星期 温度以及其他日常附属信息的显示功能 它更符合消费者的生活 需求 因此 这种数字钟的出现带来了钟表计时业界跨跃性的进步 本文通过对一个能实现按键开关可调整年 月 日 周 时 分 秒 且具 有测温功能 定点报时的 24 小时制的时间系统的设计学习 详细介绍了单片机 应用中的定时中断原理 数码管显示原理 动态扫描显示原理等 进一步学习 应用单片机汇编语言系统的实现了各种功能 从而使自身明白使用单片机汇编 语言和 C 语言之间的效率 整体性问题 系统由单片机 独立式按键 时钟芯 片 LED 数码管 蜂鸣器等部分构成 能实现 24 小时制年 月 日 周 时 分 秒等时钟显示 同时也可进行年 月 日 周 时 分 秒的校准 定点 报时和 LED 数码管显示 一 设计要求与方案论证一 设计要求与方案论证 1 1 设计目的与意义设计目的与意义 1 在学习了 数字电子技术 和 单片机原理及接口技术 课程后 为了加 深对理论知识的理解 学习理论知识在实际中的运用 培养动手能力和解决实 际问题的经验让学生接触专用时钟芯片DS1302 并会用DS1302芯片开发时钟系 统 应用到其他系统中去 熟悉WAVE软件调试程序和仿真 2 通过实验提高对单片机的认识 3 通过实验提高焊接 布局 电路检查能力 4 通过实验提高软件调试能力 5 进一步熟悉和掌握单片机的结构及工作原理 6 通过课程设计 掌握以单片机核心的电路设计的基本方法和技术 了解 表关电路参数的计算方法 7 通过实际程序设计和调试 逐步掌握系统化程序设计方法和调试技术 8 通过完成一个包括电路设计和程序开发的完整过程 使学生了解开发一 单片机应用系统的全过程 为今后从事相应打下基础 1 21 2 设计要求设计要求 具有年 月 日 星期 时 分 秒等功能 时间与阴 阳历能够自动关联 具备年 月 日 星期 时 分 秒校准功能 1 31 3 系统基本方案探讨系统基本方案探讨 1 3 11 3 1主控制芯片的选择方案探讨主控制芯片的选择方案探讨 方案一 采用 89C51 芯片作为硬件核心 采用 Flash ROM 内部具有 4KB ROM 存储 空间 能于 3V 的超低压工作 与工业标准的 MCS 51 指令集和输出管脚相兼 容 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 但是运用于电路设计中时由于不具备 ISP 在 线编程技术 当在对电路进行硬件与软件调试时 由于对程序的错误修改或对 程序的新增功能需要烧入程序时 调试麻烦 并且这样对芯片的多次拔插会对 芯片造成一定的损坏 方案二 采用 AT89S52 片内 ROM 全都采用 Flash ROM 能以 3V 的超底压工作 同时 也与 MCS 51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间 具有 3 个 16 位定时器 计数器 8 个中断源 同样具有 AT89C51 的功能 且具有 ISP 在线编程可擦除技术 当在对电路进行调试时 由于程序的错误修改或对程序 的新增功能需要烧入程序时 不需要对芯片多次拔插 所以不会对芯片造成损 坏 使得 AT89S52 为众多嵌入式控制应用系统提供高灵活 超有效的解决方案 可见 AT89S52 更能满足各方面的设计要求 减少不必要的麻烦 所以选择 采用 AT89S52 作为主控制系统 1 3 21 3 2 时钟芯片的选择方案探讨 时钟芯片的选择方案探讨 方案一 直接采用单片机定时计数器提供秒信号 使用程序实现年 月 日 星期 时 分 秒计数 采用此种方案虽然减少芯片的使用 节约成本 但是 实现 的时间误差较大 设计的数字钟误差不能太大 所以不采用此方案 方案二 可以采用 DS1302 时钟芯片 DS1302 是美国 DALLAS 公司推出的一 种高性能 低功耗 带 RAM 的实时时钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰年补偿功能 而且精度高 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采用突发方式一次 传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于 临时性存放数据的 RAM 寄存器 但增加了主电源 后背电源双电源引脚 江西理工大学专科毕业论文 同时提供了对后背电源进行涓细电流充电的能力 所以采用 DS1302 时钟芯片 更加可靠 稳定 1 3 31 3 3显示系统选择方案探讨 显示系统选择方案探讨 方案一 采用 LED 液晶显示屏 液晶显示屏的显示功能强大 需要专门的驱动电路 而且液晶显示作为一种被动显示 可视性相对较差 对于具有驱动电路和微处 理器接口的液晶显示系统 字符或点阵 可显示大量文字 图形 显示多样 清 晰可见 但是这次设计显示主要是数字 没有大量文字 图形显示 并且价格昂贵 需 要的接口线多 所以在此设计中不会采用 LED 液晶显示屏 方案二 采用 LED 数码管动态扫描 LED 数码管价格适中 对于显示数字最合适 而 且采用动态扫描法与单片机连接时 占用的单片机口线少 综上所述 所以采用了 LED 数码管作为显示 1 31 3 电路设计最终方案决定电路设计最终方案决定 综上各方案所述 对此次毕业设计的方案选定 采用 AT89S52 作为主控制 系统 DS1302 提供时钟 数字式温度传感器 DS18B20 作为温度传感器 LED 数码 管动态扫描作为显示 二二 硬件设计硬件设计 2 12 1 电路设计方案图电路设计方案图 2 22 2 系统硬件设计概述系统硬件设计概述 本电路是由 AT89S52 单片机为控制核心 具有在线编程功能 低功耗 能在 3V 超低压工作 时钟电路由时钟芯片 DS1302 提供 它是一种高性能 低功耗 AT89S52 主控制模 块 DS1302 时钟系统 LED 数码管动态 扫描显示系统 温度采集系统 键盘系统 可靠稳定 带 RAM 的实时时钟电路 它可以对年 月 日 周日 时 分 秒 进行计时 具有闰年补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 可产生年 月 日 周日 时 分 秒 具有使用寿命长 精度高和低功耗等特点 同时具有 掉电自动保存功能 温度的采集由 DS18B20 构成 显示部份由 个数码管 74ls138 74ls47 译码器等构成 使用 LED 数码管动态扫描显示方式对数字的 显示 2 32 3 系统主要单元电路的设计系统主要单元电路的设计 2 3 12 3 1 系统主控制电路的设计系统主控制电路的设计 At89s52 是一种低功耗 高性能CMOS8 位微控制器 是具有 40 引脚双列 直插芯片 具有 8K 在系统可编程Flash 存储器 与工业80C51 产品指令和引 脚完 全兼容 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个16 位 定时器 计数器 一个6 向量 2 级中断结构 全双工串行口通信 有四个 I O 口 P0 P1 P2 P3 功能如下 P0 口 P0 口是一个 8 位漏极开路的双向I O 口 作为输出口 每位能驱动 8 个 TTL 逻 辑电平 对P0 端口写 1 时 引脚用作高阻抗输入 当访问外部程序和数据存储器时 P0 口也被作为低8 位地址 数据复用 在 这种模式下 P0 具有内部上拉电阻 在 flash 编程时 P0 口也用来接收指令字节 在程序校验时 输出指令字 节 程序校验 时 需要外部上拉电阻 P1 口 P1 口是一个具有内部上拉电阻的8 位双向 I O 口 p1 输出缓冲 器能驱动 4 个 TTL 逻辑电平 对P1 端口写 1 时 内部上拉电阻把端口拉高 此时可以 作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输 出电流 IIL 此外 P1 0 和 P1 2 分别作定时器 计数器 2 的外部计数输入 P1 0 T2 和 时器 计数器 2 的触发输入 P1 1 T2EX 具体如下表所示 本设计系统设计如下图所示 18 引脚和 19 引脚接时钟电路 XTAL1 接外部晶 江西理工大学专科毕业论文 振和微调电容的一端 在片内它是振荡器倒相放大器的输入 XTAL2 接外部晶振 和微调电容的另一端 在片内它是振荡器倒相放大器的输出 第 9 引脚为复位输 入端 接上电容 电阻及开关后够上电复位电路 20 引脚为接地端 40 引脚为电源 端 如图 1 所示 图 1 主控制系统电路 2 3 22 3 2 时钟电路的设计时钟电路的设计 为了实现系统报警计时等功能 此设计采用了DS1302 实时时钟芯片 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗 带RAM 的 实时时钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰 年补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通 信 并可采用突发方式一次传送多个字节的时钟信号或RAM 数据 DS13 02 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源 后备电源双电源 引脚 同时提供了对后备电源进行涓细电流充电的能力 图 2 示出 DS1302 的引脚排列 其中 Vcc1 为后备电源 Vcc2 为主电源 在 主电源关闭的情况下 也能保持时钟的连续运行 DS1302 由 Vcc1 或 Vcc2 两者 中的较大者供电 当 Vcc2 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供电 当 Vcc2 小于 Vcc1 时 DS1302 由 Vcc1 供电 X1 和 X2 是振荡源 外接 32 KHz 晶 振 RST 是复位 片选线 通过把 RST 输入驱动置高电平来启动所有的数据传送 RST 输入有两种功能 首先 RST 接通控制逻辑 允许地址 命令序列送入移位 寄存器 其次 RST 提供终止单字节或多字节数据的传送手段 当 RST 为高电 平时 所有的数据传送被初始化 允许对 DS1302 进行操作 如果在传送过程中 RSTS 置为低电平 则会终止此次数据传送 I O 引脚变为高阻态 上电动行时 在 VSS 大于等于 2 5V 之前 RST 必须保持低电平 中有在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为串行数据输入端 双向 SCLK 始终是输入端 DS1302 与 CPU 的连接需要三条线 即 SCLK 7 I O 6 RST 5 下图 DS1302 与 89s52 的连接图 其中 时钟的显示用 LCD 图 2 DS1302 与主控制系统连接电路 2 3 32 3 3 显示系统电路的设计显示系统电路的设计 如图 5 所示 采用 LED 数码管动态扫描显示 由 个数码管 3 8 译码 器 74LS138 接 1K 限流电阻 再接 8550 三极管接到共阳数码管的输出端作为选 通位码 每位选择相应的列 74ls47 接 240 限流电阻 再接共行的 LED 数码管 的断码 江西理工大学专科毕业论文 图 4 LED 动态扫描显示电路电路 2 42 4 系统电路原理及说明系统电路原理及说明 1 单片机 AT89S52 的工作原理 1 1 引脚功能及结构 具有8K 字节在系统可编程Flash存储器 1000次擦写周期 全静态操作 0Hz 33Hz 三级加密程序存储器 32个可编程I O口线 三个16位定时器 计 数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断 可唤醒 看门狗定时器 双数据指针 掉电标识符 等结构与功能 P0 口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱动 8 个 TTL 逻 辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 当访问外部程序和数据存储器时 P0 口也被作为低 8 位地址 数据复 用 在这种模式下 P0 具有内部上拉电阻 在 flash 编程时 P0 口也用来接收指令字节 在程序校验时 输出指 令字节 程序校验 时 需要外部上拉电阻 P1 口 P1 口是一个具有内部上拉电阻的 8 位双向 I O 口 p1 输出 缓冲器能驱动 4 个 TTL 逻辑电平 对 P1 端口写 1 时 内部上拉电阻把端口拉高 此 时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将 输出电流 IIL 此外 P1 0 和 P1 2 分别作定时器 计数器 2 的外部计数输入 P1 0 T 2 和时器 计数器 2 的触发输入 P1 1 T2EX 具体如下表所示 在 flash 编程和校验时 P1 口接收低 8 位地址字节 引脚号第二功能 P1 0 T2 定时器 计数器 T2 的外部计数输入 时钟输出 P1 1 T2EX 定时器 计数器 T2 的捕捉 重载触发信号和方向控制 P1 5 MOSI 在系统编程用 P1 6 MISO 在系统编程用 P1 7 SCK 在系统编程用 P2 口 P2 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出 缓冲器能驱动 4 个 TTL 逻辑电平 对 P2 端口写 1 时 内部上拉电阻把端口拉高 此 时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将 输出电流 IIL 在访问外部程序存储器或用 16 位地址读取外部数据存储器 例如执行M OVX DPTR 时 P2 口送出高八位地址 在这种应用中 P2 口使用很强的内部上 拉发送 1 在使用 8 位地址 如 MOVX RI 访问外部数据存储器时 P2 口输出 P2 锁存 器的内容 在 flash 编程和校验时 P2 口也接收高 8 位地址字节和一些控制信号 P3 口 P3 口是一个具有内部上拉电阻的 8 位双向 I O 口 p2 输出 缓冲器能驱动 4 个 TTL 逻辑电平 对 P3 端口写 1 时 内部上拉电阻把端口拉高 此 时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将 输出电流 IIL P3 口亦作为 AT89S52 特殊功能 第二功能 使用 如下表所示 在 flash 编程和校验时 P3 口也接收一些控制信号 端口引脚 第二功能 P3 0 RXD 串行输入口 江西理工大学专科毕业论文 P3 1 TXD 串行输出口 P3 2 INTO 外中断 0 P3 3 INT1 外中断 1 P3 4 TO 定时 计数器 0 P3 5 T1 定时 计数器 1 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 此外 P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上 高电平将是单片机复位 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁存 允许 输出脉冲用于锁存地址的低8 位字节 一般情况下 ALE 仍以时钟 振荡频率的 1 6 输出固定的脉冲信号 因此它可对外输出时钟或用于定时目 的 要注意的是 每当访问外部数据存储器时将跳过一个ALE 脉冲 对 FLASH 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位 置位 可禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引脚会被微弱拉高 单片机执行外部程序时 应设置 ALE 禁止位无效 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89C52 由外部程序存储器取指令 或数据 时 每个机器周期两次PS EN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过两次 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 CPU 则执行内部程序存储器的指令 2 时钟芯片 DS1302 的工作原理 2 1 引脚功能及结构 DS1302 的引脚排列 其中 Vcc1 为后备电源 Vcc2 为主电源 在主电 源关闭的情况下 也能保持时钟的连续运行 DS1302 由 Vcc1 或 Vcc2 两 者中的较大者供电 当 Vcc2 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供电 当 Vcc2 小于 Vcc1 时 DS1302 由 Vcc1 供电 X1 和 X2 是振荡源 外接 32 768kHz 晶振 RST 是复位 片选线 通过把 RST 输入驱动置高电平来 启动所有的数据传送 RST 输入有两种功能 首先 RST 接通控制逻辑 允许地址 命令序列送入移位寄存器 其次 RST 提供终止单字节或多字节 数据的传送手段 当 RST 为高电平时 所有的数据传送被初始化 允许对 DS1302 进行操作 如果在传送过程中 RST 置为低电平 则会终止此次数 据传送 I O 引脚变为高阻态 上电运行时 在 VCC 2 0V 之前 RST 必须 保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为 串行数据输入输出端 双向 SCLK 为时钟输入端 下图为 DS1302 的引 脚功能图 DS1302 封装图 2 2 DS1302 的控制字节 DS1302 的控制字如表 1 所示 控制字节的高有效位 位 7 必须是逻辑 1 如果它为 0 则不能把数据写入 DS1302 中 位 6 如果 0 则表示存取日历 时钟数据 为 1 表示存取 RAM 数据 位 5 至位 1 指示操作单元的地址 最低 有效位 位 0 如为 0 表示要进行写操作 为 1 表示进行读操作 控制字节总 是从最低位开始输出 RAM RD 1 A4 A3 A2 A1 A0 CK WR 表 1 DS1302 的控制字格式 2 3 数据输入输出 I O 在控制指令字输入后的下一个 SCLK 时钟的上升沿时 数据被写入 DS1302 数据输入从低位即位 0 开始 同样 在紧跟 8 位的控制指令字后 的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据 读出数据时从低位 0 位到高位 7 2 4 DS1302 的寄存器 DS1302 有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放 的数据位为 BCD 码形式 其日历 时间寄存器及其控制字见表1 此外 DS1302 还有年份寄存器 控制寄存器 充电寄存器 时钟突发 寄存器及与 RAM 相关的寄存器等 时钟突发寄存器可一次性顺序读写除充 电寄存器外的所有寄存器内容 DS1302 与 RAM 相关的寄存器分为两类 一类是单个 RAM 单元 共 31 个 每个单元组态为一个 8 位的字节 其命 令控制字为 C0H FDH 其中奇数为读操作 偶数为写操作 另一类为突 江西理工大学专科毕业论文 发方式下的 RAM 寄存器 此方式下可一次性读写所有的RAM 的 31 个字 节 命令控制字为 FEH 写 FFH 读 为了实现系统报警计时等功能 此设计采用了DS1302 实时时钟芯片 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗 带RAM 的实 时时钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰年 补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采用突发方式一次传送多个字节的时钟信号或RAM 数据 DS1302 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源 后备电源双电源 引脚 同时提供了对后备电源进行涓细电流充电的能力 2 1 引脚功能及 结构 DS1302 的引脚排列 其中 Vcc1 为后备电源 VCC2 为主电源 在主 电源关闭的情况下 也能保持时钟的连续运行 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电 当 Vcc2 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供 电 当 Vcc2 小于 Vcc1 时 DS1302 由 Vcc1 供电 X1 和 X2 是振荡源 外接 32 768kHz 晶振 RST 是复位 片选线 通过把 RST 输入驱动置高电 平来启动所有的数据传送 RST 输入有两种功能 首先 RST 接通控制逻 辑 允许地址 命令序列送入移位寄存器 其次 RST 提供终止单字节或多 字节数据的传送手段 当 RST 为高电平时 所有的数据传送被初始化 允 许对 DS1302 进行操作 如果在传送过程中 RST 置为低电平 则会终止此 次数据传送 I O 引脚变为高阻态 上电运行时 在Vcc 2 5V 之前 RST 必须保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为串行数据输入输出端 双向 SCLK 始终是输入端 三 软件设计三 软件设计 3 3 1 1 0 0主程序流程框图主程序流程框图 图图 A A 主程序流程图主程序流程图 开始 初始化 读 写日期 时间 分离日期 时间 显示值 显示子程序 农历自动更新子程序 日期 时间修改子程序 闰月子程 返回 定时闹铃子程序 江西理工大学专科毕业论文 3 3 1 1 1 1计算阳历程序流程图计算阳历程序流程图 图 B 计算阳历程序流程图计算阳历程序流程图 3 3 1 1 2 2时间调整程序流程图时间调整程序流程图 图图 C C 时间调整程序流程图时间调整程序流程图 江西理工大学专科毕业论文 3 3 1 1 3 3阴历程序流程图阴历程序流程图 图图 D D 阴历程序流程图阴历程序流程图 3 23 2 子程序的设计子程序的设计 3 2 1 读 写 DS1302 子程序 写 1302 程序 WRITE CLR SCLK NOP SETB RST NOP MOV A 32H MOV R4 8 WRITE1 RRC A 送地址给 1302 NOP NOP CLR SCLK NOP NOP NOP MOV IO C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4 WRITE1 CLR SCLK NOP MOV A 31H MOV R4 8 WRITE2 RRC A NOP 送数据给 1302 CLR SCLK NOP NOP MOV IO C NOP NOP NOP SETB SCLK NOP NOP DJNZ R4 WRITE2 CLR RST RET 读 1302 程序 READ CLR SCLK NOP NOP SETB RST NOP MOV A 32H MOV R4 8 READ1 RRC A 送地址给 1302 NOP MOV IO C NOP NOP NOP SETB SCLK NOP NOP NOP CLR SCLK NOP NOP DJNZ R4 READ1 MOV R4 8 READ2 CLR SCLK NOP 从 1302 中读出 数据 NOP NOP MOV C IO NOP NOP NOP NOP NOP RRC A NOP NOP NOP NOP SETB SCLK NOP DJNZ R4 READ2 MOV 31H A CLR RST RET 四四 软件硬件联调软件硬件联调 4 14 1 硬件调试硬件调试 本系统已符合设计基本要求 即可以实现 24 小时方式 可使用按键开关可 现时 分调整 除了满足这些基本要求外 本系统还做了一些创新 通过功能按键开关 KEY1 进入可进入时间校准系统 KEY2 控制秒的校准 KEY3 控制分的校准 KEY4 控制时的校准 每次一有校准按键按下时 系统会发出不 同的声响 以提示用户目前正在校准的是时 分 秒的哪一种 校准完成后仍 然是通过功能按键 KEY1 返回时钟显示 通过更改主程序中定时器的定时初值 可实现不同样式的数字钟显示方式 通 过实验测得以下参数如表 2 所示 程序中定时参数 CYCLE 在以下简称 C C ms 10 C301 CC 30 数码管显示方式 静态 闪烁 拉幕式 江西理工大学专科毕业论文 最后电子万年历的电路系统较大 对整个电路线路检查一次 逐步去检查 每个线路端点 看接线牢固不牢固 可见对于焊接方面更是不可轻视 庞大的 电路系统中只要出于一处的错误 则会对检测造成很大的不便 而且电路的交 线较多 对于各种锋利的引脚要注意处理 否则会刺被带有包皮的导线 则会 对电路造成短路现象 在本成电子万年历的设计调试中遇到了很多的问题 回想这些问题只要认 真多思考都是可以避免的 涉及 DS1302 与 CPU 的连接时要注意 DS1302 与 CPU 的连接时 在硬件调试程序时可以不加电容器 只加一个32 768kHz 的晶振即可 只 是选择晶振时 不同的晶振 误差也较大 另外 还可以在上面的电路中加 入 DS18B20 同时显示实时温度 只要占用 CPU 一个口线即可 具有 3 4 线串行接口 可与任何单片机 IC 接口 功耗低 显示状态时电流为 2 A 典型值 省电模式时小于 1 A 工作电压为 2 4V 3 3V 显示清晰 4 24 2 软件调试软件调试 电子成年历是多功能的数字钟 可以看当前日期 阴 阳历 时间 还有 温度的仪器 电子成年历功能很多 所以对于它的程序也较为复杂 所以在编写 程序和调试时出现了相对较多的问题 最后经过多次的系统子程序的修改 一 步一步的完成 最终解决了软件 一 烧入程序后 看 LED 数码管能否稳定显示 而且亮度均匀 再通过按键 来更改时间是否成功 就是能否修改时间 能就成功 二 修改时间 日期时没有农历没有自动对应上 把不相关的程序暂时屏 蔽 地农历的子程序独立调试 如发现在调用农历自动更新时 对十 进制和十六进制处理不好 所以会造成错乱 最后把相应的十进制进 行修改 使得可以与十六进制对应 这样就行了 4 3 调试结果分析与结论调试结果分析与结论 4 3 1 调试结果分析 1 在调试中遇到发光二极管 LED 数码管为不显示时 首先使用试测仪对电 路进行调试 观察是否存在漏焊 虚焊 或者元件损坏 或是软件上有什么问题 有什么错误等 2 LED 数码管显示不正常 还有亮度不够 首先使用试测仪对电路进行调 试 观察电路是否存在短路现象 查看烧写的程序是否正确无误 对程序进行认 真修改 4 3 2 调试结论 在本设计中 为了设计的顺利进行 我在实验箱上进行了部分调试 因为 电路太复杂 在实验箱上不可能整体电路进行调试 调试后 我就自己焊接了 一个试验板进行调试 以确保最后能很好的完成其各部分功能 最后经过多次的反复调试与分析 可以对电路的原理及功能更加熟悉 同时 提高了设计能力与及对电路的分析能力 同时在软件的编程方面得到更到的提高 对 编程能力得到加强 同时对所学的知识得到很大的提高与巩固 江西理工大学专科毕业论文 五 论文总结五 论文总结 在整个设计过程中 充分发挥人的主观能动性 自主学习 学到了许多没 学到的知识 这次毕业论文的制作过程是我的一次再学习 再提高的过程 在 论文中我充分地运用了大学期间所学到的知识 我从资料的收集中 掌握了很 多单片机 LED 显示屏的知识 让我对我所学过的知识有所巩固和提高 并且 让我对当今单片机 LED 显示屏的最

温馨提示

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

评论

0/150

提交评论