《基于DS18B20的温度监控系统(共10页).doc》由会员分享,可在线阅读,更多相关《基于DS18B20的温度监控系统(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上摘 要本设计以STC12C5A16S2单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机,再由单片机将信号通过数码管显示出来。报告中介绍了该控制系统的硬件部分,包括:温度检测模块、温度控制模块、PC机与单片机串口通讯模块,键盘输入模块,显示模块和继电器模块。单片机通过对信号进行相应处理,从而实现温度控制的目的。报告中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序。关键词:STC12C5A16S单片机 DS18B20温度
2、芯片 温度控制 串口通讯 SummaryThis design STC12C5A16S2 singlechip with the temperature control system of the working principle and design method. Temperature signal by temperature chip DS18B20 acquisition, and the way of digital signal transmitted by single-chip microcontroller, again by digital signal displa
3、y tube. In the report of the control system is introduced, including: hardware part temperature detection module, temperature control module, PC and MCU serial communication module, keyboard input module, display module and relay modules. Through the corresponding signal chip processing, so as to ac
4、hieve the purpose of temperature control. The report also introduces emphatically the design of the software, the modularized structure, here are the main modules: digital display and keyboard scan tube program and key process, temperature signal processing program, relay control procedures.Keywords
5、: STC12C5A16S chip DS18B20 temperature chip temperature control serial communicationII目 录摘 要ISummaryII目 录III第1章 绪论1第2章 总体设计方案22.1 方案一22.2 方案二22.3 方案比较2第3章 硬件系统方案设计33.1 DS18B20温度传感器简介33.2单片机接口电路设计73.1.1晶振电路83.1.2串口引脚83.1.3 其它引脚93.3键盘控制设计93.4温度测试电路103.5温度控制器件电路103.6七段数码管显示电路10 3.7 串口通信电路 11第4章 软件系统分析与
6、设计124.1程序结构分析154.2系统程序流图18第5章 系统仿真调试与参数测量195.1测试环境205.2测试方法215.3测试结果215.4测试分析21结 论22参考文献23附 录25附录一:使用说明25附录二:元件清单25III第1章 绪论温度是工业生产过程中最普遍、最重要反日检测参数之一。任何物理变化和化学变化的过程都与温度密切相关。温度检测和控制都直接与安全生产、节约能源等技术经济指标相联系。温度测量在工业、民用、军事等领域占着重要的地位。航空、家电、科研等领域都需要温度测试设备,用于测试和确定电工、电子及其它产品及材料进行高温、低温、交变温度或恒定试验的温度环境的变化,判断当检测
7、目标的温度值达到警示条件时发出警告信号。常用的控制电路根据应用场合和所要求的性能指标有所不同 , 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D
8、转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。第2章 总体设计方案2.1 方案一测温电路的设计,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路
9、上,就可以将被测温度显示出来。2.2 方案二考虑使用数字温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行转换,依次完成设计要求。2.3 方案比较方案一采用模拟温度传感器,数据处理麻烦,且容易产生信号失真,方案二可以只用一根线实现信号的双向传输,具有接口简单、容易扩展等优点,并且可以挂接多个从机,适用于单片机、多从机构成的系统。DS18B20可以直接温度转换为串行数字信号,供单片机进行处理,具有低功耗、高性能、抗干扰能力强等优点。比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。在本系统的电路设计方框
10、图如图1.1所示。 图1.1 温度计电路总体设计方案第3章 硬件系统方案设计3.1 DS18B20温度传感器简介DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围55125,可编程为912位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18
11、B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。综上,在本系统中我采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0-100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。 图3.1温度芯片DS18B203.1单片机接口电路设计DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源
12、。另一种是寄生电源供电方式,如图3.1所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个三极管来完成对总线的上拉。本设计采用电源供电方式, P2.2口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和stc12c5a16s2的P2.2来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 s。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个步骤: 初始化; ROM操
13、作指令; 存储器操作指令。3.1.1晶振电路单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。 图3.1.13.1.2串口引脚 P0口接9个2.2K的排阻然后接到显示电路上。P2.2温度传感器DS18B20如图3.1.2所示。 图3.1.2 图3.3 DS18B20与单片机的接口电路P3.6引脚接继电器电路的4.7K的限流电阻上;P1口中P1.4、P1.5、P1.6、P1.7分别接到显示电路的三极管上,P3.2接蜂鸣器电路,P1.3接到发光二极管上;P2口接到按键电路。3.1.3 其它引脚 ALE引脚悬空,复位引脚接到复位电路、VCC接电源、V
14、SS接地、EA接电3.2键盘控制设计单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。 键开关状态的可靠输入 :为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响在这种行列式矩阵键盘非编码键盘的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对
15、照图示的3*4键盘,说明线反转法工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:给P2口的一个口致0,其它致1,判断P2口值是否有变化,在判断是哪个按键按下。 图3.23.3温度测试电路采用温度芯片DS18B20。可以直接将被测温度转换为串行数字信号,工单片机进行处理,具有低功耗、高功能、抗扰能力强等优点。 图3.3温度传感器电路引脚图3.4温度控制器件电路单片机通过三极管控制继电器的通断,最后达到控制外围器件电路的目的。当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与外围器件接通。当温度上升到预定温度时,单片机发送
16、低电平信号三极管进入截止状态,继电器的弹片打到另一侧,使电热器与电源断开,外围器件截止。继电器电路中有一个PNP三极管的保护电路,即将一个二极管反向接到三机管的两端。连接方法如图3.4所示。 图3.4其原理是:当继电器突然断电时,继电器产生很大的反向电流。二极管的作用是将反向电流分流,使流过三级管8050的电流比较小,达到保护三极管8050的作用3.5七段数码管显示电路 具体见实际连线图如图3.5,当位选打开时,送入相应的段码,则相应的数码管打开,关掉位选,打开另一个位选,送入相应的段码,则数码管打开,而每次打开关掉相应的位选时,时间间隔低于20ms,从人类视觉的角度上看,就仿佛是全部数码管同
17、时显示的一样。 图3.53.6串口通信电路 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任
18、意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。DB-9针连接头 1 2 3 4 5 / 6 7 8 9 / 从计算机连出的线的截面。RS-232针脚的功能:数据: TXD(pin 3):串口数据输出RXD(pin 2):串口数据输入握手:RTS(
19、pin 7):发送数据请求CTS(pin 8):清除发送DSR(pin 6):数据发送就绪DCD(pin 1):数据载波检测DTR(pin 4):数据终端就绪地线:GND(pin 5):地线其他RI(pin 9):铃声指示 4.1程序结构分析主程序调用了5个子程序,分别是数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及进入相应的程序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。继电器控制程序:控制继电器动作串口通
20、讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。4.2系统程序流图系统程序主要包括主程序,读出温度子程序,写入子程序等,按键子程序,串口通信程序,显示子程序,声光报警子程序。1)主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.2所示。通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来 图4.2.14.2.2 按键子程序流程图 4.2.318B20温度流程图 4.2.4串口通信子程序流程图 4.4 调试主程序的
21、功能是:启动DS18B20测量温度,将测量值与所设定的温度上下限值进行比较,若测得温度小于设定下限值,则进入声光报警子程序,这期间声光报警不间断的响起,直到温度在设定范围内,才终止声光报警程序,若测得温度大于所设定的温度上限值,亦进入声光报警子程序,此时声光报警不间断的响起,直到所测的温度在设定的安全范围内。第一次上电调试,设置温度上限为35摄氏度,温度下限为28摄氏度。但温度却不显示出来,后经检查发现原来是DS18B20初始化时间设置不对,导致没法读到DS18B20的温度值,延时时间重设后才显示出温度值来。再经实际接电调试,一切运行正常。 按键调试时,刚开始由于没有设置按键松手检测程序,按键
22、一直失灵,后将按键松手检测程序(while(P2=0Xxx)后,按键运转正常。串口调试时,刚开始是发送一个数据便显示一个数据便打开一次中断,这样导致数据更换太慢,没法同时显示几个数据,后将所有要显示的数据一个一个储存起来后再打开中断,一起送出去,这样问题解决了,发送和接收都没有错误了。串口调试程序如下: findout(uint r,uint y) uint i; for(i=0;i11;i+) if(table4i=r) break; y=i;void serial_init()/串口初始化TMOD=0x20;SCON=0x50;TH1=0xf3;TL1=0xf3;PCON=0x80;EA=
23、1;TR1=1;void serial() interrupt 4void send_serial() /串口发送显示 uchar a,b,c; a=TN/10; b=TN%10; c=TD; ES=0; TI=0; SBUF=table4a; while(TI=0); TI=0; SBUF=table4b; while(TI=0); TI=0; SBUF=table410; while(TI=0); TI=0; SBUF=table4c; while(TI=0); TI=0; SBUF=table411; while(TI=0); TI=0; ES=1; void receive_seria
24、l() /串口接收显示 uint a,b,c,d; ES=0; RI=0; while(RI=0); a=SBUF; RI=0; while(RI=0); b=SBUF; RI=0; while(RI=0); c=SBUF; RI=0; while(RI=0); d=SBUF; RI=0; ES=1; y1=findout(a,y1); y2=findout(b,y2); y3=findout(c,y3); y4=findout(d,y4);第5章 分析5.1测试环境环境温度28摄氏度,室内面积20平方米测试仪器:数字万用表,温度计0-100摄氏度5.2测试方法使系统运行,采用温度计同时测量室
25、内度变化情况,得出系统测量的温度。5.3测试结果设定温度由25摄氏度到40摄氏度标定温差=1摄氏度 静态误差=0.5摄氏度 5.4测试分析对于实际室内的温度控制,可以再提出以下方法 :检验所做温度测量是否准确,可以用电吹风机作为加热设备,降温设备可采用空气压缩机等制冷设备,并将所采集到的温度与实际标准的温度计进行比较。 通过实验测试和分析,发现虽然传感器的温度采集精度最高可得到 0.06 ,但测试得到的数据最小间隔为 0.03 。通过分析,当对浮点数求平均处理时,遇到同一时刻两个传感头采集的温度相差不大,使 0.06 时求出平均温度变为 0.03 为了解该数据是否真实,可采用一个高精度的数字温
26、度计测试,发现读出的值与其基本一致,由此推断如果在同一时间增加采集温度的个数,则可以进一步提高温度的精度。 结 论温度检测和控制都直接与安全生产、节约能源等技术经济指标相联系。温度测量在工业、民用、军事等领域占着重要的地位。航空、家电、科研等领域都需要温度测试设备,用于测试和确定电工、电子及其它产品及材料进行高温、低温、交变温度或恒定试验的温度环境的变化,判断当检测目标的温度值达到警示条件时发出警告信号。在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。在本设计中简单分析了单片机温度控制系统设计过程及实现方法。本系统的测
27、温范围为-10125,温度检测系统根据用户设定的温度范围完成一定范围的温度控制。本设计使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方。此外,还能广泛地应用于其他一些工业生产领域,如建筑,仓储等行业。本温度控制系统可以应用于多种场合,像的温度、育婴房的温度、水温的控制。用户可灵活选择本设计的用途,有很强的实用价值。参考文献1曹巧媛主编. 单片机原理及应用(第二版). 北京:电子工业出版社,20022全国大学生电子设计竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编(2001), 北京:北京理工大学出版社,20033何力民编. 单片机高级教程. 北京:北京航空大学出版社,20004金发庆等编. 传感器技术与应用.北京机械工业出版社,20025刘坤、宋戈、赵洪波、张宪栋编51单片机C语言应用开发技术大全,北京:人民邮电出版社,20086谭浩强著C程序设计北京:清华大学出版社,2007;7王忠飞,胥芳MCS-51 单片机原理及嵌入式系统应用M西安:西安电子科技大学出版社,2007P268-2738 Peter Van Der Linden著,徐波译.C专家编程,人民邮电出版社,2003附 录附录二:电路原理图专心-专注-专业
限制150内