




已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录i 数字显示温度计设计毕业论文数字显示温度计设计毕业论文 目 录 一 绪论绪论 1 1 1 研究背景 1 1 2 研究现状 1 二二 总体设计方案总体设计方案 3 2 1 设计思路 3 2 2 总体设计框图 3 2 3 所用材料 4 三三 硬件设计硬件设计 5 3 1 单片机的选择 5 3 2 温度传感器的选择 9 3 3 温度检测电路 16 3 4 温度报警电路 17 3 5 复位电路 18 3 6 时钟电路 19 3 7 显示电路 20 3 8 主电路原理图 21 四四 软件设计软件设计 23 4 1 概述 23 4 2 主程序模块 23 4 3 各模块流程设计 24 4 4 报警模块流程 27 五五 仿真仿真 29 5 1 PROTEUS 介绍 29 5 2 ALTIUM DESIGNE介绍 30 六六 综合调试综合调试 33 目录ii 6 1 焊接 33 6 2 调试 33 七七 总结与体会总结与体会 35 致谢致谢 37 参考文献参考文献 39 附录附录 41 第一部分 绪论1 第一部分 绪论 1 1 研究背景 随着现代信息技术的飞速发展和传统工业改造的逐步实现 人们在生产过程 中会越来越关注精密而实用的仪器 能够独立工作的温度检测和显示系统应用于 诸多领域 其中数字温度计就是一个典型的例子 但人们对它的要求越来越高 要为现代人工作 科研 生活等提供更好更方便快捷的设施就需要从单片机技术 入手 一切向着数字化控制 智能化控制方向发展 目前温度计的发展很快 从原始的玻璃管温度计发展到了现在的热电阻温度 计 热电偶温度计 数字温度计 电子温度计等等 温度计中传感器是它的重要 组成部分 它的精度 灵敏度基本决定了温度计的精度 测量范围 控制范围和 用途等 传感器应用极其广泛 目前已经研制出多种新型传感器 传统的温度检测以热敏电阻为温度敏感元件 热敏电阻的成本低 但需后续 信号处理电路 而且可靠性相对较差 测温准确度低 检测系统也有一定的误差 本设计所介绍的数字温度计与传统的温度计相比 具有读数方便 测温范围广 测温精确 数字显示 适用范围宽等特点 主要用于对测温比较准确的场所或科 研实验室使用 可广泛用用于工业控温系统 温度计 消费产品以及其它温度测 控系统 目前 该产品已在温控系统中得到了广泛使用 因此本设计就尝试通过编程与芯片的结合来解决传统数字温度计的弊端 设 计出新型数字温度计 1 2 研究现状 温度传感器的发展现状 温度传感器使用范围广 数量多 居各种传感器之 首 其发展大致经历了以下 3 个阶段 1 传统的分立式温度传感器 含敏感元件 热电偶传感器 主要是能够进行 非电量和电量之间转换 数字显示温度计的设计2 2 模拟集成温度传感器 控制器 集成传感器是采用硅半导体集成工艺制成的 因此亦称硅传感器或单片集成温度传感器 3 智能温度传感器 它是微电子技术 计算机技术和自动测试技术 ATE 的 结晶 智能温度传感器内部包含温度传感器 A D 传感器 信号处理器 存储器 或寄存器 和接口电路 本设计课题的研究可以应用领域生产 生活等很多领域 对于家用电器从洗 衣机 微波炉到音响等等到处都可以用到温度控制器来方便大家的日常生活 开 发此产品后也可方便应用安装在小至家庭大到工厂车间 小至一个芯片大到一个 机械设备 例如在家庭客厅卧室等必要地方显示室温 可防止家里食物是否变质 及早采取措施 工业生产控制中用数字温度计可清晰显示温度来防止元气件失效 或损坏等不必要的非人为损失 对做好车间机器维修与保养起很重要的作用 第二章 总体设计方案3 第二部分 总体设计方案 2 1 设计思路 本设计是一个基于单片机 AT89S51 的数字温度计和温度传感器 DS18B20 的设 计 用来测量环境温度 测量范围为 0 120 显示分辨率为 0 1 误差 0 5 当温度高于 55 或低 35 于程序设定值时 报警电路就会发出报警 并且在 LCD 液晶屏第二行温度值的后面显示出高温超限或低温超限 整个设计系统主要包括硬件电路的设计和系统软件的设计 硬件电路主要包 括主控制器 测温电路和显示电路等 主控制器采用单片机 AT89C51 温度传感 器采用美国 DALLAS 半导体公司生产的 DS18B20 来实现环境温度的采集和 A D 转 换 同时因其输出为数字形式 且为串行输出 这就方便了单片机进行数据处理 但同时也对编程提出了更高的要求 单片机把采集到的温度进行相应的转换后 显示电路采用 LCD 液晶显示器以动态扫描法直读显示 系统程序主要包括主程序 读出温度子程序 写入温度子程序 报警子程序等 2 2 总体设计框图 本系统采用单片机作为微控制器 如图 2 2 1 分为 测温电路 显示电路 报警电路 复位电路 单片机用 AT89C51 温度传感器用 DS18B20 采用 12MHZ 晶振 电源采用 5V 该电路经过设计分析 绘图 仿真调试 制板 焊接等工作 后温度计成形 采用数字温度芯片DS18B20测量温度 输出信号全数字化 便于单片机处理 及控制 省去传统的测温方法的很多外围电路 且该芯片的物理化学性很稳定 它能用做工业测温元件 此元件线形较好 在0 100摄氏度时 最大线形偏差小 于1摄氏度 DS18B20的最大特点之一采用了单总线的数据传输 由数字温度计 DS18B20和微控制器AT89C51构成的温度测量装置 它直接输出温度的数字信号 可 直接与计算机连接 这样 测温系统的结构就比较简单 体积也不大 采用52单片 数字显示温度计的设计4 机控制 软件编程的自由度大 可通过编程实现各种各样的算术算法和逻辑控制 而且体积小 硬件实现简单 安装方便 图 2 2 1 总体设计框图 2 3 所用主要元器件 单片机 AT89S51 一个 温度传感器 DS18B20 一个 12MHz 晶振一个 LCD12864 个 蜂鸣器一个 电源一个 排阻一个 三极管一个 USB 一个 电阻电容及导线若干 第三章 硬件设计5 第三章 硬件设计硬件设计 3 1 单片机的选择 AT89S51 作为温度测试系统设计的核心器件 该器件是 INTEL 公司生产的 MCS 一 5l 系列单片机中的基础产品 采是一个低电压 高性能 CMOS 8 位单片机 片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存 取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令系统 片内置通用 8 位中央处理器和 Flash 存储单元 AT89S51 单片机在电子行业中有着广泛的应用 单片机小系统的电路图如图 3 1 1 所示 图 3 1 1 单片机小系统电路 数字显示温度计的设计6 3 1 1 AT89S51 单片机的主要特性 1 兼容 MCS 51 指令系统 4K 字节可编程闪烁存储器 2 8k 可反复擦写 大于 1000 次 Flash ROM 3 寿命为 1000 次写 擦周期 数据保留时间可 10 年以上 4 全静态工作模式 0Hz 33Hz 5 三级程序存储器锁定 6 128 8 位内部 RAM 32 可编程 I O 线 7 两个 16 位定时器 计数器 6 个中断源 8 全双工串行 UART 通道 低功耗的闲置和掉电模式 9 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 10 有 PDIP PQFP TQFP 及 PLCC 等几种封装形式 以适应不同产品的需求 3 1 2 引脚功能及管脚电压 AT89S51 为 8 位通用微处理器 采用工业标准的 C51 内核 在内部功能及管 脚排布上与通用的 8xS52 相同 其主要用于会聚调整时的功能控制 功能包括对 会聚主 IC 内部寄存器 数据 RAM 及外部接口等功能部件的初始化 会聚调整控 制 会聚测试图控制 红外遥控信号 IR 的接收解码及与主板 CPU 通信等 主要 管脚有 XTAL1 19 脚 和 XTAL2 18 脚 为振荡器输入输出端口 外接 12MHz 晶振 RST 9 脚 为复位输入端口 外接电阻电容组成的复位电路 VCC 40 脚 和 VSS 20 脚 为供电端口 分别接 5V 电源的正负端 P0 P3 为可编程通用 I O 脚 其功能用途由软件定义 在本设计中 P0 端口 32 39 脚 被定义为 N1 功能控制端口 分别与 N1 的相应功能管脚相连接 13 脚定义为 IR 输入端 10 脚和 11 脚定义为 I2C 总线控制端口 分别连接 N1 的 SDAS 18 脚 和 SCLS 19 脚 端口 12 脚 27 脚及 28 脚定义为握手信号功能端口 连接主板 CPU 的相应功能端 用于当前制式的检测及会聚调整状态进入的控制功能 如图 3 1 2 所示 第三不封 硬件设计7 图 3 1 2 PDIP 封装的 AT89C52 引脚图 1 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用口 作为 输出口用时 每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路 对端口 P0 写 1 时 可作为高阻抗输入端用 在访问外部数据存储器或程序存储器时 这组口线分时转换地址 低 8 位 和数据总线复用 在访问期间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而在程序校验时 输出指令字节 校 验时 要求外接上拉电阻 2 P1 口 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可驱动 吸 收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上拉电阻把端 口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某 个引脚被外部信号拉低时会输出一个电流 IIL 与 AT89C51 不同之处是 P1 0 和 P1 1 还可分别作为定时 计数器 2 的外部计 数输入 P1 0 T2 和输入 P1 1 T2EX 参见表 3 1 1 Flash 编程和程序校验期间 P1 接收低 8 位地址 表 3 1 1 P1 0 和 P1 1 的第二功能 引脚号功能特性 数字显示温度计的设计8 P1 0 T2 时钟输出 P1 1 T2EX 定时 计数器 2 3 P2 口 P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口 P2 写 1 通过内部的上拉电 阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电 阻 某个引脚被外部信号拉低时会输出一个电流 IIL 在访问外部程序存储器或 16 位地址的外部数据存储器 例如执行 MOVX DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址的外部数据存储器 如执 行 MOVX RI 指令 时 P2 口输出 P2 锁存器的内容 Flash 编程或校验时 P2 亦接收高位地址和一些控制信号 4 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们被内部上 拉电阻拉高并可作为输入端口 此时 被外部拉低的 P3 口将用上拉电阻输出电 流 IIL P3 口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号 5 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电平将使单 片机复位 6 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁存允许 输出脉冲用 于锁存地址的低 8 位字节 一般情况下 ALE 仍以时钟振荡频率的 1 6 输出固定 的脉冲信号 因此它可对外输出时钟或用于定时目的 要注意的是 每当访问外 部数据存储器时将跳过一个 ALE 脉冲 对 Flash 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此 外 该引脚会被微弱拉高 单片机执行外部程序时 应设置 ALE 禁止位无效 第三不封 硬件设计9 7 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89C52 由 外部程序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两 个脉冲 在此期间 当访问外部数据存储器 将跳过两次 PSEN 信号 8 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内 部会锁存 EA 端状态 如 EA 端为高电平 接 VCC 端 CPU 则执行内部程序存储器中的指令 Flash 存储器编程时 该引脚加上 12V 的编程允许电源 VPP 当然这必须是 该器件是使用 12V 编程电压 VPP 9 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端 10 XTAL2 振荡器反相放大器的输出端 3 2 温度传感器的选择 DS18B20温度传感器是美国DALLAS公司推出的一种改进型智能温度传感器 与传统的热敏电阻等测温元件相比 它能直接读出被测温度 并且具有耐磨耐碰 体积小 使用方便 封装形式多样等特点 适用于各种狭小空间设备数字测温和 控制领域 3 2 1 DS18B20的主要特性 1 适应电压范围更宽 电压范围 3 0 5 5V 在寄生电源方式下可由数据线 供电 数字显示温度计的设计10 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 负压特性 电源极性接反时 芯片不会因发热而烧毁 但不能正常工作 3 2 2 DS18B20的引脚结构 温度传感器DS18B20引脚如图3 2 1所示 图 3 2 1 DS18B20 引脚 引脚功能说明 1 NC 1 2 6 7 8 脚 空引脚 悬空不使用 2 VDD 3 脚 可选电源脚 电源电压范围 3 5 5V 当工作于寄生电源时 第三不封 硬件设计11 此引脚必须接地 3 DQ 4 脚 数据输入 输出脚 漏极开路 常态下高电平 4 GND 5 脚 为电源地 3 2 3 DS18B20 工作原理 图 3 2 2 DS18B20 内部结构图 DS18B20 的读写时序和测温原理与 DS1820 相同 只是得到的温度值的位数因 分辨率不同而不同 且温度转换时的延时时间由 2s 减为 750ms DS18B20 测温原 理如图 3 2 3 所示 图中低温度系数晶振的振荡频率受温度影响很小 用于产生 固定频率的脉冲信号送给计数器 1 高温度系数晶振 随温度变化其振荡率明显改 变 所产生的信号作为计数器 2 的脉冲输入 计数器 1 和温度寄存器被预置在 55 所对应的一个基数值 计数器 1 对低温度系数晶振产生的脉冲信号进行减 法计数 当计数器 1 的预置值减到 0 时 温度寄存器的值将加 1 计数器 1 的预 置将重新被装入 计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数 如此循环直到计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器 中的数值即 为所测温度 图 3 2 3 中的斜率累加器用于补偿和修正测温过程中 的非线性 其输出用于修正计数器 1 的预置值 数字显示温度计的设计12 图 3 2 3 DS18B20 测温原理框图 DS18B20 内部结构主要由四部分组成 64 位光刻 ROM 温度传感器 非挥发 的温度报警触发器 TH 和 TL 配置寄存器 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 为符号位 表 3 2 1 DS18B20 温度值格式表 这是 12 位转化后得到的 12 位数据 存储在 DS18B20 的两个 8 比特的 RAM 中 二进制中的前面 5 位是符号位 如果测得的温度大于 0 这 5 位为 0 只要将测 到的数值乘于 0 0625 即可得到实际温度 如果温度小于 0 这 5 位为 1 测到的 数值需要取反加 1 再乘于 0 0625 即可得到实际 温度 例如 125 的数字输出为 07D0H 25 0625 的数字输出为 0191H 25 0625 的数字输出为 FE6FH 55 的数字输出为 FC90H 第三不封 硬件设计13 表 3 2 2 DS18B20 温度数据表 温度数字输出 二进制 数字输入 十六进制 125 0000 0111 1101 000007D0H 850000 0101 0101 00000550H 25 0625 0000 0001 1001 00010191H 10 125 0000 0000 1010 001000A2H 0 5 0000 0000 0000 10000008H 0 0000 0000 0000 00000000H 0 5 1111 1111 1111 1000FFF8H 10 125 1111 1111 0101 1110FF5EH 25 0625 1111 1110 0110 1111FF6FH 55 1111 1100 1001 0000FC90H 3 DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高 速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM 后者存放高温度和低温度触发 器 TH TL 和结构寄存器 4 配置寄存器 该字节各位的意义如下 表 3 2 3 配置寄存器结构 TMR1R011111 低五位一直都是 1 TM 是测试模式位 用于设置 DS18B20 在工作模式还是在 测试模式 在 DS18B20 出厂时该位被设置为 0 用户不要去改动 R1 和 R0 用来 设置分辨率 如下表所示 DS18B20 出厂时被设置为 12 位 表 3 2 4 温度分辨率设置表 R1R0 分辨率温度最大转换时间 00 9 位 93 75ms 01 10 位 187 5ms 10 11 位 375ms 11 12 位 750ms 数字显示温度计的设计14 3 2 4 高速暂存存储器 高速暂存存储器由 9 个字节组成 其分配如表 3 2 5 所示 当温度转换命令 发布后 经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和 第 1 个字节 单片机可通过单线接口读到该数据 读取时低位在前 高位在后 数据格式如表 3 2 1 所示 对应的温度计算 当符号位 S 0 时 直接将二进制位 转换为十进制 当 S 1 时 先将补码变为原码 再计算十进制值 表 3 2 2 是对 应的一部分温度值 第九个字节是 冗余检验字节 表 3 2 5 DS18B20 暂存寄存器分布 寄存器内容字节地址 温度值低位 LS Byte 0 温度值高位 MS Byte 1 高温限值 TH 2 低温限值 TL 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校验值 8 根据 DS18B20 的通讯协议 主机 单片机 控制 DS18B20 完成温度转换必须 经过三个步骤 每一次读写之前都要对 DS18B20 进行 复位操作 复位成功后发 送一条 ROM 指令 最后发送 RAM 指令 这样才能对 DS18B20 进行预定的操作 复 位要求主 CPU 将数据线下拉 500 微秒 然后 释放 当 DS18B20 收到信号后等待 16 60 微秒左右 后发出 60 240 微秒的存在低脉冲 主 CPU 收到此信号表示复 位成功 第三不封 硬件设计15 表 3 2 6 ROM 指令表 指令约定代码功能 读 ROM 33H 读 DS1820 温度传感器 ROM 中的编码 即 64 位地址 符合 ROM 55H 发出此命令之后 接着发出 64 位 ROM 编码 访问单总线 上与该编码相对应的 DS1820 使之作出响应 为下一步对 该 DS1820 的读写作准备 搜索 ROM 0FOH 用于确定挂接在同一总线上 DS1820 的个数和识别 64ROM 地址 为操作各器件作好准备 跳过 ROM 0CCH 忽略 64 位 ROM 地址 直接向 DS1820 发温度变换命令 适 用于单片工作 告警搜索 命令 0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应 表 3 2 7 RAM 指令表 指令约定代码功能 温度变换 44H 启动 DS1820 进行温度转换 12 位转换时最长为 750ms 9 位为 93 75ms 结果存入内部 9 字节 RAM 中 读暂存器 0BEH 读内部 RAM 中 9 字节的内容 写暂存器 4EH 发出向内部 RAM 的 3 4 字节写上 下限温度数据命令 紧跟该命令之后 是传送两字节的数据 复制暂存 器 48H 将 RAM 中第 3 4 字节的内容复制到 EEPROM 中 重调 EEPROM 0B8H 将 EEPROM 中内容恢复到 RAM 中的第 3 4 字节 3 2 5 DS1820 使用中注意事项 DS1820 虽然具有测温系统简单 测温精度高 连接方便 占用口线少等优点 但在实际应用中也应注意以下几方面的问题 数字显示温度计的设计16 1 较小的硬件开销需要相对复杂的软件进行补偿 由于 DS1820 与微处理 器间采用串行数据传送 因此 在对 DS1820 进行读写编程时 必须严格的保证 读写时序 否则将无法读取测温结果 在使用 PL M C 等高级语言进行系统程序 设计时 对 DS1820 操作部分最好采用汇编语言实现 2 在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题 容 易使人误认为可以挂任意多个 DS1820 在实际应用中并非如此 当单总线上所 挂 DS1820 超过 8 个时 就需要解决微处理器的总线驱动问题 这一点在进行多 点测温系统设计时 要加以注意 3 连接 DS1820 的总线电缆是有长度限制的 试验中 当采用普通信号电 缆传输长度超过 50m 时 读取的 测温数据将发生错误 当将总线电缆改为双绞 线带屏蔽电缆时 正常通讯距离可达 150m 当采用每米绞合次数更多的双绞线带 屏蔽电缆时 正 常通讯距离进一步加长 这种情况主要是由总线分布电容使信 号波形产生畸变造成的 因此 在用 DS1820 进行长距离测温系统设计时要充分 考 虑总线分布电容和阻抗匹配问题 4 在 DS1820 测温程序设计中 向 DS1820 发出温度转换命令后 程序总 要等待 DS1820 的返回信号 一旦 某个 DS1820 接触不好或断线 当程序读该 DS1820 时 将没有返回信号 程序进入死循环 这一点在进行 DS1820 硬件连接 和软件设计时也要给予 一定的重视 测温电缆线建议采用屏蔽 4 芯双绞线 其 中一对线接地线与信号线 另一组接 VCC 和地线 屏蔽层在源端单点接地 3 3 温度检测电路 DS18B20 最大的特点是单总线数据传输方式 DS18B20 的数据 I O 均由同一 条线来完成 DS18B20 的电源供电方式有 2 种 外部供电方式和寄生电源方式 工作于寄生电源方式时 VDD 和 GND 均接地 他在需要远程温度探测和空间受限 的场合特别有用 原理是当 1Wire 总线的信号线 DQ 为高电平时 窃取信号能量 给 DS18B20 供电 同时一部分能量给内部电容充电 当 DQ 为低电平时释放能量 为 DS18B20 供电 但寄生电源方式需要强上拉电路 软件控制变得复杂 特别是 在完成温度转换和拷贝数据到 E2PROM 时 同时芯片的性能也有所降低 因此 第三不封 硬件设计17 在条件允许的场合 尽量采用外供电方式 无论是内部寄生电源还是外部供电 I O 口线要接 5K 左右的上拉电 在这里采用前者方式供电 DS18B20 与芯片连 接电路如图 3 3 1 所示 图 3 3 1 DS18B20 和单片机的接口连接 外部电源供电方式是DS18B20最佳的工作方式 工作稳定可靠 抗干扰能力 强 而且电路也比较简单 可以开发出稳定可靠的多点温度监控系统 在开发中 使用外部电源供电方式 毕竟比寄生电源方式只多接一根VCC引线 在外接电源 方式下 可以充分发挥DS18B20宽电源电压范围的优点 即使电源电压VCC降到 3V时 依然能够保证温度量精度 由于DS18B20只有一根数据线 因此它和主机 单片机 通信是需要串行通 信 而AT89S51有两个串行端口 所以可以不用软件来模拟实现 经过单线接口 访问DS18B20必须遵循如下协议 初始化 ROM操作命令 存储器操作命令和控 制操作 要使传感器工作 一切处理均严格按照时序 3 4 温度报警电路 本设计的发挥部分 是加入了报警 如果我们所设计的系统是监控某一设备 一当设备的温度超过我们所设定的温度值 35 55 时 系统会产生报警 报警时由单片机产生一定频率的脉冲 由 P2 7 引脚输出 P2 7 外接一只 PNP 的三极管来驱动杨声器发出声音 以便操作员来维护 从而达到报警的目的 如下图 3 4 1 所示 数字显示温度计的设计18 图 3 4 1 温度报警电路 3 5 复位电路 本系统中上电复位采用电平方式开关复位 如图 3 5 1 所示 上电复位用 RC 电路 电容用 10F 电阻用 10K 根据 DS18B20 的通讯协议 主机 单片机 控制 DS18B20 完成温度转换必须 经过三个步骤 每一次读写之前都要对 DS18B20 进行复位操作 复位成功后发送 一条 ROM 指令 最后发送 RAM 指令 这样才能对 DS18B20 进行预定的操作 复位 要求主 CPU 将数据线下拉 500 微秒 然后释放 当 DS18B20 收到信号后等待 16 60 微秒左右 后发出 60 240 微秒的存在低脉冲 主 CPU 收到此信号表示复 位成功 单片机复位是使 CPU 和系统中的其它功能部件都处在一个确定的初始状态 复位是单片机的初始化操作 其主要功能是把 PC 初始化为 0000H 使单片机从 0000H 单元开始执行程序 单片机复位的条件是 必须使 RST 引脚加上持续两个 机器周期的高电平 复位电路在接电瞬间 RESET 端的电位与 VCC 相同 随着充 电电流的减少 RESET 的电位逐渐下降 只要保证 RESET 为高电平的时间大于两 个机器周期 便能正常复位 复位后 PC 值为 0000H 表明复位后程序从 0000H 开 始执行 从第一个单元取指令 例如 若时钟频率为 12Mz 每机器周期为 1us 则只需 2us 以上的高电平 在 RST 引脚出现高电平后的第二个机器周期执行复位 第三不封 硬件设计19 单片机复位期间不产生 ALE 信号 即 ALE 1 表明单片机复位期间不会有任何取指 操作 本设计采用的是按键电平复位的方式 其电路如图 3 5 1 所示 这种方式 电路比较简单 且又避免了上电自动复位需要切断电源的缺点 图 3 5 1 复位电路 3 6 时钟电路 单片机的晶振频率低于 40MHZ 所用我们采用 12MHZ 加两个 30p 电容 如 图 3 6 1 所示 时钟电路用于产生单片机工作所需要的时钟信号 单片机本身就是一个复杂 的同步时序电路 为了保证同步工作方式的实现 电路应在唯一的时钟信号控制 下严格的按时序进行工作 一般的晶振振荡电路都是在一个反相放大器的两端接入晶振 再有两个电容 分别接到晶振的两端 另一端接地 这两个电容串联的容量值应该等于负载电容 在单片机内部有一个高增益反相放大器 其输入端为芯片引脚 XTAL1 输出端 为引脚 XTAL2 在芯片的外部通过这两个引脚跨接晶体震荡器和微调电容 形成 反馈电路 就构成一个稳定的自激震荡器 一般的晶振的负载电容为 20p 45p 之 间 考虑到元件引脚的等效输入电容 本设计采用两个 22p 的电容构成晶振的振 荡电路 设计电路中所使用的是 12MHz 的晶振 机器周期为 1us 具体的时钟电 路如图 3 6 1 所示 数字显示温度计的设计20 图 3 6 1 晶振电路 第三不封 硬件设计21 数字显示温度计的设计22 3 7 显示电路 温度的显示可以采用 LED 数码管来显示 LED 亮度高 醒目 但是电路复杂 占用资源多且信息量小 而采用液晶显示器有明显的优点 工作电流比 LED 小几 个数量级 故其功耗低 尺寸小 厚度约为 LED 的 1 3 字迹清晰 美观 寿命 长 使用方便 故本设计采用 LCD12864 来显示温度 3 7 1 LCD12864 引脚接口 LCD12864 采用标准的 20 脚接口 其中 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 V0 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源时对 比度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调 整对比度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存器 第 5 脚 RW 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址 当 RS 为低电平 RW 为高电平 时可以读忙信号 当 RS 为高电平 RW 为低电平时可以写入数据 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 17 脚 地址的传输端 第 18 脚 空引脚 第 19 脚 接高电平 5V 第 20 脚 接地引脚 3 7 2 LCD12864 和 AT89S51 连接 第三不封 硬件设计23 LCD12864 液晶显示模块可以和单片机 AT89S51 直接接口 电路如图 3 7 1 所示 图 3 7 1 LCD12864 和 AT89S51 连接 3 8 主电路原理图 数字显示温度计的设计24 图 3 5 1 主电路原理图 数字显示温度计的工作原理 基于 AT89S51 的温度测量系统电路图把温度转化成带符号的数字信号 以十 六位补码形式 占两个字节 若采用带屏蔽的双绞电缆线 连线的长度可以达 到 150m 输出脚 I 0 直接与单片机的 P3 4 相连 R1 为上拉电阻 传感器采用 外部电源供电 AT89S51 是整个系统的核心部分 内含 2 KB 的 FLASH ROM 用户 程序存放在这里 显示器模块由四位一体的共阳数码管和四个 9012 组成 系统 程序分传感器控制程序和显示器程序两部分 传感器控制程序是按照 DSl8B20 的 通信协议编制 系统的工作是在程序控制下 完成对传感器的读写和对温度的显 示 产品的主要技术指标 测量范围 0 125 测量精度 0 5 反应时 间小于等于 500ms 第四部分 软件设计25 第四部分 软件设计 4 1 概述 整个系统的功能是由硬件电路配合软件来实现的 当硬件基本定型后 软件 的功能也就基本定下来了 从软件的功能不同可分为两大类 一是监控软件 主 程序 它是整个控制系统的核心 专门用来协调各执行模块和操作者的关系 二是执行软件 子程序 它是用来完成各种实质性的功能如测量 计算 显示 通讯等 每一个执行软件是一个小的功能执行模块 这里将各执行模块一一列出 并为每一个执行模块进行功能定义和接口定义 各执行模块规划好后 就可以规 划监控程序了 首先要根据系统的总体功能选择一种最合适的监控程序结构 然 后根据实时性的要求 合理地安排监控软件和各执行模块之间地调度关系 4 2 主程序模块 主程序需要调用 4 个子程序 各模块程序功能如下 1 数码管显示程序 向数码的显示送数 控制系统的显示部分 2 温度测试及处理程序 对温度芯片送过来的数据进行处理 进行判断和显 示 3 报警子程序 进行温度上下限判断及报警输出 4 中断设定程序 实现设定上下限报警功能 主程序流程见图 4 2 1 4 3 各模块流程设计 下面对主要子程序的流程图做介绍 温度检测流程 DS18B20 在单片机控制下分三个阶段 数字显示温度计的设计26 1 DS18B20 初始化 4 4 报警模块流程 报警程序 读出温度值 C 清除报警标志位 C MAX C MAX 有参数报警吗 返回 置下限报警标志 置上限报警标志 报警装置运行 Y Y N Y N 图4 4 1 报警模块子程序流程图 第五部分 仿真27 第五部分 仿真 5 1 PROTEUS介绍 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件 该 软件中国总代理为广州风标电子技术有限公司 它不仅具有其它 EDA 工具软件 的仿真功能 还能仿真单片机及外围器件 它是目前最好的仿真单片机及外围器 件的工具 虽然目前国内推广刚起步 但已受到单片机爱好者 从事单片机教学 的教师 致力于单片机开发应用的科技工作者的青睐 Proteus 是世界上著名的 EDA 工具 仿真软件 从原理图布图 代码调试到单片机与外围电路协同仿真 一键切换到 PCB 设计 真正实现了从概念到产品的完整设计 是目前世界上唯一 将电路仿真软件 PCB 设计软件和虚拟模型仿真软件三合一的设计平台 其处理 器模型支持 8051 HC11 PIC10 12 16 18 24 30 DsPIC33 AVR ARM 8086 和 MSP430 等 2010 年即将增加 Cortex 和 DSP 系列处理器 并持续增加其他系列处 理器模型 在编译方面 它也支持 IAR Keil 和 MPLAB 等多种编译器 Proteus 软件具有其它 EDA 工具软件 例 multisim 的功能 这些功能是 1 原理布图 2 PCB 自动或人工布线 3 SPICE 电路仿真 革命性的特点 1 互动的电路仿真 用户甚至可以实时采用诸如 RAM ROM 键盘 马达 LED LCD AD DA 部 分 SPI 器件 部分 IIC 器件 2 仿真处理器及其外围电路 可以仿真 51 系列 AVR PIC ARM 等常用主流单片机 还可以直接在基于 原理图的虚拟原型 上编程 再配合显示及输出 能看到运行后输入输出的效果 配合系统配置的虚拟逻辑分析仪 示波器等 Proteus 建立了完备的电子设计开 发环境 数字显示温度计的设计28 5 2Altium Designer介绍 Altium Designer是 PORTEL 公司在 80 年代末推出的 EDA 软件 PORTEL 的 升级版本 在电子行业的 CAD 软件中 它当之无愧地排在众多 EDA 软件的前面 是电子设计者的首选软件 它较早就在国内开始使用 在国内的普及率也最高 有些高校的电子专业还专门开设了课程来学习它 几乎所有的电子公司都要用到 它 许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用 Altium Designe 早期的Altium Design主要作为印制板自动布线工具使用 运行在 DOS 环 境 对硬件的要求很低 在无硬盘 286 机的 1M 内存下就能运行 但它的功能也 较少 只有电原理图绘制与印制板设计功能 其印制板自动布线的布通率也低 而现今的 PROTEL 已发展到Altium Designe 网络上可下载到它的测试板 是个庞大的 EDA 软件 完全安装有 200 多 M 它工作在 WINDOWS95 环境下 是个 完整的板级全方位电子设计系统 它包含了电路原理图绘制 模拟电路与数字电 路混合信号仿真 多层印制电路板设计 包含印制电路板自动布线 可编程逻 辑器件设计 图表生成 电子表格生成 支持宏操作等功能 并具有 Client Server 客户 服务器 体系结构 同时还兼容一些其它设计软件的文 件格式 如 ORCAD PSPICE EXCEL 等 其多层印制线路板的自动布线可实现高 密度 PCB 的 100 布通率 在国内 PROTEL 软件较易买到 有关 PROTEL 软件和使 用说明的书也有很多 这为它的普及提供了基础 Altium Designe共分 5 个模块 分别是原理图设计 PCB 设计 包含信号 完整性分析 自动布线器 原理图混合信号仿真 PLD 设计 以下介绍一些 Altium Design的部分最新功能 1 可生成 30 多种格式的电气连接网络表 2 强大的全局编辑功能 3 在原理图中选择一级器件 PCB 中同样的器件也将被选中 4 同时运行原理图和 PCB 在打开的原理图和 PCB 图间允许双向交叉查找 元器件 引脚 网络 第五部分 仿真29 5 既可以进行正向注释元器件标号 由原理图到 PCB 也可以进行反向 注释 由 PCB 到原理图 以保持电气原理图和 PCB 在设计上的一致性 6 满足国际化设计要求 包括国标标题栏输出 GB4728 国标库 方 便易用的数模混合仿真 兼容 SPICE 3f5 7 支持用 CUPL 语言和原理图设计 PLD 生成标准的 JED 下载文件 PCB 可设计 32 个信号层 16 个电源 地层和 16 个机加工层 8 可以输入和输出 DXF DWG 格式文件 实现和 AutoCA 等软件的数据交 换 9 强大的 规则驱动 设计环境 符合在线的和批处理的设计规则检查 第六部分 综合调试31 第六部分 综合调试综合调试 6 1 焊接 6 1 1 焊接要求 1 电阻 二极管 发光二极管除外 均采用水平安装 紧贴印刷版 2 电解电容等尽量插到底 元件底面离印刷版最高不能大于 4 毫米 3 插件装配要美观 均匀 端正 整齐 不能歪斜 高矮要有序 4 所焊出来的焊点要求圆滑 光亮 防止虚焊 搭焊和散锡 5 布局合理 疏密适当 6 用比较好的助焊剂 6 1 2 焊接方法 1 右手持电烙铁 左手用尖嘴钳或镊子夹持元件或导线 焊接前 电烙 铁要充分预热 烙铁头刃面上要吃锡 即带上一定量焊锡 2 将烙铁头刃面紧贴在焊点处 电烙铁与水平面大约成 60 角 以便于 熔化的锡从烙铁头上流到焊点上 烙铁头在焊点处停留的时间控制在 2 3 秒钟 3 抬开烙铁头 左手仍持元件不动 待焊点处的锡冷却凝固后 才可松 开左手 4 用镊子转动引线 确认不松动 然后可用偏口钳剪去多余的引线 5 焊接时先用焊锡把导线接一下 一遍有毛刺 有放电现象 6 2 调试 对于整个系统的调试是将温度传感器置于被监测温度处 接通系统电源 系 统开始运行 随着温度的不断上升 显示温度不断变化 离开被监测温度处 显 示温度不断下降 当温度大于 27 或小于 24 时 蜂鸣器就会发出报警信号 数字显示温度计的设计32 再将显示温度同时间温度进行多次计算比较 结果显示温度同实际温度间的误差 小于 0 1 满足系统设计要求 以上过程通过多次反复检测系统均运行正常 稳定 系统基本上完全实现了预定的功能 系统需要的改进方向 1 停电正常工作 系统能在断电时正常工作 使用将更加方便 2 在外界干扰出错后能自动恢复正常 在外界干扰出错后能自动恢复正常 就不必要手动复位 3 电路元器件占空间较大 对于有的场合不适用 将各种繁杂的电路元器件集成化 便于在小型温控地方携带与安装 第七部分 总结与体会33 第七部分 总结与体会 作为一名信息技术方面的大二学生 通过这半年的时间在对本课题的设计过 程中 深深地体会到 工欲善其事 必先利其器 的道理 生活中无论做什么事 都应该事前有充分的准备 做到心中有数 才能更好的完成任务 在做这次比赛设计的过程中 我感触最深的当属查阅大量的设计资料 为了 让自己的设计更加完善 查阅这方面的实际资料是十分必要的 也是必不可少的 其次 在这次课程设计中 全面实践一个基于单片机的应用系统的开发过程 我 们运用了以前学过的专业课知识 如 proteus仿真 C语言 单片机知识等是一 个综合性很高的实践 一些以前没有学得很杂实的课程的内容 由于需要在实践 中运用 刚开始也感到很头痛 但回过头再去看有关的资料和书籍 经过一段时 间的钻研 对与这些知识点的相关的背景 概念和解决方案理解得更透彻了 学 习起来也越来越有兴趣 越来越轻松 另外还充分体会了从事单片机开发工作需要特别严谨认真的态度和作风 一 点都马虎不得 每一个细微的细节都必须十分的注意 如果不认真思考决策 就 会出现或大或小的错误 如果早期的错误隐藏下来 对后面的工作影响就会很大 甚至有时要推倒很多前面做的工作重来 要做好一个比赛的设计 就必须做到 在设计程序之前 对所用单片机的内部结构有一个系统的了解 知道该单片机有 哪些资源 要有一个清晰的思路和一个完整的软件流程图 在设计程序时 不能 妄想一次将整个程序设计好 反复修改 不断改进是程序设计的必经之路 要养 成注释程序的好习惯 这样为资料的保留和交流提供了方便 在设计中遇到的问 题要记录 以免下次遇到同样的问题 经过不断的学习和反复的实践 辛勤努力有了回报 终于做出了一个简单的 系统 虽然这个系统的功能非常的简单 而且在实际的运用中 也许还有些不足 从这次的设计中 我真真正正的意识到 在以后的学习中 要理论联系实际 把 我们所学的理论知识用到实际当中 学习单片机更应该这样 程序只有在经常地 写与读的过程中才能提高 这就是我在这次设计中的最大收获 我们学习了那么 多的东西从来未用过感到有点失望 但现在用的时候却不知道从何入手 参考文献35 致谢 在本系统的设计过程和论文编写过程中 很多老师 同学和朋友给予了我许 多无私的帮助 尤其是我的指导老师协会会长柴雪强给我的设计和论文提出了很 多宝贵的修改意见 在这里 我向这些无私帮助我的人表示衷心的感谢和良好的 祝愿 通过这次比赛设计 受益匪浅 这主要得益于认真负责的工作态度 严谨活 泼的治学精神和深厚专业的理论水平 在撰写论文之前 自己对论文的基本要求 理解不是很充分 在老师
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年环保行业绿色技术应用前景研究报告
- 2025年医疗美容行业数字化整形技术创新与市场前景研究报告
- 2025年智慧物流行业技术创新与发展前景研究报告
- 商场员工用电安全培训课件
- 2025年生物科技行业创新药物研发与市场前景分析报告
- 2025年生物科技行业CRISPR基因编辑技术应用前景报告
- 宜宾市2025上半年四川宜宾市长宁县事业单位考核招聘18人笔试历年参考题库附带答案详解
- 门面转让三方协议5篇
- 南京市2025江苏省教育考试院招聘工作人员2人笔试历年参考题库附带答案详解
- 2025辽宁能源控股集团所属能源投资集团招聘2人笔试参考题库附带答案详解
- DB11T 065-2022 电气防火检测技术规范
- 人教版八年级历史上册第一次月考试题(附答案)第一单元
- 基本不等式课件-高三数学一轮复习
- DL∕T 2568-2022 电力行业数字化审计平台功能构件与技术要求
- 部编人教版《道德与法治》六年级上册第9课《知法守法 依法维权》精美课件(第1课时)
- 消防喷淋系统设计合同范本
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 2024年四川省广安市中考数学试题(含答案逐题解析)
- 山西省太原三十七中2023-2024学年九年级上学期月考物理试卷(10月份)
- (幻灯片)世界各国国旗大全中文
- 物流地产发展前景分析
评论
0/150
提交评论