基于单片机水温控制器的设计毕业设计(编辑修改稿)内容摘要:

如图 36所示。 图 36 DS18B20 的读时序 ③ DS18B20的写时序 对于 DS18B20的写时序仍然分为写 0时序和写 1时序两个过程。 对于 DS18B20写 0时序和写 1时序的要求不同,当要写 0时序时,单总线要被拉低至少 60us,保证 DS18B20能够在 15us到 45us之间能够正确地采样 IO总线上的 “ 0” 电平,当要写 1时序时,单总线被拉低之后,在 15us之内就得释放单总线。 如图 37所示。 图 37 DS18B20 的写时序图 ( 3) DS18B20的供电方式 基于单片机水温控制器的设计毕业设计 10 在图 38中示出了 DS18B20的寄生电源电路。 当 DQ或 VDD引脚为高电平时,这个电路便 “ 取 ” 的电源。 寄生电路的优点是双重的 , 远程温度控制监测无需本地电源 , 缺少正常电源条件下也可以读 ROM。 为了使 DS18B20能完成准确的温度变换,当温度变换发生时, DQ线上必须提供足够的功率。 有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。 第一种方法是发生温度变换时,在 DQ 线上提供一强的上拉,这期间单总线上不能有其它的动作发生。 如图 38 所示,通过使用一个 MOSFET 把 DQ 线直接接到电源可实现这一点,这时 DS18B20 工作在寄生电源工作方式,在该方式下 VDD 引脚必须连接到地。 图 38 DS18B20 供电方 式 1 另一种方法是 DS18B20 工作在外部电源工作方式,如图 39 所示。 这种方法的优点是在 DQ 线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。 此外,在单总线上可以并联多个 DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。 图 39 DS18B20 供电方式 2 ( 4) DS18B20 设计中应注意的几个问题 DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点 , 但在实际应用中也应注意以下几方面的问题 : 较小的硬件开销需要相对复杂的软件进行补偿 , 由于 DS18B20 与微处理器间采用串行数据传送。 因此 , 在对 DS18B20 进行读写编程时 , 必须严格的保证读写时序 , 否则将无法读取测温结果。 在 DS18B20 有关资料中均未提及 1Wire上所挂 DS18B20数量问题 , 容易使人误认为可以挂任意多个 DS18B20,基于单片机水温控制器的设计毕业设计 11 在实际应用中并非如此。 当 1Wire上所挂 DS18B20超过 8个时 , 就需要考虑微处理器的总线驱动问题 , 这一 点在进行多点测温系统设计时要加以注意。 连接 DS18B20的总线电缆是有长度限制的。 实际应用中 , 测温电缆线建议采用屏蔽 4芯双绞线 , 其中一对线接地线与信号线 , 另一组接 VCC 和地线 , 屏蔽层在源端单点接地。 本文以广泛应用的数字温度传感器 DS18B20为例 , 说明了 1Wire总线的操作过程和基本原理。 事实上 , 基于 1Wire总线的产品还有很多种 , 如 1Wire总线的 E2PROM、实时时钟、电子标签等。 他们都具有节省 I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点 , 因此有广阔的应用空间 , 具有较大的推广价值。 本设计将温度传感器 DS18B20与单片机 TXD引脚相连,读取温度传感器的数值。 DS18B20与单片机连接图如图所示 310所示。 V C CE A /V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E /P30T X D11R X D10U2A T 8 9S 5 2DQ2GND1VCC3U3D S 18 2 0V C CR 15 K 图 310 DS18B20 与单片机连接图 电源电路 采用 L7805稳压块,输出为 5V。 电子组件要正常运作都需要电源电压供电,一般常用的电源电压为 +5V或 +12V,因为数字 IC ( Ingegrated Circuit:集成电路)所供给的电压为 +5V, 而 CMOS IC所供给的电压为 +12V, 7805是一个稳压块。 7805稳压管把高电压转换到低电压, 7805稳压管具有保 护单片机的作用。 L7805输出端要并联上一个电解电容,滤除交流电干扰 ,防止损坏单片机系统。 本设计采用 两种供电方式, 一种为 DC7~18V直流稳压电源变换成 5V的直流电;另一种为 四节干电池 共 6V经二极管加压后得到将近基于单片机水温控制器的设计毕业设计 12 5V的直流电源 , 电源 配以开关和指示灯,以方便使用。 黄色发光二极管表示保温,红色的表示加热状态。 V C CD2I N 4 00 71122J22PGND2+ V C C 12 V1GND3J1电源座+ V C C 12 VD1I N 4 00 7IN1GND2OUT3U1L 78 0 5( 大 )12+ C122 0 U FV C CR11K1 2D3LED 图 311 系统电源设计图 报警电路设计 同时可以在系统里设定温度上限值, 由于加热停止后,加热管还有余热 当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。 报警电路原理图如图所示。 VC CR 1 94 .7 KE1C3B2Q48 5 5 0FM 1B E L LP 2 .7 图 312 报警电路 图 图中的三极管 8550的作用是增加驱动能力,比 9012的驱动电流还大些,因此选用8550。 当程序进入报警子程序时,把 0,就会触发蜂鸣器, 为了使报警声音效果更好,对 , 发出报警 嘟噜 声音。 加热管控制 电路设计 继电器是常用的输出控制接口,可以做交直流信号的输出切换。 它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种 “ 自动开关 ”。 故在电路中起着自动调 节、安全保护、转换电路等作用。 继电器控制接点操作说明如下: 基于单片机水温控制器的设计毕业设计 13 ● COM: Common,共同点。 输出控制接点的共同接点。 ● NC: Normal Close常闭点。 以 Com为共同点, NC与 COM在平时是呈导通状态的。 ● NO: Normal Open常开点。 NO与 COM在平时是呈开路状态的,当继电器动作时,NO与 COM导通, NC与 COM则呈开路状态。 当 89S52的 ,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。 图 313 单片机控制继电器电路 图 基于单片机水温控制器的设计毕业设计 14 4 系统 软件 设计 本系统采用的是循环查询方式,来显示和控制温度的。 主要包括 四 段程序的设计:DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及 抱经处理 程序。 主程序 流程图 自 动 加 热。 设 置 温 度。 NYNY温 度 ‘ + ’ 温 度 ‘ ’ 设 置 完 成。 N NY Y N加 热控 制开 始初 始 化读 D 1 8 B 2 0温 度 转 换显 示 温 度加 热 温 度 设 置 8 0 ℃预 设 温 度 + 5 预 设 温 度 5Y基于单片机水温控制器的设计毕业设计 15 实 测 温 度 = 预 设 温 度 保 温 指 示 灯 亮 , 停 止 加 热 加 热 指 示 灯 亮 , 开 始 加 热设 置 温 度。 温 度 ‘ + ’预 设 温 度 加 5 温 度 ‘ ’预 设 温 度 减 5设 置 完 成。 加 热控 制实 测 温 度 预 设 温 度加 热控 制读 1 8 B 2 0温 度 转 换显 示 温 度实 测 温 度 = 预 设 温 度 加 热 指 示 灯 亮 , 开 始 加 热实 测 温 度 预 设 温 度保 温 指 示 灯 亮 , 停 止 加 热YYYNNYYNNNNNYY图 41 主程序流程 图基于单片机水温控制器的设计毕业设计 16 各个模块的流程图 读取温度 DS18B20 模块的流程 由于 DS18B20采用的是一根数据线实现数据的双向传输,而对 AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们 必须采用软件的方法来模拟单总线的协议时序来完成对 DS18B20芯片的访问。 DS18B20单线通信功能是分时完成的,它有严格的时隙概念。 因此系统对 DS18B20的各种操作必须按协议进行。 操作协议为:初始化 DS18B20(发复位脉冲) → 发 ROM功能命令 → 发存储器操作命令 → 处理数据 DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点, DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为 12位转换,则应该是最大 750mS,另外在对 DS18B20超作时,时序要 求非常严格,因此最好禁止系统中断。 由于 DS18B20是在一根 I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。 DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。 该协议定义了几种信号的时序:初始化时序、读时序、写时序。 所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。 数据和命令的传输都是低位在先。 DS18B20的读时序: ( 1)对于 DS18B20的读时序分为读 0时序和读 1时 序两个过程。 ( 2)对于 DS18B20的读时隙是从主机把单总线拉低之后,在 15秒之内就得释放单总线 ,以让 DS18B20把数据传输到单总线上。 DS18B20在完成一个读时序过程,至少需要60us才能完成。 DS18B20的写时序 : ( 1)对于 DS18B20的写时序仍然分为写 0时序和写 1时序两个过程。 ( 2)对于 DS18B20写 0时序和写 1时序的要求不同,当要写 0时序时,单总线要被拉低至少 60us,保证 DS18B20能够在 15us到 45us之间能够正确地采样 IO总线上的 “ 0” 电平,当要写 1时序时,单总线被拉低之后,在 15us之内就得释放单总线。 系统程序设。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。