温度控制器课程设计书(共25页).doc
《温度控制器课程设计书(共25页).doc》由会员分享,可在线阅读,更多相关《温度控制器课程设计书(共25页).doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录1 前言社会在发展,科技在进步,测温仪器在各个领域的应用,各种温度控制系统迅速发展。近年来,温度控制系统已广泛应用各个方面,然而温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。 温度是一个重要的物理量,它反映了物体的冷热程度,与自然界中的各种物理与化学过程相联系,再生产过程中,各个环节都与温度有紧密联系,因此人们非常重视温度的测量。温度概念的产生及温度的测量都是以热平衡为基础,当两个冷热程度不同的物体接触后就会产生导热,换热,换热结束后两物体处于平衡状态,因此他们具有最本质的
2、性质。 温度控制系统对温度进行检测和控制,任何工厂在生产过程中如果没有合适的温度环境,很多的器件甚至是电子设备都不能正常的工作,从而多生产的产品质量有很大的影响,所以各行各业对温度的要求的愈来愈高,所以,温度控制系统的作用非常重要。温度控制系统的控制系统是温度,在我们日常生活中,温度控制使非常重要的,在温室、水池、电源等场所不能对温度有效的控制,则会出现很多事故,所以为了避免此类事故的发生,温度控制应当受到重视。 本设计不仅实现了对温度的检测,还实现了温度控制、显示功能,当温度大于设定的温度时,报警器报警;当温度小于设定的值时,报警器不报警,从而实现对温度的控制,并且还可以实现按键复位功能。2
3、 总体方案方案一 温度测量的设计,可以采用热敏温度传感器等对温度进行测量,在将被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示液晶显示屏上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。运用这种方案时模拟信号在传输过程中存在损耗并且容易受到外界的干扰,导致测量温度不准确。A/D转换温度检测变送器图2.1温度检测流程图方案二 使用温度传感器DS18B20直接对温度进行检测和转换,在结合89C52单片机与1602液晶显示器就能对温度进行显示。 比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中
4、拟采用方案二。 本设计方框图如图1.1所示,它由四部分组成:控制部分主芯片采用单片机89C52;显示部分采用LCD1602液晶显示器实现温度显示;温度采集部分采用DS18B20温度传感器。报警装置LCD1602液晶显示DS18B20 89C52单片机 报警装置 图2.2 温度控制电路总体设计方案 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,完成对温度信号的采集和转换工作,数字温度传感器DS18B20把采集到的温度通过P1.7引脚传到单片机,单片机接受温度并存储并通过P0口连接LCD160数字液晶显示器显示。通过P1.0口接报警装置,实现报警功能。 3
5、 单元模块设计3.1 DS18B20温度检测电路 图3.1温度检测电路温度检测电路采用智能温度传感器DS18B20,它与单片机相连只需要3线,减少了外部的硬件电路。DS18B20主要性能特点如下:(1)测温的范围为55125,最大分辨率可以达到0.0625;(2)电源电压范围为3.05.5V;(3)供电模式:寄生供电和外部供电;(4)封装形式有两种:3脚的TO-92封装和8脚的SOIC封装;(5)可编程的温度转换分辨率,分辨率为912位(包括1位符号位),由配置寄存器决定具体位数,配置寄存器的格式如表3-1所示。 表3-1 配置寄存器格式TMR1R011111其中R1 R0是用来设定分辨率的,
6、分辨率的定义如表3-2所示。 表3-2 DS18B20分辨率的定义R1R0分辨率/位温度最大转换时间/ms00993.750110187.510113751112750由表3-2可以看出,分辨率设定得越高,温度转换所需要的时间就越长,因此应根据实际应用的需要来选择合适的分辨率。本文中选取12位分辨率,每隔1秒检测一次温度。 3.2单片机电路 单片机电路如图3.2所示, 图3.2单片机电路 AT89C52是一款超强抗干扰/高速/低功耗的单片机,AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储
7、器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。3.3显示电路 显示模块采用的是LCD160
8、2液晶显示如图3.3。单片机微控制器通过对当前温度传感器进行读取获得当前温度值,通过一定的运算后经LCD1602液晶显示屏显示出来。芯片的工作电压是4.55.5V,能显示两行,每行显示16个字符。除电压、背光引脚及8个I/O引脚外,主要的控制引脚还有数据/命令选择RS引脚,该引脚为高电平时表示I/O引脚出现的是数据,该引脚为低电平时表示I/O引脚出现的是命令;读/写选择引脚及使能引脚E(该引脚为高电平时对LCD1602的操作才有效)。 图3.3 LCD1602液晶显示3.4报警电路 报警电路采用蜂鸣器作为发生装置,当温度高于设定的上限值时,蜂鸣器发出报警声作为提醒,蜂鸣器会一直发出声音直到温度
9、低于设定上限值。3.5 DS18B20温度传感器简介3.5.1 温度的采集和转换DS18B20的测温原理如图3.4所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低
10、温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜坡式累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。预置斜坡累加器比较低温度系数振荡器计数器预置 =0温度寄存器高温度系数振荡器计数器=0 图3.4 温度测量电路 DS18B20接收到温度转换命令后,开始启动转换。转换完成后的
11、温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。 当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值,表3-3是一部分温度值对应的二进制温度数据。表3-3 温度与数据的关系温度/数据输出(二进制)数据输出(十六进制)+125 00FA +25 0032 +1/2 0001 0 0000 -1/2 FFFF -25 FFCE -55 FF92 3.5.2 DS18B20的
12、工作原理DS18B20的共做时序 (1)初始化时序 图 3.5 初始化时序图 总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。接着主机释放总线,上拉电阻将总线拉高,延时1560us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us。 ( 2 ) 写时序 图3.6 写时序图 当主机把数据线从逻辑高电平拉到低电平的时候,写时序开始。有两种情况,写1时间间隙和写0时间间隙,所以写时间间隙最少持续60us,包括两个写周期至少1us的恢复时间,I/O线电平变低后,D
13、S18B20在一个5us到60us的窗口内对I/O线采样,如果线上时高电平,就是写1,如果线上是低电平,就是写0。(3) 读时序 图3.7 读时序图 总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要60us。当主机把高电平拉到低电平时写时间开始,在2次独立的读时序之间至少需要1us的恢复时间。每个时序都由主机发起,至少拉低总线1us。主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线状态。主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us。
14、DS18B20温度流程初始化DS18B20跳过ROM匹配温度变换延时1s转换成显示码读暂存器跳过ROM匹配数码管显示 图3.8 DS18B20温度流程图 ROM操作命令表3-4 ROM操作命令指令约定代码功能读ROM33H读DS18B20ROM中的编码符合ROM55H发出此命令之后,接着发出64位ROM编码,访问单线总线与改变码相对应得DS18B20使之做出响应,为下一步对该DS18B20的读写做准备搜索ROM0F0H读ROM跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度变换命令,适用于单片工作告警搜索ROM0ECH执行后,只有温度超过设定值上限或者下限的片子才做出响应温度
15、变换44H启动DS18B20进行温度转换,转换时间最长为500MS,结果存入内部9字节RAM中读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3,4字节写上、下限温度数据命令,紧跟读命令之后,是传送两字节的数据复制暂存器48H将E2PRAM中第3,4字节内容复制到E2PRAM中重调E2PRAM0BBH将E2PRAM中内容恢复到RAM中的第3,4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”4 软件设计高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时不必仔细了解所用的
16、计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流,而MCS52指令系统的指令长度较短,它在存储空间和执行时间方面具有较高的效率,编成的程序占用内存单元少,执行也非常的快捷,与本系统的应用要求很适合。而且MCS52指令系统有丰富的位操作(或称位处理)指令,可以形成一个相当完整的位操作指令子集,这是MCS52指令系统主要的优点之一。对于要求反应灵敏与控制及时的工控、检测等实时控制系统以及要求体积小、系统小的许多“电脑化”产品,可以充分体现出汇编语言简明、整齐、执行时间短和易于使用的特点。图4.1系统总流程图系统
17、程序主要有主程序和LCD1602初始化子程序及读写时序程序、DS18B20复位及读写时序子程序温度数字处理子程。4.1 系统调试读出温度子程序 图4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。 DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位。4.2 系统调试写入子程序 图4.3写入子程序流程图5 系统调试 硬件调试是对温度显示器LCD1602进行调试,温度显示器通电后不显示温度,使用示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 控制器 课程设计 25
限制150内