智能温度控制系统

上传人:仙*** 文档编号:91029854 上传时间:2022-05-16 格式:DOC 页数:14 大小:74KB
收藏 版权申诉 举报 下载
智能温度控制系统_第1页
第1页 / 共14页
智能温度控制系统_第2页
第2页 / 共14页
智能温度控制系统_第3页
第3页 / 共14页
资源描述:

《智能温度控制系统》由会员分享,可在线阅读,更多相关《智能温度控制系统(14页珍藏版)》请在装配图网上搜索。

1、. .智能温度控制系统【摘要】智能温度控制系统是利用温度传感器DS18B20采集温度,用LED数码管显示采集的温度和设定的温度,通过比照采集的温度和与设定温度来控制继电器工作,从而实现加热或降温。采用简易键盘设定温度值,当实际温度值大于等于设定温度值时,蜂鸣器报警。1. 引 言此温度控制器不仅可以用来控制水温,还可以改造成测室温或CPU的温度,并到达控制的目的。此系统测量精度高,电路简单,改变程序就可以升级温度控制器。它可用于测热带鱼鱼缸的水温,并控制它到达热带鱼苛刻的生存环境。2方案论证智能温度控制器主要的是温度的采集和温度的控制两局部。温度的采集要用到温度传感器,现在的市场上的温度传感器很

2、多,主要有热电阻,热电偶,半导体温度传感器和集成温度传感器。热电阻线形度不好,精度不高;热电偶价格都比拟高,测量围广;半导体线形都好,测量围窄;集成温度传感器集成度高,外部电路简单。本设计中采用经常用到的并有很高精度的集成温度传感器DS18B20。微型处理器采用可以在线擦写的89C51芯片。输出局部采用比拟经济实惠的电阻丝加热。显示局部采用动态显示。3总体方案此方案采用89C51单片机系统实现,键盘输入温度设定值,用现在最新的集成温度传感器DS18B20采集准确的温度,数码管显示设定值和温度实测值,加热控制采用模拟PWM输出控制加热器,并采用光电隔离,使系统更加稳定。总体框图如图3-1所示。键

3、盘输入温度传感器 单 片 机数码官显示电 源LED显示加 热 器蜂鸣报警图 3-1温度控制器系统框图4元器件选型及电路设计41元器件选型411温度传感器温度传感器选用DS18B20芯片。DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。1DS18B20产品的特点、只要求一个端口即可实现通信。、在DS18B20中的每个器件上都有独一无二的序列号。、实际应用中不需要外部任何元器件即可实现测温。、测量温度围在55。C到125。C之间。、数字温度计的分辨率用

4、户可以从9位到12位选择。、部有温度上、下限告警设置。2DS18B20的引脚介绍TO92封装的DS18B20的引脚排列见图4-1,其引脚功能描述见表4.1。底视图图4-1表4.1DS18B20详细引脚功能描述序号名称引脚功能描述2DQ数据输入/输出引脚,单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。3DS18B20的使用方法由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而AT89C51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对

5、DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将以主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机启动写时序开场,如果要求单总线器件回送数据,在进展写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。、DS18B20的复位时序,如图4-2图4-2 DS18B20的复位时序图、DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对

6、于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。时序图如图4-3图4-3 DS18B20的读时序、DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之就得释放单总线。时序图如图4-4图4-4DS18B20的写时序5A

7、T89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFalsh Programmable and Erasable Read Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单

8、片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。6电路设计61 DS1B20接口电路18B20为单总线器件,接口电路简单,如图6-1所示图6-1 DS1B20接口电路DQ为数据端口,为保护DS18B20应在数据端接1K电阻。62显示电路显示模块采用动态显示方式,指示DS18B20采集到的温度以及设定的温度。电源采用5V,二极管一般在10mA就可以发光。所以,电阻选用R=5-0.7/10mA=430,这里选用7个470电阻。在它们的共阴极接三极管来为数码管提供大的电流驱动。选用一般的三极管就可以了,这里选用PNP的9015。因三极管不一定饱和导通那么电阻可选用小于理论电阻值。显示模块电路

9、图如图6-2:图6-2 显示电路显示模块采用动态显示方式,数码管采用共阴极数码管,当图中接三极管B极的管脚为低电平时,对应数码管亮,显示P1口的数据。6.3 键盘控制电路键盘接口方式分为:简单键盘接口和矩阵式键盘接口。本次设计采用简单键盘接口方式。每个键盘独立地与单片机的I/O线直接相连就构成了简单键盘。如下列图键与键之间的工作状态互不影响。简单按键可以根据需要灵活地进展设计,每键占用一根I/O先,软件编写方便。在图中R1R4为上拉电阻,S1S4为按键,当键未按下时,CPU从I/O口接收到的是1电平,当某个键按下,那么CPU读取该I/O口的电平变化状态,以确定是按下或松开的状态。键盘选用4个轻

10、触开关来输入,它们的功能分别为“十位加一,“个位加一,“十位减一和“个位减一四个功能按键。详细电路如图6-3:图6-3键盘控制电路64 继电器控制模块继电器是通过线圈的电流来控制触点的开与合,由于继电器的线圈和触点之间没有电器上的联系,因此,可以使用继电器来实现自动控制上的电气隔离。如图6-4所示是继电器的根本应用电路。K1和K2是继电器的动合动断触点,当晶体管T的基极输入一个高电平,使T进入饱和状态,Vc通过继电器的线圈有电流流过,流过电流的线圈产生磁场力吸引触点动作。R为晶体管基极限流电阻,二极管D用于对晶体管的保护。在平时,由于二极管为反向串接,没有电流流过,当继电器线圈失电的瞬间会产生

11、很大的反电动势,有可能使晶体管击穿。由于有二极管D的存在,提供一个通路,使反电动势不会损坏晶体管,从而起到保护作用。在继电器失电状态下,动合触点断开,动断触点闭合,当继电器得电后,动合触点闭合,动断触点断开,利用继电器的触点开关作用可以控制设备或传送逻辑电平信号。一般继电器带有一组或多组动合、动断触点供使用,继电器的线圈电流也有大小,触点的接触电流也有大小,耐压也有上下。用户应根据设计的要求选用相应的继电器。图6-4继电器控制电路6.5 蜂鸣报警电路蜂鸣器通过一个三极管来驱动,这里选用9015。当9015三极管的B极输入信号时蜂鸣器发出声音。声音的特点与输入的信号有关。而音亮的大小与信号的频率

12、有关。电路如图6-5:图6-5 蜂鸣报警电路结合蜂鸣器与继电器电路组成如图6-6电路:图6-6继电器控制与报警电路负载电路可根据实际应用要求,连接不同负载。智能温度控制电路可用于:水温控制,环境温度控制等。7软件设计本系统采用循环查询方式,来显示和控制温度。7.1总模块流程图:开 始初 始 化调用读温度子程序调用键盘扫描模块子程序调用显示模块子程序调用继电器控制模块子程序7.2显示模块流程图 初 始 化开场选中第n个数码管,P2口初值为#0FEH 把显示的数据送到P1口改变n值和显示数据的存储 器 值P2=#EFH?8. 总电路图8-1 总体电路图9.总结本系统是以单片机为核心的控制系统。最终

13、实现了题目的各项设计要求。调试情况为:DS18B20测得的环境温度为25度,按键设定值为22时蜂鸣器发出声音,继电器线圈得电,接通降温设备。当温度设为28时,继电器线圈断电,接通升温设备。从而实现对温度的控制。在本次设计过程中,遇到了许多突发事件和各种困难,如:由于理论计算的数码管的限流电阻太大,导致数码管的亮度不够,那么要改变限流电阻的阻值,最终问题得到解决。在软件调试中也出现一些问题,由于键盘扫描和显示的时间过长,导致数码管中有些数码管的亮度不够。但通过仔细分析和不断的试验。并调整自我状态后解决了问题,提高了自己解决问题的能力。在此同时,也得到了教师的指导和帮助,在此表示感。.elecfa

14、ns./soft/softdown.asp?softid=239011 电子资料网. .guangdongdz./special_column/techarticle/jszl14588.htmlDS18B20芯片介绍新一代的 DS18B20 体积更小、更经济、更灵活。使您可以充分发挥“一线总线的长处。同DS1820 一样,DS18B20 也支持“一线总线接口,测量温度围为 -55C+125C,在-10+85C围,精度为0.5C。DS1822 的精度较差为 2C 。现场温度直接以“一线总线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温

15、类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V 的电压围,使系统设计更灵活、方便。而且新一代产品更廉价,体积更小。DS18B20 新特点:适用电压为3V5V 与DS1820 软件略有不同 912 位分辨率可调 TO-92、SOIC 及CSP 封装可选,经济型版本无EEPROM 合自己的经济的测温系DS18B20的使用方法由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而AT89C51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数

16、据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将以主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机启动写时序开场,如果要求单总线器件回送数据,在进展写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。附 录程 序;*?基于DS18B20智能温度采集系统?设计程序*;功能:DS18B20采集实际温度,按键设定要到达的温度,并通过数码管显示采集的温度和设定的温度;通过比照实际温度与设定温度,控制继电器工作,从而实现温度控制.;

17、作者:严莉琼;学号:200402128;设计日期:2008-04-24;指导教师:涂二生,高级工程师;* ORG 0000H SJMP MAIN ORG 0030HMAIN :MOV SP,#29H ;设中断MAIN1 :LCALL ds18b20 ;调用温度采集程序LCALLSCAN_KEY;调用键盘扫描程序 LCALL DISPLAY ;调用显示程序LCALL JDQ ;调用继电器控制程序 LJMP MAIN1;*DS18B20温度采集子程序*;输出:32H实际温度的十位,31H实际温度的个位;*ds18b20: LCALL GET_TEMP ;提取DS18B20中的温度 LCALL FE

18、NLI ;处理读取的温度值 LCALL BCD ret ;*;功能:从DS18B20中提取温度,并把高字节放在R6中,低字节放在R7 中;输出:R6、R7GET_TEMP: CLR EA ;使用ds1820一定要制止任何中断产生 LCALL RESET ;调用初使化子程序 MOV A,#0CCH LCALL WRITE ;送入跳过ROM命令 MOV A, #44H LCALL WRITE ;送入温度转换命令 LCALL RESET ;温度转换完全,再次初使化ds18b20 MOV A,#0CCH LCALL WRITE ;送入跳过ROM命令 MOV A,#0BEH LCALL WRITE ;送

19、入读温度暂存器命令 LCALL READ MOV R7,A ;读出温度值低字节存入R7 LCALL READ MOV R6,A ;读出谩度值高字节存入R6 SETB EA RET;-RESET: ;初始化ds18b20子程序 L0:CLR P3.2 ;复位 MOV R2,#149 ;4us L1:DJNZ R2,L1 ;596us SETB P3.2 ;释放ds1820总线: MOV R2,#15 ;4us L4:DJNZ R2,L4 ;60us CLR C ;2us,清存在信号 MOV C,P3.2 ;取存在信号: JC L0 ;存在吗?不存在那么重新来-001 MOV R2,#125 ;有

20、存在就拉高 setb P3.2 L5: DJNZ R2,L5 ;500us RET;-WRITE: MOV r1,#08H ;设置写位个数 WLOP:RRC A ;把写的位放到C ACALL WRBIT ;调写 1位子程序 DJNZ r1,WLOP ;8位全写完? RETWRBIT: MOV B,#15 ;设置时间常数 CLR P3.2 ;写开场 NOP ;2us MOV P3.2,C ;C容到总线,4usWDLT: DJNZ B,WDLT ;60us SETB P3.2 ;释放总线 RET;-READ: MOV r1,#8H ;设置读位数 RLOP:ACALL RDBIT ;调读1位子程序

21、RRC A ;把读到位在C中并依次送给A DJNZ r1,RLOP ;8位读完? RETRDBIT: CLR P3.2 ;读开场图2255的t0时刻 NOP ;2us SETB P3.2 ;释放总线 NOP ;2us MOV C,P3.2 ;P1.2容C MOV B,#13 ;设置时间常数RDDLT: DJNZ B,RDDLT ;等待52us SETB P3.2 RET;*;功能:把小数局部同整数局部分开,R6放整数R7放小数,F0放符号位;输入:R6 R7;输出:R6 R7 F0FENLI: MOV A,R6 MOV C,ACC.7 MOV F0,C ;符号位 JC FENLI1 SJMP

22、FENLI2FENLI1:MOV A,R6 CPL A MOV R6,A MOV A,R7 CPL A CLR C INC A MOV R7,A MOV A,R6 ADDC A,#00H MOV R6,AFENLI2:MOV 08H,R7 ANL 08H,#0FH ;小数局部 MOV R0,#12FENLI3:MOV A,R6 RRC A MOV R6,A MOV A,R7 RRC A MOV R7,A MOV A,09H RRC A MOV 09H,A ;整数局部 DJNZ R0,FENLI3 MOV R6,09H ;整数部份 MOV R7,08H ;小数局部 RET;功能:将R6R7中的二

23、进制数化作BCD码的形式;输入:R6 R7BCD: MOV A,R6 ;开场处理整数局部: MOV B,#100 DIV AB MOV R4,A MOV A,B MOV B,#10 DIV AB MOV R5,A ;存十位到32H MOV 32H,R5 MOV R6,B ;存个位到31H MOV 31H,R6 MOV A,R7 ;开场处理小数局部: MOV B,#5 MUL AB MOV B,#10 DIV AB MOV 08H,A ;进位 MOV A,R7 MOV B,#2 MUL AB ADD A,08H MOV B,#10 DIV AB MOV 08H,A ;进位 MOV A,R7 MO

24、V B,#6 MUL AB add A,08H MOV B,#10 DIV AB MOV r7,A ;存小数到30H MOV A,B CLR C SUBB A,#5 JC BCD1 INC R7 BCD1:RET;*动态显示子程序*;功能:显示31H34H的值,显示顺序:从右边第一个数码管开场显示;输入:31H,32H,33H设定温度的个位,34H设定温度的十位;*DISPLAY: MOV DPTR,#TABLE MOV R3,#0FEH ;先显示第一个数码管 MOV R1,#31H ;先显示小数位DPLOP:MOV A,R1 MOVC A,A+DPTR ;查表 MOV P2,R3 ;显示数据

25、端口 MOV P1,A ;输出数据DPNEXT:MOV A,R3 RL A ;选通下一个数码管 MOV R3,A INC R1LCALL DS1M CJNE R3,#0EFH,DPLOP RETDS1M: MOV R7,#0FFH DJNZ R7,$ ; 等待 RET ;*显示数据表*TABLE:db 3fh,06h,5bh,4fh,66h,6dh,7ch,07h,7fh,6fh;根据硬件电路,分别为09,;*键盘扫描程序*;功能:设定温度值,并把设定的温度值存入33H个位和34H十位;*scan_key:mov p3,#0ffh mov a,p3 cpl a ;设没键按下,那么A为0000#

26、, anl a,#11110000b ;假设没键按下,运行与指令后,A的值为0 cjne a,#0,kloop ;第一次读取按键端口值 sjmp quit kloop: mov 50h,a lcall delay20;延时消斗 mov a,p3 ;重送P3口的值 cpl a ;设没键按下,那么A为0000#, anl a,#11110000b cjne a,50h,quit;第一次的值是否和第二次的值相等,不等那么退出 jb acc.7 ,xs1;查询是哪个键按下 jb acc.6 ,xs2 jb acc.5,xs3 jb acc.4,xs4quit: retxs1: inc 34h ;对设定

27、的十位值加一 mov r4,34h cjne r4,#10,out mov 34h,#00hxs2: dec 34h ;对设定的十位值加一 mov r5,34h cjne r5,#0ffh,out mov 34h,#09hxs3: inc 33h ;对设定的个位值加一 mov r3,33h cjne r3,#10,out mov 33h,#00hxs4: dec 33h ;对设定的个位值减一 mov r5,33h cjne r5,#0ffh,out mov 33h,#09hout:ret ;-delay20:mov r6,#200;消斗程序dl20ms:mov r7,#100 djnz r7,

28、$ djnz r6,dl20ms ret;*继电器控制程序*;功能:比照实际温度值与设定温度值,从而控制继电器工作;输入:31H,32H,33H,34H;*jdq:mov a,34h subb a,32h jc cool ;设定温度的十位小于实际温度,降温 jnz hot ;设定温度的十位大于实际温度,升温 mov a,33h subb a,31h jc cool ;设定温度的个位小于实际温度,降温 jz fengming ;设定温度的个位大于实际温度,升温hot :setb p3.0 ;加热系统接通 sjmp tuichucool: clr p3.0 ;降温系统接通 lcall fengming ;蜂鸣器响tuichu:ret ;-fengming:clr p3.1;报警程序 lcall maichong setb p3.1 lcall maichong ret;-maichong: mov r6,#25;蜂鸣器输入的信号mc1: djnz r6,$ret end. v .

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!