分立式生活环境表的研究与制作-毕业设计.doc_第1页
分立式生活环境表的研究与制作-毕业设计.doc_第2页
分立式生活环境表的研究与制作-毕业设计.doc_第3页
分立式生活环境表的研究与制作-毕业设计.doc_第4页
分立式生活环境表的研究与制作-毕业设计.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1 分立式生活环境表的研究与制作 前言 由于直流稳压电源的应用在越来越多翎羽起着不可分割的作用 做为电子设计中 的常用设备之一 直流稳压电源应用领域已经十分的广泛了 它的分类主要有四类 第一类稳压二极管稳压电路 这种稳压电路中利用硅稳压二极管的稳压特性 实现直 流工作电压的稳压输出 这种直流稳压电路的稳压特性一半 往往只用于稳定局部的 直流电压 在整机电源电路中一般不用 第二类串联调整管稳压电路 这种稳压电路 利用了三极管集电极与发射极之间阻抗随基极电流大小变化而变化的特性 进行直流 输出电压的自动调整 实现直流输出电压的稳定 在这种稳压电路中的三极管 调整 管 一直处于导通状态 第三类开关型稳压电路 这是一种高性能的直流稳压电路 稳压原理比较复杂 在这种电路中的三极管 开关管 处于导通 截止两种状态的转 换中 即工作在开关状态 所以开关型稳压电路由此得名 第四类三端集成稳压电路 这是一种集成电路的稳压电路 其功能是稳定直流输出电压 这种集成电路只有三根 引脚 使用很方便 在许多场合都有着广泛应用 传统的直流稳压电源功能简单 难 于控制 可靠性低 干扰大 精度低且体积大 复杂度高 而基于单片机控制的直流 稳压电源则能较好地解决以上传统稳压电源的不足 其良好的性价比更能为人们所接 受 具有一定的设计价值 1 设计任务 本研究要求设计的分立式生活环境表不仅能显示时间 星期 公历日期信息 还 能显示农历信息 因为在我们国家 很多节日都是定在农历的 如年初一 七夕 八 月十五等 以及实现整点报时和实时温度显示等功能 在这个分立式生活环境表设计系统中 还具有时间可调功能 比如我们想知道某 一年的某一天的农历时间 我们可以调到相应的公历日 则农历就会根据公历日期被 系统自动转换过来 再显示相应的农历信息 2 方案与论证 2 1 单片机芯片的选择方案与论证 2 方案一 采用 89C51 芯片作为硬件核心 采用 Flash ROM 内部具有 4KB ROM 存储空间 能于 3V 的超低压工作 而且与 MCS 51 系列单片机完全兼容 但是运用于电路设计中时 由于不具备 ISP 在线编程技术 当在对电路进行调试时 由于程序的错误修改或对程序 的新增功能需要烧入程序时 对芯片的多次拔插会对芯片造成一定的损坏 方案二 采用 AT89S52 片内 ROM 全都采用 Flash ROM 能以 3V 的超底压工作 同时也 与 MCS 51 系列单片机完全该芯片内部存储器为 8KB ROM 存储空间 同样具有 89C51 的功能 且具有在线编程可擦除技术 当在对电路进行调试时 由于程序的错 误修改或对程序的新增功能需要烧入程序时 不需要对芯片多次拔插 所以不会对芯 片造成损坏 所以选择采用 AT89S52 作为主控制系统 2 2 显示模块的选择方案和论证 方案一 采用 LED 数码管动态扫描 虽然 LED 数码管价格适中 对于显示数字也比较合适 然 而需要显示多位数字和字母时 编程就会变得很复杂 而且占用的单片机口线多 方案二 采用点阵式数码管显示 点阵式数码管是由八行八列的发光二极管组成 对于显 示文字比较适合 如采用在显示数字显得太浪费 且价格也相对较高 所以也不用此种作为 显示 方案三 采用 LCD 液晶显示屏 LCD 液晶显示屏尽管价格比较贵 但它的显示功能强大 可 显示大量字符 显示多样 清晰可见 需要的接口线少 所以采用LCD液晶显示屏作为显示 2 3 时钟芯片的选择方案和论证 方案一 直接采用单片机定时计数器提供秒信号 使用程序实现年 月 日 星期 时 分 秒计数 采用此种方案虽然减少芯片的使用 节约成本 但是 实现的时间误差 较大 方案二 采用 DS1302 时钟芯片实现时钟 DS1302 芯片是一种高性能的时钟芯片 可自动 3 对秒 分 时 日 周 月 年以及闰年补偿的年进行计数 而且精度高 位的 RAM 做为数据暂存区 工作电压 2 5V 5 5V 范围内 2 5V 时耗电小于 300nA 所以采用 DS1302 提供时钟 2 4 温度传感器的选择方案与论证 方案一 使用热敏电阻作为传感器 用热敏电阻与一个相应阻值电阻相串联分压 利用热 敏电阻阻值随温度变化而变化的特性 采集这两个电阻变化的分压值 并进行 A D 转 换 此设计方案需用 A D 转换电路 增加硬件成本而且热敏电阻的感温特性曲线并不 是严格线性的 会产生较大的测量误差 方案二 采用数字式温度传感器 DS18B20 此类传感器为数字式传感器而且仅需要一条数 据线进行数据传输 易于与单片机连接 可以去除 A D 模块 降低硬件成本 简化系 统电路 另外 数字式温度传感器还具有测量精度高 测量范围广等优点 所以采用数字式温度传感器 DS18B20 测量温度 2 5 路设计最终方案决定 综上各方案所述 对此次作品的方案选定 采用AT89S52作为主控制系统 DS1302提 供时钟 数字式温度传感器 LCD液晶显示屏作为显示模块 3 系统硬件设计 3 1 系统总框图 本系统以集成芯片为主 以 C 语言为开发语言 通过对硬件进行软件编程实现所 需要的功能 系统的总框图如图 3 1 1 所示 以下的内容就是根据总框图逐步实现的 图 3 1 1 系统总框图 DS1302 时钟模块 AT89S52 主控模块 键盘输入电路 显示电路 峰鸣器闹 铃模块 DS18B20 温度 模块 4 系统总框图说明 DS1302 时钟模块可以输出其当前日期及时间 键盘输入电路可以调整日期 时间及整体的转换 DS18B20 温度模块可以测量当前室内的温度 峰鸣器闹铃模块可以做整点报时 3 2 原理图设计 3 2 1 AT89S52模块 目前 在我国比较流行的就是美国 ATMEL 公司的 89C51 它是一种带 Flash ROM 的单片机 事实上 89C51 目前正在用 89S52 代替 本系统是以 AT89S52 作为主 控芯片 AT89S52 采用 40Pin 封装的双列直接 DIP 结构 图 5 1 1 是它们的引脚配置 40 个引脚中 正电源和地线两根 外置石英振荡器的时钟线两根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 时钟有两种方式 一种是片内时钟振荡方式 但需在 18 和 19 脚外接石英晶体 2 12MHz 和振荡电容 振荡电容的值一般取 10p 30p 另外一种是外部时钟方式 即将 XTAL1 接地 外部时钟信号从 XTAL2 脚输入 输入输出 I O 引脚 Pin32 Pin39 为 P0 0 P0 7 输入输出脚 Pin1 Pin8 为 P1 0 P1 7 输入输出脚 Pin21 Pin28 为 P2 0 P2 7 输入输出脚 Pin10 Pin17 为 P3 0 P3 7 输入输出脚 这些输入输出脚 的功能阐述如下 P0 口 32 脚 39 脚 是双向 8 位三态 I O 口 P1 口 1 脚 8 脚 是 8 位准双向 I O 口 由于这种借口输出没有高阻状态 输 入也不能锁存 故不是真正的双向 I O 口 P1 口能驱动 吸收或输出电流 4 个 TTL 负载 P2 口 21 脚 28 脚 是 8 位准双向 I O 口 访问外部存储器时 它可以作为高 8 位地址总线送出高 8 位地址 P2 可以驱动 吸收或输出电流 4 个 TTL 负载 P3 口 10 脚 17 脚 是 8 位准双向 I O 口 P3 口的 8 条线都定义有第二功能 如表 3 2 1 1 所列 5 表 3 2 1 1 P3 口的第二功能表 引脚第二功能 P3 0RXD 串行口输入端 P3 1TXD 串行口输出端 P3 2INT0 外部中断 0 请求输入端 低电平有效 P3 3INT1 外部中断 0 请求输入端 低电平有效 P3 4T0 定时器 计数器 0 的技数脉冲输入端 P3 5T1 定时器 计数器 0 的技数脉冲输入端 P3 6WR 片外数据存储器写选通信号输出端 低电平有效 P3 7RD 片外数据存储器写选通信号输出端 低电平有效 3 2 2 DS1302时钟模块 通过简单的串行接口与单片机进行通信 实时时钟 日历电路提供秒分时日月年的 信息 每月的天数和闰年的天数可自动调整 时钟操作可通过 AM PM 指示决定采用 24 或 12 小时格式 DS1302 与单片机之间能简单地采用同步串行的方式进行通信 仅 需用到三个口线 1 RES 复位 2 I O 数据线 3 SCLK 串行时钟 时钟 RAM 的读 写 数据以一个字节或多达 31 个字节的字符组方式通信 DS1302 工作时功耗很低 保持 数据和时钟信息时功率小于 1mW 现用 DS1302 的引脚图及引脚功能表来描述其结构 功能 VCC2 VCC1 X1 SCLK 1 8 2 7 3 6 4 5 6 X2 I O 图 3 2 2 1 DS1302 的引脚图 表 3 2 2 1 引脚功能表 引脚号引脚名称功能 1Vcc2主电源引脚 2 3X1 X2振荡源 外接 32 768KHz 晶振 4RST接地 5GND复位 片选端 6I O串行数据输入 输出端 双向 7SCLK串行时钟输入端 8Vcc1备用电源 工作原理 工作原理 时钟芯片主要由寄存器 控制寄存器 振荡器 实时时钟 以及RAM组成 为了对任何数据传送进行初始化 需要将RST 置为高电平且将具有地 址和控制信息的8位数据 控制字节 装入移位寄存器 数据在SCLK的上升沿串行输 入 前8位指定访问地址 命令字装入移位寄存器后 在之后的时钟周期 读操作时输 出数据 写操作时输入数据 时钟脉冲的个数在单字节方式下为8加8 8位地址加8位 数据 在多字节突发模式方式下为8加最多可达248的数据 DS1302的电路设计图如图 3 2 2 2所示 7 X1 2 X2 3 VCC2 1 GND 4 RST 5 I O 6 SCLK 7 VCC1 8 U2 DS1302 VCC 12 Y2 C7C8 32 768KHz 10p10p P0 1 P0 2 P0 0 470uF C6 1K R10 图3 2 2 2 DS1302电路设计图 3 2 3 DS18B02模块 首先 DS18B02的性能如下 单线接口 仅需一根口线与 MCU 连接进行通信 多个 DS18B20 可以并联在惟一的 3 线上 实现多点组网功能 无需外围元件 可通过数据线供电 电压范围为 3 0 5 5V 零待机功耗 测温范围 55 125 固有测温分辨率为 0 5 通过编程可实现 9 12 位的数字读数方式 用户可自设定非易失性的报警上下限值 支持多点组网功能 多个 DS18B20 能联在惟一的三线上 实现多点测温 报警搜索命令可识别哪片 DS1820 超温度限 负压特性 电源极性接反时 温度计不会因发热而烧毁 但不能正常工作 其次 DS18B02的内部结构示意图如图3 2 3 1所示 I O 高 速 缓 存 温度传感器 存储器与控制逻辑 64 位 ROM 和 单线接口 8 C VDD 图3 2 3 1 DS18B02内部结构示意图 DS18B20 的测温原理 DS18B20 的测温原理如图所示 图中低温度系数晶振的振荡 频率受温度的影响很小 用于产生固定频率的脉冲信号送给减法计数器 1 高温度系数 晶振随温度变化其震荡频率明显改变 所产生的信号作为减法计数器 2 的脉冲输入 当计数门打开时 DS18B20 就对低温度系数振荡器产生的时钟脉冲后进行计数 停 图 3 2 3 2 DS18B20 测温原理图 DS18B20 可以采用两种方式供电 一种是采用电源供电方式 此时 DS18B20 的 1 脚接地 2 脚作为信号线 3 脚接电源 另一种是寄生电源供电方式 3 2 4 显示模块 LCD1602可以显示2行16个字符 有8位数据总线D0 D7 和RS R W EN三个 低温触发器 高温触发器 8 位 CRC 发生 器 减到 0 减法计数器 1低温系数振荡器 预置 温度寄存器 高温度系数振荡器减法计数器 2减到 0 斜率累加器 计数比较器预置 9 控制端口 工作电压为5V 并且带有字符对比度调节和背光 LCD1602的引脚如图 3 2 4 1所示 图 3 2 4 1 LCD1602 的引脚图 4 软件设计 4 1 程序流程图 否 是 F0 1 X X YX X Y 农历日 Y X 1 农历年 月 日数 据标准化 子程序出口 农历日 X 1 X Y X Y 农历月 闰月 农历月减 1 F0 取反 取农历月天数 Y 农历年 公历年减 1 数据表地址减 3 定位到前一年 取农历信息 转换数据到 HEX 格式 方便运算 根据公历年 定位数据表的地址 从数据表中取得春节的公历日期 并通过计算公历日和春节离元旦的 天数算出公历日离春节的天数 记 为 X 公历日在春节以后 子程序入口 农历年 公历年 取农历月信息 农历月加 1 闰月标 志 F0 0 非闰月 农历月 12 闰月 标志 F0 非闰月 F0 取反农历月加 1 F0 1 农历月 闰月 取农历月 天数 Y 10 是 图 4 1 1 公农历转换程序流程图 4 2 DS18B02程序设计方案 本设计采用电源供电方式 设计电路如图 4 2 1 所示 Speaker PNP VCC 1K R12 P3 6 图 4 2 1 DS18B20 电路设计图 通过单线总线端口访问 DS18B20 的协议如下 初始化 DS18B20 发复位脉冲 发 ROM 功能操作命令 发存储器操作命令 处理数据 11 第一 初始化 DS18B20 初始化函数时序如下图所示 如图中虚线所示 单片机接收到低电平脉冲说明 复位成功 否则需重新进行复位操作 15 60 s 480 s 400 960 s 60 240 s t0 t1 t2 t3 t4 图 4 2 2 初始化时序图 第二 ROM 操作命令 一旦总线控制器探测到一个存在脉冲 就可以发出以下 5 个 ROM 命令中的任一个 Read ROM 33H 该命令允许总线控制器读到 DS18B20 的 8 位系列编码 惟一的序列和 8 位 CRC 码 Write Schratchpad 4EH 该命令向 DS18B20 的暂存器 TH 和 TL 中写入数据 Skip ROM 0CCH 该命令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令 4 Read Scrachped 0BEH 该命令读取暂存器的内容 Convert T 48H 该命令启动一次温度转换而无需其它数据 写时间隙 当主机 t0时刻把总线从逻辑高电平拉到逻辑低电平的时候 写时间隙开始 60 s 60 s 12 15 s 15 60 s 1 s 15 s 45 s 1 s t0 t1 t0 t1 图 4 2 3 DS18B20 写 0 和写 1 时序图 读时间隙 当主机 t0时刻把总线从逻辑高电平拉到逻辑低电平时 总线只需保持低电平 1 4 s 之后在 t1时刻将总线拉高产生读时间隙 读时间隙在 t1时刻后 t2时刻前有效 t2距 t015 s 读位时序见图 14 60 s 15 s 1 s t0 t1 t2 t3 图 4 2 4 DS18B20 读位时序图 数据处理 数据处理思路是先取高速暂存器 RAM 中温度信息的底字节 LSB 将 LSB 右移 4 位 再取高速暂存器 RAM 中温度信息的高字节 MSB 将 MSB 左移 4 位 接着将 LSB 和 MSB 两个字节相或 得到一个整数 再送显示 4 3 整点报时设计 利用 AT89S52 的内部定时器使其工作计数器模式 MODE1 下 改变计数值 TH0 及 TL0 以产生不同频率的方法产生不同音阶 整点报时电路图设计 13 Speak er PNP VCC 1K R12 P3 6 图 4 3 1 整点报时电路设计图 4 4 时间可调设计 思路 首先判断是否有键按下 如果有则延时一段时间 再判断是否有键按下 其目的是为了消除电路抖动和消除干扰信号 液晶显示模块是一个慢显示器件 所以在执行每条指令之前一定要确认模块的忙 标志为低电平 表示不忙 否则此指令失效 要显示字符时要先输入显示字符地址 也就是告诉模块在哪里显示字符 表 3 是 1602 的内部显示地址 表 4 4 1 1602 的内部显示地址表 12345678910111213141516 000102030405060708090A0B0C0D0E0F第一行 404142434445464748494A4B4C4D4E4F第二行 比如第二行第一个字符的地址是 40H 那么是否直接写入 40H 就可以将光标定位 在第二行第一个字符的位置呢 这样不行 因为写入显示地址时要求最高位 D7 恒定为 高电平 1 所以实际写入的数据应该是 01000000B 40H 10000000B 80H 11000000B C0H 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 U3LCD1602 VCC VCC 1K R11 P0 5 P0 6 P0 7 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 图 4 4 1 LCD1602 电路设计图 4 5 电源模块设计 本设计的稳压电源由变压器 滤波器和集成稳压等环节组成 220V 交流电压经过变压器变成 12V 然后通过电容 C1 的滤波作用后形成 12V 的 直流电源 最后经过 LM7805 后输出 5V 的稳压电源 如图 17 所示 IN 1 3 OUT 2 GND U57805Powerk ey 口口口口0 33uF C1 0 1uF C2 LED 1K R1 VCC 图 4 5 1 稳压电源电路设计图 5 结束语 本设计以 ATMEL 公司的 AT89S52 为主控芯片 配合专用的时钟芯片及软件能稳 15 定地显示当前时间 室内温度及完成公农历转换 本设计的方案选择与当前主流的设 计思想吻合 所用到的模块具有很高的实用性 特别是编程语言选用硬件 C 为系统的 移植提供了很大的方便 由于硬件设备问题 所以设计的硬件以单片机专用仿真软件 Protues ISIS 6 9 SP4 为开发平台 软件以 keil51 为开发平台 这为系统的软硬件调试提供了很大方便 与市面上的大多数万年历以分立元件为主不同 本设计大多使用集成芯片 集成 芯片的稳定性 可靠性及资源利用率都远优于分立元件 这对系统的长时间稳定工作 有决定性的作用 首先 是解决软件上的设计问题 通过编程实现闹铃可以实现语音整点报时以及 实时显示温度可精确到一个小数位 其次 用贴片芯片代替直插元件 降低系统的设计成本 最后 实现响铃 防御报警 娱乐三种创新功能 附录 系统原理图 16 参考文献 1 赵长德 微型计算机原理与接口技术 机械工业出版社

温馨提示

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

评论

0/150

提交评论