于51单片机的温度自动控制系统设计研究_毕业设计论文(编辑修改稿)内容摘要:

DS18B20可以并联在唯一的三线上,实现组网多点测 温 ( 3) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 ( 4) 适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电 ( 5) 测 温范围- 55℃ ~+ 125℃ ,在 10~ +85℃ 时精度为 177。 ℃ ( 6) 可编程的分辨率为 9~ 12位,对应的可分辨温度分别为 ℃ 、℃ 、 ℃ 和 ℃ ,可实现高精度测温 ( 7) 在 9位分辨率时最多在 , 12位分辨率时最多在 750ms内把温度值转换为数字,速度更快 ( 8) 测量结果直接输出数字温度信号,以 一线总线 串行传送给CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力 DS18B20内部结构 DS18B20内部结构主要由四部分组成: 64位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH和 TL、配置寄存器。 图 23为 DS18B20的内部框图,它主要包括 寄生电源 、 温度传感器 、64位激光 ROM单线接口 、 存放中间数据的高速暂存器 (内含便笺式 RAM),河南理工大学万方科技学院毕业设计 8 用于存储用户设定的温度上下限值的 TH和 TL触发器存储与控制逻辑、 8位循环冗余校验码( CRC)发生器 等七部分 ,如图 23所示。 图 23 DS18B20内部结构框图 DS18B20测温原理 DS18B20的测温原理如图 24所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2的脉冲输入,图中还隐含着计数门,当计数门打开时, DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量 .计数门的开启时间由高温度系数 振荡器来决定,每次测量前,首先将 55 ℃所对应的基数分别置入减法计数器 1和温度寄存器中,减法计数器 1和温度寄存器被预置在 55 ℃ 所对应的一个基数值。 减法计数器 1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1的预置值减到 0时温度寄存器的值将加 1,减法计数器 1的预置将重新被装入 ,减法计数器 1重新开始对低温度系数晶振产生的脉冲信号 64 位 ROM 和 单 线 接 口 存储器与控制逻辑 高 速 缓 存 温度控制器 温度控制器 温度控制器 温度控制器 温度控制器 河南理工大学万方科技学院毕业设计 9 进行计数 ,如此循环直到减法计数器 2计数到 0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图 2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正 减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就 是 DS18B20的测温原理。 如图 24所示。 另外,由于 DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。 系统对 DS18B20的各种操作必须按协议进行。 操作协议为:初始化 DS18B20( 发复位脉冲 ) → 发 ROM功能命令 → 发存储器操作命令 → 处理数据。 图 24 DS18B20测温原理图 斜率累加器 比较 预置 温度寄存器 计数器 =0 预置 低温度系数振荡器 计数器 2 =0 高温度系数振荡器 Tx 停止 τ 1 τ 2 加 1 河南理工大学万方科技学院毕业设计 10 DS18B20工作时序 图 25为时序图中各总线状态。 图 25工作时序图 (1) 初始化 (时序图见图 26)。 图 26 初始化时序图 ① 先将数据线置高电平 1。 ② 延时(改时间要求不是很严格,但是要尽可能短一点)。 ③ 数据线拉到低电平 0. ④ 延时 750us(改时间范围可以在 480960us)。 ⑤ 数据线拉到高电平 1。 ⑥ 延时等待。 如果初始化成功则在 1560ms 内产生一个有 DS18B20 返回的低电平 0,据该状态可以确定它的存在。 但是应注意不能无 限的等待,不然会使程序进入死循环,所以要进行超时判断。 ⑦ 若 CPU 读到数据线上的低电平 0 后,还要进行延时,其延时的时间从发出高电平算起(第 5 步的时间算起)最少要 480us。 ⑧ 将数据线再次拉到高电平 1 后结束。 总线控制器低电平 DS18B20 低电平 总线控制器和 DS18B20 同为低电平 电阻上拉 河南理工大学万方科技学院毕业设计 11 (2) DS18B20 写数据 ① 数据线先置低电平 0。 ② 延时确定的时间为 15us。 ③ 按从低位到高位的顺序发送数据(一次只发送一位)。 ④ 延时时间为 45us。 ⑤ 将数据线拉到高电平 1。 ⑥ 重复① ⑤步骤,直到发送完整个字节。 ⑦ 最后将数据线拉到高电平 1。 (3) DS18B20 读数据 ① 将数据线拉到高电平 1。 ② 延时 2us。 ③ 将数据线拉低到 0。 ④ 延时 6us。 ⑤ 将数据线拉高到 1。 ⑥ 延时 4us。 ⑦ 读数据线的状态得到一个状态位,并进行数据处理。 ⑧ 延时 30us。 ⑨ 重复① ⑦步骤,直到读完一个字节。 硬件电路设计 测温电路 本设计采用 DS18B20温度传感器作为温度采集电路核心部件。 DS18B20是美国 DALLAS 半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可 直接将温度转化成串行数字信号供处理器 处 理。 河南理工大学万方科技学院毕业设计 12 目前常用的单片机与外设之间进行数据传输的串行总线主要有 I178。 C 总线以同步串行二线方式进行通信(一条时钟线,一条数据线), SPI总线则以同步串行三线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而 SCI 总线是以异步方式进行通信的(一条数据输入线,一条数据输出线)。 这些总线至少需要两条或两条以上的信号线,而 DS18B20使用的单总线技术与上述总线不同,它采用单条信号线, 既 可传输时钟,又可传输数据,而且数据传输是双向的,因而单总线技术具有线路简单,硬件开 销少,成本低廉,便于总线扩展和维护等优点。 单总线 适用于 单主机系统,能够控制一个或多个从机设备。 主机可以是微控制器,从机可以是单总线器件,他们之间的数据交换只通过一条信号线。 当只有一个从机设备时,系统可按单节点系统操作;当有从机设备时,系统则按多节点系统操作。 设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不 发送数据时能够释放出总线,而让其他设备使用总线。 单总线要求外接。 本设计系统的温度采集电路图如图 27所示 [3]。 图 27 测温电路 河南理工大学万方科技学院毕业设计 13 由图可以看出, DS18B20 和单片机的连接非常简单,单片机只需要一个 I/O 口就可以控制 DS18B20。 这个图的接法是单片机 与 一个 DS18B20 通信,如果要控制多个 DS18B20 进行温度采集,只要将所有的 DS18B20 的I/O 口全部连在一起就可以了。 在具体操作时,通过读取每个 DS18B20 内部芯片的序列号来识别。 本系统仅操作一个 DS18B20 进行温度采集。 显示电路 单片机应用系统中,通常都需要进行人机对话,这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。 LED 显示 电路由段驱动电路和位驱动电路组成。 由于单片机的并行口不能驱动 LED 显示器,必须采用专门的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。 如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。 LED 显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则 LED 驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位 的驱动能力 [4]。 数码管位选代码如图 28所示。 河南理工大学万方科技学院毕业设计 14 管脚数 显示 dp g f e d c b a 十六进制数 0 1 1 0 0 0 0 0 0 0C0H 1 1 1 1 1 1 0 0 1 0F9H 2 1 0 1 0 0 1 0 0 0A4H 3 1 0 1 1 0 0 0 0 0B0H 4 1 0 0 1 0 0 1 0 99H 5 1 0 0 1 0 0 1 0 92H 6 1 0 0 0 0 0 1 0 82H 7 1 1 1 1 1 0 0 0 0F8H 8 1 0 0 0 0 0 0 0 80H 9 1 0 0 1 0 0 0 0 90H 图 28 数码管位选代码 河南理工大学万方科技学院毕业设计 15 报警电路 当温度超过设定温度时,实现声光报警,蜂鸣器鸣叫、二极管闪烁。 蜂鸣器由单片机 P3~7口控制,用三极管驱动,电路如图 29所示 [5]。 图 29 报警电路 降温、加热电路 继电器是一种电子控制。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。