电子台历的电路系统毕业设计.doc_第1页
电子台历的电路系统毕业设计.doc_第2页
电子台历的电路系统毕业设计.doc_第3页
电子台历的电路系统毕业设计.doc_第4页
电子台历的电路系统毕业设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

XXXXX 大学本科毕业设计 电子台历的电路系统毕业设计电子台历的电路系统毕业设计 目 录 一 引言 1 一 本课题的背景 1 二 本设计的目的和意义 2 三 本设计的要求 2 四 方案选择与实验基本原理 2 二 系统的硬件设计与实现 5 一 电路设计框图 5 二 系统硬件概述 5 三 主要单元电路的设计 5 三 系统的软件设计 22 一 程序的设计 22 四 结论及展望 26 五 致谢词 27 附录 28 附录一 系统电路图 28 附录二 子程序的设计 29 参考文献 36 XXXXX 大学本科毕业设计 0 一 引言 一 本课题的背景 作为中国一种传统的东西 挂历在人们心中一直有着特殊的含义 因为挂历 除了有查阅日期 方便记事等功能外 还是一种颇有文化品位的装饰物 而对于 一些公司 企业 在挂历上印刷一些自己的产品 服务内容 联系电话等 无疑 也是一种宣传 也正是因为如此 挂历长期以来一直受到人们的青睐 什么铜版 纸 塑膜挂历 典雅的宣纸 绢丝 油画布挂历和富丽堂皇的金箔画 镭射画挂 历等层出不穷 而今 随着时代发展 挂历大有美人迟暮之感 据调查发现 90 的家庭表示今年将不会去买挂历 其中 50 的市民家庭的挂历是单位发或他人送 但这 50 的市民表示 如果单位不发 他人不送 自己不会主动去买 那么是什么让本设计的传统如此疲软呢 众所周知 传统挂历最大的功能是 查看日期 装饰其次 作为礼品则是最后 近些年随着生活水平的提高 人们获 知日期的途径已越来越多 据中国社会调查事务所 SSIC 在北京 上海等地对 265 位居民进行的计算机辅助电话调查显示 此项调查为多选题 有 68 的被 访者看日历 有 62 的被访者看台历 其中有 21 的被访者使用的是电子台历 有 58 的被访者看呼机 有 27 的被访者看手机 有 20 的被访者看手表 有 14 的被访者看街上的显示牌 有 33 的被访者看电视 有 60 的被访者看报纸 有 16 的被访者听广播 有 42 的被访者上网 有 12 的被访者向别人打听 由 此表明 挂历实用功能的弱化直接导致了挂历市场的 疲软 那么 曾经被认同 的装饰功能呢 回答也是否定的 很多人已经明确表示 明年不挂挂历 因为消 费者认为花很大力气装修的房子 有谁愿意在墙上打个眼儿挂挂历呢 影响美观 不说 还很俗气 至于礼品功能 大多数消费者都认为现在用挂历当礼品有点不 够档次 随着电子科技的不断发展 传统的挂历已被一些高档的电子台历所取代 与 传统的挂历相比 电子台历融合了挂历和时钟的优点 能昼夜清晰显示 集年 月 日 时 分 秒 日期 农历 气温于一体 外观新颖 造型别具一格 除 此之外由于挂历制作成本相对较高 挂历的销售价格也大多在 5 30 元之间 而一个电子台历的价格也在这之间 但是挂历只能用一年 而电子台历则不一样 由于它可以自动识别闰年 公历 农历 大小月份 农历 星期能自动对应公历 无须调整 对若干年前后的日期都可以查询 但考虑到其寿命原因 至少也可用 XXXXX 大学本科毕业设计 1 5 8 年 在价格相差不大的情况下 电子台历的性价比显然要高的多 就其阅读 功能而言 电子台历阅读起来更加方便 同时他还有闹铃和显示温度的功能 这 比传统的挂历要强大的多 其实现的方法也很简单 用一个单片机和 LCD 液晶 显示器就可以实现 由此可见 电子台历的市场经济开发价值要比挂历要高的多 电子台历取代传统的挂历已成为不可抵挡的趋势 因此开发一个电子台历就必须要了解单片机和 LCD 夜晶显示器的原理和功 能等 下面一节本设计将简单介绍一下单片机和液晶显示器 二 本设计的目的和意义 1 在学习了 数字电子技术 和 单片机原理及接口技术 课程后 为了 加深对理论知识的理解 学习理论知识在实际中的运用 培养动手能力和解决实 际问题的经验让学生接触专用时钟芯片 DS1302 并会用 DS1302 芯片开发时钟模 块 应用到其他系统中去 熟悉 WAVE 软件调试程序和仿真 2 通过实验提高对单片机的认识 3 通过实验提高焊接 布局 电路检查能力 4 通过实验提高软件调试能力 5 进一步熟悉和掌握单片机的结构及工作原理 6 通过课程设计 掌握以单片机核心的电路设计的基本方法和技术 了解 表关电路参数的计算方法 7 通过实际程序设计和调试 逐步掌握模块化程序设计方法和调试技术 8 通过完成一个包括电路设计和程序开发的完整过程 使学生了解开发一 单片机应用系统的全过程 为今后从事相应打下基础 三 本设计的要求 1 基本要求 1 具有年 月 日 星期 时 分 秒等功能 2 时间与阴 阳历能够自动关联 3 有温度计功能 4 具备年 月 日 星期 时 分 秒校准功能 2 创新要求 1 具有上 下课响铃功能 2 具有防御报警功能 XXXXX 大学本科毕业设计 2 四 方案选择与实验基本原理 1 方案选择 单片机芯片的选择方案和论证 方案一 采用 89C51 芯片作为硬件核心 采用 Flash ROM 内部具有 4KB ROM 存储 空间 能于 3V 的超低压工作 而且与 MCS 51 系列单片机完全兼容 但是运用 于电路设计中时由于不具备 ISP 在线编程技术 当在对电路进行调试时 由于程 序的错误修改或对程序的新增功能需要烧入程序时 对芯片的多次拔插会对芯片 造成一定的损坏 方案二 采用 AT89S52 片内 ROM 全都采用 Flash ROM 能以 3V 的超底压工作 同时也与 MCS 51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间 同 样具有 89C51 的功能 且具有在线编程可擦除技术 当在对电路进行调试时 由 于程序的错误修改或对程序的新增功能需要烧入程序时 不需要对芯片多次拔插 所以不会对芯片造成损坏 所以选择采用 AT89S52 作为主控制系统 显示模块选择方案和论证 方案一 采用 LED 液晶显示屏 液晶显示屏的显示功能强大 可显示大量文字 图 形 显示多样 清晰可见 但是价格昂贵 需要的接口线多 所以在此设计中不 采用 LED 液晶显示屏 方案二 采用点阵式数码管显示 点阵式数码管是由八行八列的发光二极管组成 对 于显示文字比较适合 如采用在显示数字显得太浪费 且价格也相对较高 所以 也不用此种作为显示 方案三 采用 LED 数码管动态扫描 LED 数码管价格适中 对于显示数字最合适 而且采用动态扫描法与单片机连接时 占用的单片机口线少 所以采用了 LED 数码管作为显示 时钟芯片的选择方案和论证 方案一 直接采用单片机定时计数器提供秒信号 使用程序实现年 月 日 星期 XXXXX 大学本科毕业设计 3 时 分 秒计数 采用此种方案虽然减少芯片的使用 节约成本 但是 实现的 时间误差较大 所以不采用此方案 方案二 采用 DS1302 时钟芯片实现时钟 DS1302 芯片是一种高性能的时钟芯片 可 自动对秒 分 时 日 周 月 年以及闰年补偿的年进行计数 而且精度高 位的 RAM 做为数据暂存区 工作电压 2 5V 5 5V 范围内 2 5V 时耗电小于 300mA 温度传感器的选择方案与论证 方案一 使用热敏电阻作为传感器 用热敏电阻与一个相应阻值电阻相串联分压 利 用热敏电阻阻值随温度变化而变化的特性 采集这两个电阻变化的分压值 并进 行 A D 转换 此设计方案需用 A D 转换电路 增加硬件成本而且热敏电阻的感 温特性曲线并不是严格线性的 会产生较大的测量误差 方案二 采用数字式温度传感器 DS18B20 此类传感器为数字式传感器而且仅需要一 条数据线进行数据传输 易于与单片机连接 可以去除 A D 模块 降低硬件成本 简化系统电路 另外 数字式温度传感器还具有测量精度高 测量范围广等优点 电路设计最终方案决定 综上各方案所述 对此次作品的方案选定 采用 AT89S52 作为主控制系统 DS1302 提供时钟 数字式温度传感器 LED 数码管动态扫描作为显示 2 实验基本原理 按照系统设计功能的要求 初步确定设计系统由主控模块 时钟模块 显示 模块 键盘接口模块 温度采集模块共 5 个模块组成 电路系统构成框图如图 1 所示 主芯片 AT89S52 片内 ROM 全都采用 Flash ROM 能以 3V 的超底压工 作 同时也与 MCS 51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间 具有在线编程可擦除技术 当在对电路进行调试时 由于程序的错误修改或对程 序的新增功能需要烧入程序时 不需要对芯片多次拔插 所以不会对芯片造成损 坏 时钟芯片使用美国 DALLAs 公司推出的一种高性能 低功耗 带 RAM 的实 时时钟 DSl302 采用 DSl 302 作为主要计时芯片 可以做到计时准确 更重要的 XXXXX 大学本科毕业设计 4 是 DSl302 可以在很小电流的后备电源 2 5 5 5v 电源 在 2 5v 时耗电小 于 300 nA 下继续计时 并可编程选择多种充电电流来对后备电源进行慢速充电 可以保证后备电源基本不耗电 显示模块采用 LED 数码管动态扫描 键输入采 用查询法实现调整功能 与单片机连接时 占用的单片机口线少 数字式温度传 感器 DS18B20 此类传感器为数字式传感器而且仅需要一条数据线进行数据传输 易于与单片机连接 可以去除 A D 模块 降低硬件成本 简化系统电路 另外 数字式温度传感器还具有测量精度高 测量范围广等优点 二 系统的硬件设计与实现 一 电路设计框图 图 1 电子万年历电路系统构成框图 二 系统硬件概述 本电路是由 AT89S52 单片机为控制核心 具有在线编程功能 低功耗 能在 3V 超低压工作 时钟电路由 DS1302 提供 它是一种高性能 低功耗 带 RAM 的实时时钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰年 补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可 采用突发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 可产生年 月 日 周日 时 分 秒 具有使用寿命长 精度高和低功耗等特点 同时具有掉电自动保存功能 温 度的采集由 DS18B20 构成 显示部份由 21 个数码管 741S138 741S47 译码器 构成 使用动态扫描显示方式对数字的显示 三 主要单元电路的设计 1 单片机主控制模块的设计 AT89S52 单片机为 40 引脚双列直插芯片 有四个 I O 口 XXXXX 大学本科毕业设计 5 P0 P1 P2 P3 MCS 51 单片机共有 4 个 8 位的 I O 口 P0 P1 P2 P3 每一条 I O 线都能独立地作输出或输入 单片机的最小系统如下图所示 18 引脚和 19 引脚接时钟电路 XTAL1 接外 部晶振和微调电容的一端 在片内它是振荡器倒相放大器的输入 XTAL2 接外部 晶振和微调电容的另一端 在片内它是振荡器倒相放大器的输出 第 9 引脚为复 位输入端 接上电容 电阻及开关后够上电复位电路 20 引脚为接地端 40 引 脚为电源端 如图 2 所示 图 2 主控制系统 2 时钟电路 DSl302 DS1302 是美国 DALLAS 公司推出的低功耗时钟芯片 它可以对年 月 日 周 时 分 秒进行计时 且具有闰年补偿等多种功能 DS1302 用于数据记录 特别是对某些具有特殊意义的数据点的记录上 能实现数据与出现该数据的时间 同时记录 这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的 原因的查找有重要意义 在测量控制系统中 特别是长时间无人职守的测控系统 中 经常需要记录某些具有特殊意义的数据及其出现的时间 记录及分析这些特 殊意义的数据 对测控系统的性能分析及正常运行具有重要的意义 传统的数据 记录方式是隔时采样或定时采样 没有具体的时间记录 因此只能记录数据而无 法准确记录其出现的时间 若采用单片机计时 一方面需要采用计数器 占用硬 件资源 另一方面需要设置中断 查询等 同样耗费单片机的资源 而且某些测 控系统可能不允许 而在系统中采用 DS1302 则能很好地解决这个问题 DS1302 工作电压宽达 2 5 5 5V 采用三线接口与 CPU 进行同步通信 并 可采用突发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 XXXXX 大学本科毕业设计 6 31 8 的用于临时性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源 后背电源双电源引脚 同时提供了对后背电 源进行涓细电流充电的能力 1 DS1302 的结构及工作原理 图示出 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 DS1302 管脚图及内部结 2 DS1302 的控制字 如图 4 所示 XXXXX 大学本科毕业设计 7 图 4 控制字节的含义 XXXXX 大学本科毕业设计 8 DS1302 的控制字节说明如下 控制字节的最高有效位 位 7 必须是逻辑 1 如果它为 0 则不能把数据写 入到 DS1302 中 位 6 如果为 0 则表示存取日历时钟数据 为 1 表示存取 RAM 数据 位 至 位 1 指示操作单元的地址 最低有效位 位 0 如为 0 表示要进行写操作 为 1 表示进行读操作 控制字节总是从最低位开始输出 3 复位 通过把输入驱动置高电平来启动所有的数据传送 输入有两种功 能 首先 接通控制逻辑 允许地址 命令序列送入移位寄存器 其次 提供了终止字节或多字节数据的传送手段 当为高电平时 所有的数据 传送被初始化 允许对 DS1302 进行操作 如果在传送过程中置为低电平 则会终止此次数据传送 并且 I O 引脚变为高阻态 上电运行时 在 Vcc 2 5V 之前 必须保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电 平 4 数据输入输出 在控制指令字输入后的下一个 SCLK 时钟的上升沿时数据被写入 DS1302 数据输入从低位即位 0 开始 同样 在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据 读出数据时从低位 0 位至高位 7 数据读写 时序见图 5 图 5 数据读写时序 5 DS1302 的寄存器 XXXXX 大学本科毕业设计 9 DS1302 共有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的 数据位为 BCD 码形式 其日历 时间寄存器及其控制字见表 1 表 1 此外 DS1302 还有年份寄存器 控制寄存器 充电寄存器 时钟突发寄存 器及与 RAM 相关的寄存器等 时钟突发寄存器可一次性顺序读写除充电寄存器 外的所有寄存器内容 DS1302 与 RAM 相关的寄存器分为两类 一类是单个 RAM 单元 共 31 个 每个单元组态为一个 8 位的字节 其命令控制字为 COH FDH 其中奇数为读操作 偶数为写操作 再一类为突发方式下的 RAM 寄 存器 此方式下可一次性读写所有的 RAM 的 31 个字节 命令控制字为 FEH 写 FFH 读 6 DS1302 在测量系统中的硬件电路 DS1302 与 CPU 的连接仅需要三条线 即 SCLK 7 I O 6 RST 在单电源与电池供电的系统中提供低电源并提供低功率的电池备份 在双电源系统中提供主电源 在这种运用方式下 连接到备份电源 以便 在没有主电源的情况下能保存时间信息以及数据 DS1302 由 或 两者中 的较大者供电 当 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供电 当 小于 时 DS1302 由 供电 XXXXX 大学本科毕业设计 10 3 温度采集模块 美国 Dallas 半导体公司的数字化温度传感器 DS18B20 是世界上第一片支持 一线总线 接口的温度传感器 在其内部使用了在板 ON B0ARD 专利技术 全部传感元件及转换电路集成在形如一只三极管的集成电路内 一线总线独特而 且经济的特点 使用户可轻松地组建传感器网络 为测量系统的构建引入全新概 念 现在 新一代的 DS18B20 体积更小 更经济 更灵活 使你可以充分发挥 一线总线 的优点 目前 DS18B20 批量采购价格仅 10 元左右 特性 1 适应电压范围更宽 电压范围 3 0 5 5V 在寄生电源方式下可由数 据线供电 2 独特的单线接口方式 DS18B20 在与微处理器连接时仅需要一条口线 即可实现微处理器与 DS18B20 的双向通讯 3 DS18B20 支持多点组网功能 多个 DS18B20 可以并联在唯一的三线上 实现组网多点测温 4 DS18B20 在使用中不需要任何外围元件 全部传感元件及转换电路集 成在形如一只三极管的集成电路内 5 温范围 55 125 在 10 85 时精度为 0 5 6 可编程的分辨率为 9 12 位 对应的可分辨温度分别为 0 5 0 25 0 125 和 0 0625 可实现高精度测温 7 在 9 位分辨率时最多在 93 75ms 内把温度转换为数字 12 位分辨率时 最多在 750ms 内把温度值转换为数字 速度更快 8 测量结果直接输出数字温度信号 以 一线总线 串行传送给 CPU 同时可传送 CRC 校验码 具有极强的抗干扰纠错能力 9 负压特性 电源极性接反时 芯片不会因发热而烧毁 但不能正常工 XXXXX 大学本科毕业设计 11 作 DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成 64 位光刻 ROM 温度传感器 非挥 发的温 报警触发器 TH 和 TL 配置寄存器 DS18B20 的外形及管脚排列如图 6 图 6 DS18B20 的外形及管脚排列 DS18B20 引脚定义 1 DQ 为数字信号输入 输出端 2 GND 为电源地 3 VDD 为外接供电电源 输入端 在寄生电源接线方式时接地 DS18B20 工作原理 DS18B20 的读写时序和测温原理与 DS1820 相同 只是得到的温度值的位数 因分辨率不同而不同 且温度转换时的延时时间由 2s 减为 750ms DS18B20 测 温原理如图 3 所示 图中低温度系数晶振的振荡频率受温度影响很小 用于产生 固定频率的脉冲信号送给计数器 1 高温度系数晶振随温度变化其振荡率明显改 变 所产生的信号作为计数器 2 的脉冲输入 计数器 1 和温度寄存器被预置在 XXXXX 大学本科毕业设计 12 55 所对应的一个基数值 计数器 1 对低温度系数晶振产生的脉冲信号进行减 法计数 当计数器 1 的预置值减到 0 时 温度寄存器的值将加 1 计数器 1 的预 置将重新被装入 计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数 如此循环直到计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器 中的数值即为所测温度 图 3 中的斜率累加器用于补偿和修正测温过程中的非线 性 其输出用于修正计数器 1 的预置值四个主要的数据部件 1 光刻 ROM 中的 64 位序列号是出厂前被光刻好的 它可以看作是该 DS18B20 的地址序列码 64 位光刻 ROM 的排列是 开始 8 位 28H 是产品类 型标号 接着的 48 位是该 DS18B20 自身的序列号 最后 8 位是前面 56 位的循 环冗余校验码 CRC X8 X5 X4 1 光刻 ROM 的作用是使每一个 DS18B20 都 各不相同 这样就可以实现一根总线上挂接多个 DS18B20 的目的 2 DS18B20 中的温度传感器可完成对温度的测量 以 12 位转化为例 用 16 位符号扩展的二进制补码读数形式提供 以 0 0625 LSB 形式表达 其中 S 为符号位 这是 12 位转化后得到的 12 位数据 存储在 18B20 的两个 8 比特的 RAM 中 二进制中的前面 5 位是符号位 如果测得的温度大于 0 这 5 位为 0 只要将测到的数值乘于 0 0625 即可得到实际温度 如果温度小于 0 这 5 位为 1 测到的数值需要取反加 1 再乘于 0 0625 即可得到实际温度 例如 125 的数 字输出为 07D0H 25 0625 的数字输出为 0191H 25 0625 的数字输出为 FF6FH 55 的数字输出为 FC90H 3 DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性 的可电擦除的 EEPRAM 后者存放高温度和低温度触发器 TH TL 和结构寄 4 配置寄存器 该字节各位的意义如下 XXXXX 大学本科毕业设计 13 表 2 配置寄存器结构 低五位一直都是 1 TM 是测试模式位 用于设置 DS18B20 在工作模式还 是在测试模式 在 DS18B20 出厂时该位被设置为 0 用户不要去改动 R1 和 R0 用来设置分辨率 如下表所示 DS18B20 出厂时被设置为 12 位 表 3 温度分辨率设置表 高速暂存存储器 高速暂存存储器由 9 个字节组成 其分配如表 5 所示 当温度转换命令发布 后 经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和第 1 个字节 单片机可通过单线接口读到该数据 读取时低位在前 高位在后 数据 格式如表 1 所示 对应的温度计算 当符号位 S 0 时 直接将二进制位转换为十 进制 当 S 1 时 先将补码变为原码 再计算十进制值 表 2 是对应的一部分温 度值 第九个字节是冗余检验字节 根据 DS18B20 的通讯协议 主机 单片机 控制 DS18B20 完成温度转换必须经过三个步骤 每一次读写之前都要对 DS18B20 进行复位操作 复位成功后发送一条 ROM 指令 最后发送 RAM 指令 XXXXX 大学本科毕业设计 14 这样才能对 DS18B20 进行预定的操作 复位要求主 CPU 将数据线下拉 500 微秒 然后释放 当 DS18B20 收到信号后等待 16 60 微秒左右 后发出 60 240 微秒 的存在低脉冲 主 CPU 收到此信号表示复位成功 表 4 DS18B20 暂存寄存器分布 表 5 ROM 指令表 XXXXX 大学本科毕业设计 II 四川师范大学成都学院本科毕业设计 16 表 6 RAM 指令表 DS18B20 使用中注意事项 DS1820 虽然具有测温系统简单 测温精度高 连接方便 占用口线少等优点 但 在实际应用中也应注意以下几方面的问题 1 较小的硬件开销需要相对复杂的软件进行补偿 由于 DS1820 与微处理器间 采用串行数据传送 因此 在对 DS1820 进行读写编程时 必须严格的保证读写时序 否则将无法读取测温结果 在使用 PL M C 等高级语言进行系统程序设计时 对 DS1820 操作部分最好采用汇编语言实现 2 在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题 容易使 人误认为可以挂任意多个 DS1820 在实际应用中并非如此 当单总线上所挂 DS1820 超过 8 个时 就需要解决微处理器的总线驱动问题 这一点在进行多点测温系统设计 时要加以注意 3 连接 DS1820 的总线电缆是有长度限制的 试验中 当采用普通信号电缆传 输长度超过 50m 时 读取的测温数据将发生错误 当将总线电缆改为双绞线带屏蔽电 XXXXX 大学本科毕业设计 17 缆时 正常通讯距离可达 150m 当采用每米绞合次数更多的双绞线带屏蔽电缆时 正 常通讯距离进一步加长 这种情况主要是由总线分布电容使信号波形产生畸变造成的 因此 在用 DS1820 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问 题 4 在 DS1820 测温程序设计中 向 DS1820 发出温度转换命令后 程序总要等 待 DS1820 的返回信号 一旦某个 DS1820 接触不好或断线 当程序读该 DS1820 时 将没有返回信号 程序进入死循环 这一点在进行 DS1820 硬件连接和软件设计时也要 给予一定的重视 测温电缆线建议采用屏蔽 4 芯双绞线 其中一对线接地线与信号线 另一组接 VCC 和地线 屏蔽层在源端单点接地 采用数字式温度传感器 DS18B20 它是数字式温度传感器 具有测量精度高 电 路连接简单特点 此类传感器仅需要一条数据线进行数据传输 使用 0 7 与 DS18B20 的 I O 口连接加一个上拉电阻 Vcc 接电源 Vss 接地 图 7 DS18B20 温度采集 XXXXX 大学本科毕业设计 18 4 键盘 时钟的键盘是采用 4 4 阵列键盘 用动态扫描的方式 此种动态扫描方式 占用单片机资源少 如图 8 图 8 外接 4X4 键盘 5 电路原理及说明 1 时钟芯片 DS1302 的工作原理 DS1302 在每次进行读 写程序前都必须初始化 先把 SCLK 端置 0 接着把 RST 端置 1 最后才给予 SCLK 脉冲 读 写时序如下图 4 所示 图 5 为 DS1302 的控制字 此控制字的位 7 必须置 1 若为 0 则不能把对 DS1302 进行 读写数据 对于位 6 若对程序进行读 写时 RAM 1 对时间进行读 写时 CK 0 位 1 至位 5 指操作单元的地址 位 0 是读 写操作位 进行读操作时 该 位为 1 该位为 0 则表示进行的是写操作 控制字节总是从最低位开始输入 输出 的 表 6 为 DS1302 的日历 时间寄存器内容 CH 是时钟暂停标志位 当该 位为 1 时 时钟振荡器停止 DS1302 处于低功耗状态 当该位为 0 时 时钟开 始运行 WP 是写保护位 在任何的对时钟和 RAM 的写操作之前 WP 必须 为 0 当 WP 为 1 时 写保护位防止对任一寄存器的写操作 2 DS1302 的控制字节 DS1302 的控制字如表 1 所示 控制字节的高有效位 位 7 必须是逻辑 1 如果它为 0 则不能把数据写入 DS1302 中 位 6 如果 0 则表示存取日历时钟数 据 为 1 表示存取 RAM 数据 位 5 至位 1 指示操作单元的地址 最低有效位 位 0 如为 0 表示要进行写操作 为 1 表示进行读操作 控制字节总是从最低 位开始输出 3 数据输入输出 I O XXXXX 大学本科毕业设计 19 在控制指令字输入后的下一个 SCLK 时钟的上升沿时 数据被写入 DS1302 数据输入从低位即位 0 开始 同样 在紧跟 8 位的控制指令字后的下一 个 SCLK 脉冲的下降沿读出 DS1302 的数据 读出数据时从低位 0 位到高位 7 如下图 10 所示 图 10 DS1302 读 写时序图 4 DS1302 的寄存器 DS1302 有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的数据 位为 BCD 码形式 其日历 时间寄存器及其控制字见表 7 表 7 DS1302 的日历 时间寄存器及其控制字 此外 DS1302 还有年份寄存器 控制寄存器 充电寄存器 时钟突发寄存 器及与 RAM 相关的寄存器等 时钟突发寄存器可一次性顺序读写除充电寄存器 外的所有寄存器内容 DS1302 与 RAM 相关的寄存器分为两类 一类是单个 RAM 单元 共 31 个 每个单元组态为一个 8 位的字节 其命令控制字为 C0H FDH 其中奇数为读操作 偶数为写操作 另一类为突发方式下的 RAM 寄存器 此方式下可一次性读写所有的 RAM 的 31 个字节 命令控制字为 XXXXX 大学本科毕业设计 20 FEH 写 FFH 读 6 显示模块的设计 如图 10 所示 采用动态扫描显示 由 21 个数码管 3 8 译码器 741S138 接 1K 限流电阻 再接 8550 三极管接到共阳数码管的 COM 端作为选通位码 每位 选择相应的列 741S47 接 240 限流电阻 再接共行的 LED 数码管的断码 图 10 LED 动态扫描显示 三 系统的软件设计 一 程序的设计 系统的软件设计可以分为几个部分 首先是各个模块的底层驱动程序编写 而后是系统联机调试 编写上层系统程序 建议在编写和调试一个大的项目软件 程序时 先编写各个子模块的驱动程序 保证每个模块都可以正常工作 做好备 份工作 之后再来编写整机程序 本系统软件程序主要包括 液晶 LCD1602 的 底层驱动模块 时钟芯片 DS1307 的底层驱动模块 传感器 DS18B20 的底层驱动 模块 定时器 0 定时检查系统变量模块 定时器 1 按键扫描模块等 几点说明 1 DS1302 是基于 CI 总线接口的时钟芯片 软件上完全与 CI 总线完全兼 容 XXXXX 大学本科毕业设计 21 2 DS18B20 是 One wire 总线接口的芯片 软件上对时序的要求特别高 3 键盘处理模块 可以设定成边沿触发或者电平触发方式 整个系统的软件设计均采用 C 语言开发 因此这些器件的底层程序均可以移 植到其它系统中 这就是采用 C 语言开发的最大的优点 二 程序设计框图 图 11 主程序流程图 XXXXX 大学本科毕业设计 22 图 12 时间调整程序流程图 XXXXX 大学本科毕业设计 23 图13 计算阳历程序流程图 图 14 阴历程序流程图 XXXXX 大学本科毕业设计 24 四 结论及展望 本次的毕业设计 作品基本已达到了预期成效 基本完成了要求的所用功能 毕业设计作为教学计划的一个有机组成部分 是完成专业培养目标的最后一个重 要的教学环节 使本人综合运用所学的基本知识 基本理论和基本技能 独立进 行的工程设计和研究 得到本专业工程技术和科学研究工作的基本训练 本设计基于 51 系列的 AT89S52 制作了多功能电子台历 完成实时时钟 电 子台历 室内温度的显示 具有闰年补偿 调整时间日期 设置闹钟 根据设定 的年 月 日自动匹配星期的扩展功能 如果作为一个时钟的话 本设计拥有大部分常用的 时钟 功能 最基本的 年 月 日 时 分 秒 当然是必不可少的 而且其精确度达到了误差误差小 于 10S 算得上是比较精准的时钟 还有比较流行的闹钟功能 因硬件所限 本功能不给出 温度测量方面 本设计因采用了美国 Dallas 半导体公司的数字 化温度传感器 DS18B20 其测量温度范围能达到 55 125 而在最常见 的温度下 10 85 时精度为 0 5 系统经组装 调试后 可以稳定运行 目 前正在笔者寝室作为时钟日历 采用串行器件具有线路简单 体积小 价格低等 优点 同时该系统稍加改造 就可以作为工业实时采集中的一个模块 系统软件 设计均采用 C 语言编写 具有模块化的思想 可以方便的移植到其它的系统中 采用 AT89S52 单片机 方便系统升级 本设计的集成度高 实用性强 相信在实 际家居生活中能得到普遍的应用 因为本设计主要是学习研究为重点 所以其外 观和安全性能暂无进一步考虑 如果在软件程序中再进一步完善 外观及安全性 能再加以研究 本品即可成为一件实用的产品 本系统特别实用于日常生活的时钟温度控制的应用 以此为基础 可以开发 出多种前景极其乐观的各类应用 如铃声定时系统 防盗报警系统 温度控制系 统等 在下一步的工作中 可以考虑使用 51 功能的模块并开发嵌入式系统温度 时间的应用 虽较为完善的完成了既定功能 但仍存在一定的缺陷 没有添加蜂鸣器 闹 钟及输入错误时只能显示报警 没有声音提示 未能添加电池功能 在主电源关 闭的情况下 不能保持时钟的连续运行 XXXXX 大学本科毕业设计 25 五 致谢词 千里之行 始于足下 终于完成了毕业设计的全部工作 有一种如释重负的 感觉 前后经历了四个月时间 但对于踏踏实实搞知识创新的人来说 从搜集材 料 投入研讨到起草排版 打印输出 这是一个漫长的过程 其间有过百思不解 时的苦闷 也有过豁然开朗时的喜悦 不曾身处其境的人 一般不宜感同身受 我的导师汪老师说过 科研工作是一项艰苦 寂寞并且需要全心全意投入的工 作 一旦选择了这个责任 就要承担得起他人所不能承受的压力 正因为这样 才要努力做出成果 事先有了心理准备 做起事来才不至于手足无措 尽管如此 由于毕业设计 涉及内容较多 范围较宽 方方面面都要照顾到 还是不可避免地遇到许多问题 学校领导未雨绸缪 提前熟悉了解了毕业设计的基础知识 同时下发 毕业设计 论文 指导手册 予以辅导 这给了极大的鼓舞和帮助 导师每周三次的面授 和上机指导 给论文的进展带来缕缕曙光和推动力 更难忘实验室老师刘强和寝 室同学对我的这次毕业设计的帮助与关心 使得我的工作和学习得以顺利进行 在此谨以一颗感激之心向这些给予我极大帮助的人致以衷心的谢意 XXXXX 大学本科毕业设计 II 附录 附录一 系统电路图 四川师范大学成都学院本科毕业设计 27 附录二 子程序的设计 1 DS18B20 温度子程序 CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0 7 TOUTOU LCALL CHUSHI LCALL RDTEMP MOV A TEMPL ANL A 11110000B MOV TEMPL A MOV A TEMPH ANL A 00000111B ORL A TEMPL SWAP A MOV 25H A MOV A 25H MOV B 64H DIV AB MOV A B MOV B 0AH DIV AB SWAP A ORL A B MOV 10H A RET CHUSHI 四川师范大学成都学院本科毕业设计 28 LCALL RESET MOV A 0CCH LCALL WRITE111 MOV A 4EH LCALL WRITE111 MOV A CONFIG12 LCALL WRITE111 RET RDTE

温馨提示

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

评论

0/150

提交评论