




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 页 共 II 页 基于单片机的数字温度计设计基于单片机的数字温度计设计 摘摘 要要 随着时代的进步和发展 单片机技术已经普及到我们生活 工作 科研 各个 领域 已经成为一种比较成熟的技术 本文主要介绍了一个基于单片机的测温系统 详细描述了利用数字温度传感器 DS18B20 开发测温系统的过程 重点对传感器在单 片机下的硬件连接 软件编程以及各模块系统流程进行了详尽分析 对各部分的电 路也一一进行了介绍 该系统可以方便的实现实现温度采集和显示 并可根据需要 任意设定上下限报警温度 它使用起来相当方便 具有精度高 量程宽 灵敏度高 体积小 功耗低等优点 适合于我们日常生活和工 农业生产中的温度测量 也可 以当作温度处理模块嵌入其它系统中 作为其他主系统的辅助扩展 DS18B20 与 AT89S52 结合实现最简温度检测系统 该系统结构简单 抗干扰能力强 适合于 恶劣环境下进行现场温度测量 有广泛的应用前景 关键词 关键词 单片机 温度检测 AT89S52 DS18B20 Abstract Along with the progress and development of the ages single slice the machine technique has already make widely available the life is to us work research each realm have already become the technique of a kind of comparison maturity This paper mainly describes a temperature measurement system based on DS18B20 detailed describing the development process use digital temperature sensor the paper introduces the hardware connectivity and software programming of the DS18B20 based on the single chip and give the software flow chart of each module as well as introduced each circuit of the system System can easily to collect and display the temperature it can also arbitrary set alarm temperature according to the actual need It is used convenience it has high precision wide range high sensitivity small size and low power dissipation The device is especially applied to measure temperature in people s daily lives industrial and agricultural production and also easily as a temperature processing module embed in the other system turn into as a complementary expansion Key words Single chip temperature measurement AT89S52 DS18B20 第 I 页 共 II 页 目目 录录 引言 1 1 系统方案比较 1 1 方案一 1 1 2 方案二 2 2 主要器件介绍 2 1 单片机 3 2 1 1 AT89S52 系列单片机简介 3 2 1 2 主要性能 3 2 1 3 引脚说明 4 2 2 温度传感器 7 2 2 1 DS18B20 简介 7 2 2 2 DS18B20 内部结构与原理 7 2 2 3 DS18B20 使用的注意事项 12 2 3 显示和报警 12 2 3 1 数码管的结构和原理 12 2 3 2 蜂鸣器的结构和原理 13 3 硬件电路设计 3 1 控制电路模块 15 3 2 显示电路模块 15 3 3 温度检测电路模块 16 3 4 报警电路模块 17 4 软件设计 4 1 主程序模块 17 4 2 各控制模 17 4 1 1 温度检测模块 17 4 1 2 报警模块 18 5 结论 19 谢辞 20 参考文献 20 附录 21 桂林电子科技大学本科课程设计 论文 报告用纸 第 0 页 共 26 页 引言 随着科技的不断发展 现代社会对各种信息参数的准确度和精确度的要求都有 了几何级的增长 而如何准确而又迅速的获得这些参数就需要受制于现代信息基础 的发展水平 在三大信息信息采集 即传感器技术 信息传输 通信技术 和信息处 理 计算机技术 中 传感器属于信息技术的前沿尖端产品 尤其是温度传感器技术 在我国各领域已经引用的非常广泛 可以说是渗透到社会的每一个领域 人民的生 活与环境的温度息息相关 在工业生产过程中需要实时测量温度 在农业生产中也 离不开温度的测量 因此研究温度的测量方法和装置具有重要的意义 测量温度的关键是温度传感器 温度传感器的发展经历了三个发展阶段 传统的分立式温度传感器 模拟集成温度传感器 智能集成温度传感器 目前的智能温度传感器 亦称数字温度传感器 是在20世纪90年代中期问世的 它是微电子技术 计算机技术和自动测试技术 ATE 的结晶 特点是能输出温度数 据及相关的温度控制量 适配各种微控制器 MCU 社会的发展使人们对传感器的 要求也越来越高 现在的温度传感器正在基于单片机的基础上从模拟式向数字式 从集成化向智能化 网络化的方向飞速发展 并朝着高精度 多功能 总线标准化 高可靠性及安全性 开发虚拟传感器和网络传感器 研制单片测温系统等高科技的 方向迅速发展 本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法 并对以此传感器 89S51单片机为控制器构成的数字温度测量装置的工作原理及程 序设计作了详细的介绍 与传统的温度计相比 其具有读数方便 测温范围广 测 温准确 输出温度采用数字显示 主要用于对测温要求比较准确的场所 或科研实 验室使用 该设计控制器使用ATMEL公司的AT89S52单片机 测温传感器使用DALLAS 公司DS18B20 用液晶来实现温度显示 1 系统方案论证与比较 概系统主要由温度测量和数据采集两部分电路组成 实现的方法有很多种 下 面将列出两种在日常生活中和工农业生产中经常用到的实现方案 1 1 方案一 采用热电偶温差电路测温 温度检测部分可以使用低温热偶 热电偶由两个焊 接在一起的异金属导线所组成 热电偶的构成如图 2 1 热电偶产生的热电势由 两种金属的接触电势和单一导体的温差电势组成 通过将参考结点保持在已知温度 第 1 页 共 26 页 并测量该电压 便可推断出检测结点的温度 数据采集部分则使用带有A D 通道的 单片机 在将随被测温度变化的电压或电流采集过来 进行A D 转换后 就可以用 单片机进行数据的处理 在显示电路上 就可以将被测温度显示出来 热电偶的优 点是工作温度范围非常宽 且体积小 但是它们也存在着输出电压小 容易遭受来 自导线环路的噪声影响以及漂移较高的缺点 并且这种设计需要用到A D 转换电路 感温电路比较麻烦 图 1 1热电偶电路图 系统主要包括对A D0809 的数据采集 自动手动工作方式检测 温度的显示等 这几项功能的信号通过输入输出电路经单片机处理 此外还有复位电路 晶振电路 启动电路等 故现场输入硬件有手动复位键 A D 转换芯片 处理芯片为51 芯片 执行机构有4 位数码管 报警器等 系统框图如图 2 2所示 图 1 2热电偶温差电路测温系统框图 1 2 方案二 采用数字温度芯片DS18B20 测量温度 输出信号全数字化 便于单片机处理及 控制 省去传统的测温方法的很多外围电路 且该芯片的物理化学性很稳定 它能 用做工业测温元件 此元件线形较好 在0 100 摄氏度时 最大线形偏差小于1 摄氏度 DS18B20 的最大特点之一采用了单总线的数据传输 由数字温度计 DS18B20和微控制器AT89S52构成的温度测量装置 它直接输出温度的数字信号 可直 接与计算机连接 这样 测温系统的结构就比较简单 体积也不大 采用51 单片机 控制 软件编程的自由度大 可通过编程实现各种各样的算术算法和逻辑控制 而 且体积小 硬件实现简单 安装方便 既可以单独对多DS18B20 第 2 页 共 26 页 控制工作 还可以与PC 机通信上传数据 另外AT89S52 在工业控制上也有着 广泛的应用 编程技术及外围功能电路的配合使用都很成熟 该系统利用AT89S52芯片控制温度传感器DS18B20进行实时温度检测并显示 能 够实现快速测量环境温度 并可以根据需要设定上下限报警温度 该系统扩展性非 常强 它可以在设计中加入时钟芯片DS1302以获取时间数据 在数据处理同时显示 时间 并可以利用AT24C16芯片作为存储器件 以此来对某些时间点的温度数据进 行存储 利用键盘来进行调时和温度查询 获得的数据可以通过MAX232芯片与计算 机的RS232接口进行串口通信 方便的采集和整理时间温度数据 系统框图如图 2 3所示 图 2 3 DS18B20温度测温系统框图 从以上两种方案 容易看出方案一的测温装置可测温度范围宽 体积小 但是 线性误差较大 方案二的测温装置电路简单 精确度较高 实现方便 软件设计也 比较简单 故本次设计采用了方案二 2 主要器件介绍 2 1 单片机 2 1 1 简介 AT89S52 是一种低功耗 高性能 CMOS 8 位微控制器 具有 8K 在系统可编程 Flash 存储器 使用 Atmel 公司高密度非易失性存储器技术制造 与工业 80C51 产品指令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于常规 编程器 在单芯片上 拥有灵巧的 8 位 CPU 和在系统可编程 Flash 使得 AT89S52 在众多嵌入式控制应用系统中得到广泛应用 2 1 2 主要性能 1 与 MCS 51 单片机产品兼容 第 3 页 共 26 页 2 8K 字节在系统可编程 Flash 存储器 3 1000 次擦写周期 4 全静态操作 0Hz 33MHz 5 三级加密程序存储器 6 32 个可编程 I O 口线 7 三个 16 位定时器 计数器 8 六个中断源 9 全双工 UART 串行通道 10 低功耗空闲和掉电模式 11 掉电后中断可唤醒 12 看门狗定时器 13 双数据指针 14 掉电标识符 2 1 3 引脚说明 AT89S52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可编 程 Flash 存储器 使用 Atmel 公司高密度非 易失性存储器技术制造 与工业 80C51 产品指令和引脚完 全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于 常规编程器 在单芯片上 拥有灵巧的8 位 CPU 和在系统 可编程 Flash 使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活 超有效的解决 方案 AT89S52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位 定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89S52 可降至 0Hz 静态逻 辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工 作 掉电保护 方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一 个中断或硬件复位为止 AT89S52 单片机的引脚图如图 3 1 所示 第 4 页 共 26 页 图 3 1AT89S52 引脚图 DIP 封装 P P0 0 口口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱 动 8 个 TTL 逻 辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 当访 问外部程序和数据存储器时 P0 口也被作为低 8 位地址 数据复用 在这种模 式下 P0 不具有内部上拉电阻 在 flash 编程时 P0 口也用来接收指令字 节 在程序校验时 输出指令字节 程序校验 时 需要外部上拉电阻 P P1 1 口口 P1 口是一个具有内部上拉电阻的 8 位双向 I O 口 p1 输出缓 冲器能驱动 4 个 TTL 逻辑电平 对 P1 端口写 1 时 内部上拉电阻把端口 拉高 此时可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于 内部电阻的原因 将输出电流 IIL 此外 P1 0 和 P1 1 分别作定时器 计数器 2 的外部计数输入 P1 0 T2 和定时器 计数器 2 的触发输入 P1 1 T2EX 在 flash 编程和校验时 P1 口接收低 8 位地址字节 引脚号第二功能 P1 0 T2 定时器 计数器 T2 的外部计数输入 时钟输出 P1 1 T2EX 定时器 计数器 T2 的捕捉 重载触发信号和方向控制 P1 5 MOSI 在系统编程用 P1 6 MISO 在系统编程用 P1 7 SCK 在系统编程用 P2P2 口 口 P2 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出缓冲器能 驱动 4 个 TTL 逻辑电平 对 P2 端口写 1 时 内部上拉电阻把端口拉高 此时 可以作为输入 口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原 因 将输出电流 IIL 在访问外部程序存储器或用 16 位地址读取外部数据 存储器 例如执行 MOVX DPTR 时 P2 口送出高八位地址 在这种应用中 P2 口使用很强的内部上拉发送 1 在使用 8 位地址 如 MOVX RI 访问外部 数据存储器时 P2 口输出 P2 锁存器的内容 在 flash 编程和校验时 P2 口 也接收高 8 位地址字节和一些控制信号 第 5 页 共 26 页 P P3 3 口口 P3 口是一个具有内部上拉电阻的 8 位双向 I O 口 p3 输出缓 冲器能驱动 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 闪存编程和程序校验的控制信号 R RS ST T 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电平 将是单片机复位 A AL LE E P PR RO OG G 当访问外部程序存储器或数据存储器时 ALE 地址锁存允许 输出脉冲用于锁存地址的低 8 位字节 一般情况下 ALE 仍以时钟振荡频率的 1 6 输出固定的脉冲信号 因此它可对外输出时钟或用于定时目的 要注意的是 每当访问外部数据存储器时将跳过一个ALE 脉冲 对 FLASH 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置位后 只有一 条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引脚会被微弱拉高 单片机执 行外部程序时 应设置 ALE 禁止位无效 P PS SE EN N 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89S52 由外部程序存储器取指令 或数据 时 每个机器周期两次PSEN 有 效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过两次PSEN 信号 E EA A V VP PP P 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则执行内部程序存储器的指令 FLASH 存储器编程时 该引脚加上 12V 的编 程允许电源 Vpp 当然这必须是该器件是使用 12V 编程电压 Vpp X XT TA AL L1 1 振荡器反相放大器和内部时钟发生电路的输入端 第 6 页 共 26 页 X XT TA AL L2 2 振荡器反相放大器的输出端 2 2 温度传感器 由于传统的热敏电阻等测温元件测出的一般都是电压 再转换成对应的温度 需要比较多的外部元件支持 且硬件电路复杂 制作成本相对较高 这里采用 DALLAS公司的数字温度传感器DS18B20作为测温元件 2 2 1 DS18B20 简单介绍 DALLAS 最新单线数字温度传感器DS18B20是一种新型的 一线器件 其体积 更小 更适用于多种场合 且适用电压更宽 更经济 DALLAS 半导体公司的数字 化温度传感器DS18B20是世界上第一片支持 一线总线 接口的温度传感器 温度 测量范围为 55 125 摄氏度 可编程为9位 12 位转换精度 测温分辨率可达 0 0625摄氏度 分辨率设定参数以及用户设定的报警温度存储在EEPROM 中 掉电 后依然保存 被测温度用符号扩展的16位数字量方式串行输出 其工作电源既可以 在远端引入 也可以采用寄生电源方式产生 多个DS18B20可以并联到3 根或2 根 线上 CPU只需一根端口线就能与诸多DS18B20 通信 占用微处理器的端口较少 可节省大量的引线和逻辑电路 因此用它来组成一个测温系统 具有线路简单 在 一根通信线 可以挂很多这样的数字温度计 十分方便 2 2 2 DS18B20内部结构与原理 图为 DS1820 的内部框图 它主要包括寄生电源 温度传感器 64 位激光 ROM 单线接口 存放中间数据的高速暂存器 内含便笺式 RAM 用于存储用户设定的 温度上下限值的 TH 和 TL 触发器存储与控制逻辑 8 位循环冗余校验码 CRC 发 生器等七部分 DS18B20采用 脚PR 35 封装或 脚SOIC封装 其内部结构框图如图3 2所示 第 7 页 共 26 页 图 3 2 DS18B20 内部结构框图 64 b 闪速 ROM 的结构如下 开始 位是产品类型的编号 接着是每个器件的惟一的序号 共有48 位 最 后 位是前面56 位的CRC 检验码 这也是多个DS18B20 可以采用一线进行通信的 原因 温度报警触发器 和 可通过软件写入户报警上下限 主机操作ROM 的命令有五种 如表所列 指 令说 明 读ROM 33H 读DS1820的序列号 匹配ROM 55H 继读完64位序列号的一个命令 用 于多个DS1820时定位 跳过ROM CCH 此命令执行后的存储器操作将针对 在线的所有DS1820 搜ROM F0H 识别总线上各器件的编码 为操作 各器件作好准备 报警搜索 ECH 仅温度越限的器件对此命令作出响 应 DS18B20 温度传感器的内部存储器还包括一个高速暂存 和一个非易失性 的可电擦除的EERAM 高速暂存RAM 的结构为 字节的存储器 结构如下图所示 第 8 页 共 26 页 高速暂存RAM结构图 前 个字节包含测得的温度信息 第 和第 字节 和 的拷贝 是易失 的 每次上电复位时被刷新 第 个字节 为配置寄存器 它的内容用于确定温度 值的数字转换分辨率 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数 值 温 度 低 位 温 度 高 位 THTL配 置 保 留 保 留 保 留 8 位 CR C LSB MSB 当 DS18B20 接收到温度转换命令后 开始启动转换 转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1 2 字节 单片机 可通过单线接口读到该数据 读取时低位在前 高位在后 数据格式以 0 062 5 LSB 形式表示 温度值格式如下 这是 12 位转化后得到的 12 位数据 存储在 18B20 的两个 8 比特的 RAM 中 二 进制中的前面 5 位是符号位 如果测得的温度大于 0 这 5 位为 0 只要将测到的 数值乘于 0 0625 即可得到实际温度 如果温度小于 0 这 5 位为 1 测到的数值需 要取反加 1 再乘于 0 0625 即可得到实际温度 图中 S 表示位 对应的温度计算 第 9 页 共 26 页 当符号位 S 0 时 表示测得的温度植为正值 直接将二进制位转换为十进制 当 S 1 时 表示测得的温度植为负值 先将补码变换为原码 再计算十进制值 例如 125 的数字输出为 07D0H 25 0625 的数字输出为 0191H 25 0625 的数字 输出为 FF6FH 55 的数字输出为 FC90H DS18B20 温度传感器主要用于对温度进行测量 数据可用 16 位符号扩展的二 进制补码读数形式提供 并以 0 0625 LSB 形式表示 表 2 是部分温度值对应的 二进制温度表示数据 部分温度值 DS18B20 完成温度转换后 就把测得的温度值与 RAM 中的 TH TL 字节内容作 比较 若 T TH 或 T TL 则将该器件内的告警标志置位 并对主机发出的告警搜索 命令作出响应 因此 可用多只 DS18B20 同时测量温度并进行告警搜索 DS18B20 的测温原理如图 3 3 所示 图中低温度系数晶振的振荡频率受温度的 影响很小用于产生固定频率的脉冲信号送给减法计数器 1 高温度系数晶振随温度 变化其震荡频率明显改变 所产生的信号作为减法计数器 2 的脉冲输入 图中还隐 含着计数门 当计数门打开时 DS18B20 就对低温度系数振荡器产生的时钟脉冲后 进行计数 进而完成温度测量 计数门的开启时间由高温度系数振荡器来决定 每 次测量前 首先将 55 所对应的基数分别置入减法计数器 1 和温度寄存器中 减 法计数器 1 和温度寄存器被预置在 55 所对应的一个基数值 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数 当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1 减法计数器 1 的预置将重新被装入 减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数 如此循环直到 减法计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器中的数值即 为所测温图 2 中的斜率累加器用于补偿和修正测温过程中的非线性其输出用 于修 正减法计数器的预置值 只要计数门仍未关闭就重复上述过程 直至温度寄存器值 达到被测温度值 这就是 DS18B20 的测温原理 第 10 页 共 26 页 另外 由于 DS18B20 单线通信功能是分时完成的 他有严格的时隙概念 因此 读写时 序很重要 系统对 DS18B20 的各种操作必须按协议进行 操作协议为 初始化 DS18B20 发复位脉冲 发 ROM 功能命令 发存储器操作命令 处理 数据 图 3 3 DS18B20 测温原理图 在正常测温情况下 DS1820 的测温分辨力为 0 5 可采用下述方法获得高分 辨率的温度测量结果 首先用 DS1820 提供的读暂存器指令 BEH 读出以 0 5 为 分辨率的温度测量结果 然后切去测量结果中的最低有效位 LSB 得到所测实际 温度的整数部分 Tz 然后再用 BEH 指令取计数器 1 的计数剩余值 Cs 和每度计数值 CD 考虑到 DS1820 测量温度的整数部分以 0 25 0 75 为进位界限的关系 实 际温度 Ts 可用下式计算 Ts Tz 0 25 CD Cs CD DS18B20的管脚排列 各种封装形式如图 4 2 所示 DQ 为数据输入 输出引 脚 开漏单总线接口引脚 当被用着在寄生电源下 也可以向器件提供电源 GND 为地信号 VDD为可选择的VDD引脚 当工作于寄生电源时 此引脚必须接地 其封 装如图3 4所示 图3 4 外部封装形式 第 11 页 共 26 页 2 2 3 DS18B20 使用中的注意事项 DS18B20 虽然具有测温系统简单 测温精度高 连接方便 占用口线少等优点 但在实际应用中也应注意以下几方面的问题 DS18B20 从测温结束到将温度值转换成数字量需要一定的转换时间 这是必须保 证的 不然会出现转换错误的现象 使温度输出总是显示85 在实际使用中发现 应使电源电压保持在5V 左右 若电源电压过低 会使所测 得的温度精度降低 较小的硬件开销需要相对复杂的软件进行补偿 由于DS1820与微处理器间采用串 行数据传送 因此 在对DS1820进行读写编程时 必须严格的保证读写时序 否 则将无法读取测温结果 在使用PL M C等高级语言进行系统程序设计时 对 DS1820操作部分最好采用汇编语言实现 在DS18B20的有关资料中均未提及单总线上所挂DS18B20 数量问题 容易使人误 认为可以挂任意多个DS18B20 在实际应用中并非如此 当单总线上所挂DS18B20 超过8 个时 就需要解决微处理器的总线驱动问题 这一点在进行多点测温系统 设计时要加以注意 在DS18B20测温程序设计中 向DS18B20 发出温度转换命令后 程序总要等待 DS18B20的返回信号 一旦某个DS18B20 接触不好或断线 当程序读该DS18B20 时 将没有返回信号 程序进入死循环 这一点在进行DS18B20硬件连接和软件 设计时也要给予一定的重视 2 3 显示和报警 在本设计中温度测量范围为0 125 测温分辨力为0 5 在这里我们 采用四位共阳数码管来完成相关的显示功能 报警器用蜂鸣器配合三极管来代替 2 3 1 数码管结构和原理 共阳数码管的内部结构如下图所示 公共端接高电平 数码管的各段显示由所给的电平控制 给低电平则该段的 LED 灯亮 高电平则不亮 用户根据需要给各引脚赋值达到数码管显示不同内容的 第 12 页 共 26 页 目的 四位共阳数码管的引脚图 封装值和内部结构如图 3 5 所示 6 8 9 12 脚为公共端 控制位选 1 2 3 4 5 7 10 11 为断选端 控制各个数码管显示引脚 图 3 5 四位共阳数码管 2 3 2 蜂鸣器结构和原理 压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器 压电蜂鸣片 阻抗匹配器 及共鸣箱 外壳等组成 有的压电式蜂鸣器外壳上还装有发光二极管 多谐振荡 器由晶体管或集成电路构成 当接通电源后 1 5 15V 直流工作电压 多谐振荡 器起振 输出 1 5 2 5kHZ 的音频信号 阻抗匹配器推动压电蜂鸣片发声 常用蜂 鸣器封装如图 3 6 所示 图 3 6 蜂鸣器 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成 在陶瓷片的两面镀上 银电极 经极化和老化处理后 再与黄铜片或不锈钢片粘在一起 电磁式蜂鸣器 电磁式蜂鸣器由振荡器 电磁线圈 磁铁 振动膜片及外壳 第 13 页 共 26 页 等组成 接通电源后 振荡器产生的音频信号电流通过电磁线圈 使电磁线圈产生磁 场 振动膜片在电磁线圈和磁铁的相互作用下 周期性地振动发声 3 硬件设计电路 控制器使用单片机AT89S52 温度计传感器使用DS18B20 用四位共阳数码管实现 温度显示 本温度计大体分三个工作过程 首先 由DS18820温度传感器芯片测量当前的 温度 并将结果送入单片机 然后 通过89C205I单片机芯片对送来的测量温度读 数进行计算和转换 最后将此结果送入数码管显示模块 3 1 主控制器 单片机AT89S52具有低电压供电和小体积等特点 两个端口刚好满足电路系统 的设计需要 很合适携手特式产品的使用 主机控制DS18B20完成温度转换必须经 过三个步骤 初始化 ROM操作指令 存储器操作指令 必须先启动DS18B20开始转 换 再读出温度转换值 下图为主控器电路 30pF C2 30pF C3 12 Y1 32uF C1 10K R3 K1 VCC EA VPP 31 XTAL1 19 XTAL2 18 RST 9 P3 7 RD 17 P3 6 WR 16 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 AD0 P0 0 39 AD1 P0 1 38 AD2 P0 2 37 AD3 P0 3 36 AD4 P0 4 35 AD5 P0 5 34 AD6 P0 6 33 AD7 P0 7 32 A8 P2 0 21 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28 PSEN 29 ALE PROG 30 TXD P3 1 11 RXD P3 0 10 GND 20 VCC 40 U1 AT89C52 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 1 2 J1 5v 1K R1 D1 VCC VCC VCC VCC 3 2 显示电路 显示电路采用四位共阳数码管显示 数码管用 PNP 型三极管驱动 PNP 三极管驱动电路 第 14 页 共 26 页 四位数码管显示电路 3 3 温度检测电路 DS18B20 最大的特点是单总线数据传输方式 DS18B20 的数据I O 均由同一条 线来完成 DS18B20 的电源供电方式有2 种 外部供电方式和寄生电源方式 工作 于寄生电源方式时 VDD 和GND 均接地 他在需要远程温度探测和空间受限的场合 特别有用 原理是当1 W ire 总线的信号线DQ 为高电平时 窃取信号能量给 DS18B20 供电 同时一部分能量给内部电容充电 当DQ为低电平时释放能量为 DS18B20 供电 但寄生电源方式需要强上拉电路 软件控制变得复杂 特别是在完 成温度转换和拷贝数据到E2PROM 时 同时芯片的性能也有所降低 因此 在条 件允许的场合 尽量采用外供电方式 在这里采用前者方式供电 DS18B20与芯片 连接电路如下图所示 第 15 页 共 26 页 3 4 温度报警电路 本设计采软件处理报警 利用有源蜂鸣器进行报警输出 采用直流供电 当所 测温度超过获低于所预设的温度时 数据口相应拉低电平 报警输出 报警电路硬 件连接如下图 1K R2 Q1 P3 3 VCC LS1 Bell 5 软件设计 整个系统的功能是由硬件电路配合软件来实现的 当硬件基本定型后 软件的功能 也就基本定下来了 从软件的功能不同可分为两大类 一是监控软件 主程序 它 是整个控制系统的核心 专门用来协调各执行模块和操作者的关系 二是执行软件 子程序 它是用来完成各种实质性的功能如测量 计算 显示 通讯等 每一个 执行软件也就是一个小的功能执行模块 这里将各执行模块一一列出 并为每一个执 第 16 页 共 26 页 行模块进行功能定义和接口定义 各执行模块规划好后 就可以规划监控程序了 首 先要根据系统的总体功能选择一种最合适的监控程序结构 然后根据实时性的要求 合理地安排监控软件和各执行模块之间地调度关系 5 1 主程序模块 主程序需要调用3个子程序 分别为数码管显示程序 温度测试及处理子程序 报警子程序 各模块程序功能如下 数码管显示程序 向数码的显示送数 控制系统的显示部分 温度测试及处理程序 对温度芯片送过来的数据进行处理 进行判断和显示 报警子程序 进行温度上下限判断及报警输出 主程序流程见图6 1 图 6 1 DS18B20初始化流程图 5 2 各模块流程设计 5 2 1 温度检测流程 DS18B20在单片机控制下分三个阶段 18B20 初始化 初始化 读18B20时序 读DS18B20时序 写18B20时序 写18B20时序 第 17 页 共 26 页 图 6 3读DS18B20时序流程图 图 6 4写DS18B20时序流程图 5 2 2 报警模块流程 流程见图6 5 第 18 页 共 26 页 图 6 5 报警模块子程序流程图 七 总结和体会七 总结和体会 本设计利用89S51 芯片控制温度传感器DS18B20 再辅之以部分外围电路实现 对环境温度的测控 性能稳定 精度教高 而且扩展性能很强大 由于DS18B20 支 持单总线协议 我们可以将多个DS18B20 可以并联到3 根或2 根线上 CPU 只需一 根端口线就能与诸多DS18B20 通信 占用较少的微处理器的端口就可以实现多点测 温监控系统 可以加入1302 时钟芯片实现对时间进行显示 加之AT24C16 存储芯 片来实现对时间和温度数据的记录 利用MAX232芯片和计算机实现串口通讯 这样 就可以方便的统计出特定时间内的需要的时间和温度数据 由于DS18B20的测量精 度只有 0 5 度 往往很多场合需要更加精确的温度 在所测温度精度不变的基础 上必须对数据进行校正 由于DS18B20 是基于带隙结构的数字式温度传感器 PN 结增量电压正比于IC 绝对温度 PTAT 它的测温精度较高 但存在着一定的误差 不 过 其误差在时间和外部环境变化的条件下 保持相当高的稳定性 针对这一特性 基于线性插补的数学思想 利用DSP技术 对其进行误差校正补偿 这种误差校正的补 偿方法 不需增加硬件电路 计算方法简单 软件费用也很小 既提高了测量精度 又 不需增加成本 它充分利用监控计算机的处理能力 在监控计算机上用线性插补的 数学方法对其进行误差校正补偿 能轻易地将其提高其精度 经过将近三周的单片机课程设计 终于完成了我的数字温度计的设计 虽然没 第 19 页 共 26 页 有完全达到设计要求 但从心底里说 还是高兴的 毕竟这次设计把实物都做了出 来 高兴之余不得不深思呀 从这次的课程设计中 我真真正正的意识到 在以后的学习中 要理论联系实 际 把我们所学的理论知识用到实际当中 学习单机片机更是如此 程序只有在经 常的写与读的过程中才能提高 这就是我在这次课程设计中的最大收获 致谢 参考文献 1 孙育才 单片微型计算机及其应用 东南大学出版社 2004 2 沈德金 陈粤初 单片机接口电路与应用程序实例 北京航天航空大学出版社 1990 3 潘新民 王燕芳 微型计算机控制技术 电子工业出版社2003 4 李广弟 单片机基础 北京 北京航空航天大学出版社 1994 5 阎石 数字电子技术基础 第三版 北京 高等教育出版社 1989 6 陈忠平 基于 Proteus 的 51 系列单片机设计与仿真 第二版 电子工业出版社 2012 7 郭天祥 51 单片机 C 语言教程 入门 提高 开发 拓展全攻略 电子工业出版社 2009 附录附录 1 原理图 第 20 页 共 26 页 2 PCB 效果图 2 参考程序 include unsigned char displaybit 0 xc0 0 xf9 0 xa4 0 xb0 第 21 页 共 26 页 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 unsigned char displaybit1 0 x40 0 x79 0 x24 0 x30 0 x19 0 x12 0 x02 0 x78 0 x00 0 x10 unsigned char code d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级离婚协议书模板:房产、股权与子女抚养协议
- 离婚后财产重新分配及子女成长费用承担合同
- 离婚协议书中关于共同子女抚养权转移协议书五
- 绿色建筑物业权益转让与节能减排合同
- 离婚协议中共同债务处理与子女抚养责任专题合同
- 智能建筑垃圾清运与环保科技研发合作协议
- 经典离婚协议范本:财产分割与子女抚养详细规定
- 离婚子女轮流抚养期间生活照料协议
- 2025年疼痛科疼痛评估与镇痛方案设计考核答案及解析
- 口语交际应对课件
- 2025年4月自考02204经济管理试题及答案
- 人教版(2024)八年级上册数学全册教案
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- GB/T 7324-2010通用锂基润滑脂
- 护理管理学第五章 人力资源管理
- TSG11-2020 锅炉安全技术规程
- 物业小区绿化服务程序
- 土地管理法(1986年版)
- 动物遗传学第十章遗传病的传递方式.ppt
- 延期缴纳税款申请报告申请延期缴纳税款报告2p.doc
- 高压燃气管道带压不停输封堵改管技术
评论
0/150
提交评论