基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx

上传人:b****7 文档编号:10254493 上传时间:2023-02-09 格式:DOCX 页数:27 大小:146.97KB
下载 相关 举报
基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx_第1页
第1页 / 共27页
基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx_第2页
第2页 / 共27页
基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx_第3页
第3页 / 共27页
基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx_第4页
第4页 / 共27页
基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx

《基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx(27页珍藏版)》请在冰豆网上搜索。

基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本.docx

基于单片机的温度控制系统设计毕业论文李瑞卿1306734005通信工程定稿版本

 

基于单片机的温度控制系统设计

BasedonSingleChipMicrocomputerTemperatureControlSystemDesign

学院(系):

计算机与信息工程学院

专业:

计算机科学与技术

学生姓名:

学号:

指导教师(职称):

评阅教师:

完成日期:

2015年6月

 

基于单片机的温度控制系统设计

【摘要】温度是工业控制中主要的被控参数之一,在日常生活中也经常要用到温度的检测及控制。

本文介绍了一种以AT89C51单片机为核心的控制器,以DS18B20为温度传感器的温度控制器。

首先,通过对元器件的选择,设计控制器的硬件电路;然后,设计相关应用程序;最后,通过仿真,对整个系统进行调试、分析。

最终实现温度采集、显示、控制等功能。

仿真结果表明,所设计的控制器能够完成所需功能,并且具有测量精准高、实时性好、使用方便等特点。

【关键词】:

温度控制;AT89C51;温度显示;DS18B20

BasedonSingleChipMicrocomputerTemperatureControlSystemDesign

Abstract:

Temperaturecontrolischargedwithoneofthemainindustrialparameters,ineverydaylifealsooftenusetodetectandcontrolthetemperature.ThispaperpresentsaAT89C51microcontrollerasthecoretothecontrollertoDS18B20temperaturesensortemperaturecontroller.First,thechoiceofcomponents,designofthecontrollerhardwarecircuit;then,design-relatedapplications;Finally,thesimulationoftheentiresystemfordebuggingandanalysis.Theultimaterealizationoftemperatureacquisition,displayandcontrolfunctions.Simulationresultsshowthatthedesignedcontrollertocompletetherequiredfunction,andhashighmeasurementprecision,real-time,user-friendlyfeatures.

Keywords:

 Temperaturecontrol;AT89C51;Temperaturedisplay;DS18B20

1绪论

1.1课题背景及意义

日常生活中温度控制在各行各业中都起着重要的作用,因此能够检测温度变化的温度检测设备出现在人们的视线中。

它能使人们能及时看到温度变化的第一手资料,提示温度变化情况,协助人们及时调整,并有温度报警作用,让温度控制更好的服务于整个社会和人们的生活。

21世纪是电子技术飞速发展的时代,人类的生活发生了质的变化,特别是随着大规模集成电路的出现微型计算机应运而生,让人类社会进入了一个新的时代。

虽然微机可以完成各种各样的工程控制,但是微机价格高,对于大多数的工业控制来说,并不是最佳选择。

于是单片机就出现在了人们的视野中。

它是一个简化的微机,将微机的中央处理器,存储单元,I/O接口,定时器/计数器等集成在一片芯片上。

和微机比较,单片机价格低廉,适合应用在工业的控制场合以降低成本。

另外,单片机可靠性高,性能稳定。

可在复杂的工业环境下运行。

单片机依靠其高性价比,在工业控制,工业生产,家用电器制造等方面得到了广泛的应用。

温度是表征物体冷热程度的物理量,工农业生产过程中温度是一个重要的参数。

温度测量在产品生产,工业设计,能源节约中起到了关键性的作用。

随着科学技术的进步和生产的需要,温度传感器不断更新丰富起来。

温度作为一个模拟量,如果采用合适的技术和元件,将模拟的温度量转化为数字量虽说不难,但电路也很复杂,成本也很高。

温度测量中测量温度是重点,本设计中单片机温度测量同样如此。

1.2课题研究的内容

本设计研究的主要课题是基于单片机的水温控制系统,介绍了对炉内温度的显示、控制和报警,实现了温度的实时显示及控制。

其中炉内温度控制中,采用AT89C51单片机、DS18B20、和LCD的硬件电路检测和显示实时水温,采用DS18B20与单片机相接再由硬件与软件电路组合来实现对加热电阻丝的控制和超出规定的上下限温度的报警。

 

1.3.温度控制器的选择

温度控制器选择基于51单片机的温度控制器,图2-1是基于51单片机的温度控制器框图。

该控制器由温度采集模块、控制模块、显示模块、报警模块以及电源模块等组成。

基于单片机的温度控制器框图如图2-1所示。

图1-1基于单片机温度控制器框图

51单片机是控制器的控制核心,因此单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。

单片机种类很多,在众多51系列单片机中,较为常用的是ATMEL公司的AT89C51和AT89S52单片机,AT89C51片内4KROM是Flash工艺的,使用专用的编程器自己就可以随时对单片机进行电擦除和改写,片内有128字节的RAM。

而AT89S52含有在系统可编程的Flash存储器,片内有8K闪存,RAM的容量也较AT89C51大,为256字节。

显然这种单片机优点更多,开发时间也大为缩短。

2.温度控制器的硬件电路设计

2.1温度传感器的选择

温度是表征物体冷热程度的物理量,它可以通过物体随温度变化的某些特性(如电阻、电压变化等特性)来间接测量,利用这种物理特性制成的传感器称为温度传感器。

常用的温度传感器有热电偶、热敏电阻、热电阻、集成温度传感器及数字式温度传感器等多种温度传感器。

2.1.1数字温度传感器

典型的数字温度传感器如DS18B20,该传感器主要特性如下:

1.数据线供电是寄生电源方式下的供电方式,电压适应的范围更宽,电压范围:

3.0~5.5V;

2.DS18B20在和微处理器的连接仅仅需一条总线即就可以实现DS18B20和微处理器双向的通信,它的单线接口方式十分特殊;

3.DS18B20可以支持多个点的组网功能,多个DS18B20可并联的在唯一的总线上,能够实现组网的多点测温;

4.转换的电路及全部传感器元件就像一只三极管集成在的集成电路内,DS18B20在使用的时候不需要任何的外围元件;

5.在-10~+85℃时精度为±0.5℃,测温范围-55℃~+125℃;

6.可分辨温度依次为0.5℃、0.25℃、0.125℃和0.0625℃,相对应的可以编程的分辨率是9~12位,可实现高精度测温;

7.12位分辨率时最多在750毫秒内把温度值转换为数字,在9位分辨率时最多在93.75毫秒内把温度转换为数字,速度更快;

8.直接输出数字温度信号的测量结果,可传送CRC校验码,同时以"单总线"串行方式传送给CPU,有极强抗干扰和纠错能力;

9.负压特性:

接反电源的极性时,芯片不会因发热而烧毁,但不能正常工作。

2.1.2热电阻温度传感器

热电阻的测量精度高,性能稳定,使用方便,测量范围宽,在高精度、低温测量中占有重要的地位。

热电阻传感器主要用于中低温度(-200℃~+650℃或850℃)范围的温度测量。

常用的工业标准化热电阻有铂热电阻和铜热电阻。

铂电阻传感器是利用金属铂(Pt)的电阻值随温度变化而变化的物理特性而制成的温度传感器。

以铂电阻作为测温元件进行温度测量的关键是要能准确地测量出铂电阻传感器的电阻值。

铂电阻具有适用范围广、测量范围大、稳定性高、重复性好、价格低廉、使用方便等优点,成为目前工业和实验室中温度测量应用最广泛普遍的传感元件之一,工业中应用较多的热电阻传感器如Pt100。

2.1.3方案选择

对比上述两种方案,虽然Pt100的测量温度范围比较大,但是由于其测温原理是电阻值随着温度的改变而改变,需要设计非常优良的温度采集电路,其中应包括测温部分,线性化部分,放大部分,A/D转换部分,这就会使外围的电路更加复杂。

DS18B20是数字式温度传感器,只需一根总线就可以与单片机通信,是外围的电路大大简化,测量的精度更准确。

因此本控制器的设计中,温度传感器拟选择DS18B20作为温度采集传感器。

2.2温度采集模块电路的设计

2.2.1DS18B20介绍

DS18B20引脚图如图2-1所示。

图2-1DS18B20引脚图

DALLAS最新的单线数字温度传感器DS18B20是一种新型“一线器件”,它的体积更小、更适用于多种场合、而且适用电压更宽、也更经济。

DALLAS半导体公司开发的数字化温度传感器DS18B20也是世界上第一片支持“一线总线”接口的数字温度传感器。

温度的测量范围为-55~+125摄氏度,能编程为9位~12位转换精度,0.0625摄氏度的测温分辨率,分辨率的设定参数及用户设定的报警温度会存储在EEPROM中,掉电后依然能保存。

用符号扩展的16位数字量方式串行的输出被测温度;采用寄生电源方式产生,其工作的电源既可以远端引入;3根或2根线上可并联多个DS18B20,CPU只需要一根端口线就能与诸多的DS18B20通信,较少占用微处理器的端口,可以节省逻辑电路和大量的引线,因而用它来组成的测温系统,具有线路简单,在一根通信线,可挂多个这样的数字温度计,非常的方便。

2.2.2温度传感器工作原理

DS18B20的读写时序及测温原理与DS1820是相同的,得到的温度值的位数却会因为分辨率的不同而不同,而且进行温度转换时的延时时间从2s减为750ms。

DS18B20的测温原理:

低温度系数的晶振,它是用以产生固定频率的脉冲信号给计数器1,它的振荡频率受到温度的影响非常的小。

高温度系数的晶振,则它的振荡率会随着温度的变化而明显的改变,产生的信号就作为计数器2的脉冲输入。

温度寄存器以及计数器1被预先设置在-55℃所对应的一个基数值。

对从低温度系数晶振产生的脉冲,将会通过计数器1来进行减法的计数,当计数器1预置的值减到了0的时候,计数器1的预置值将重新装入,这时候温度寄存器的值就加1。

计数器1也就重新开始进行计数,如此循环,停止温度寄存器值的累加时计数器2的计数值到0,所测温度就为此时温度寄存器中的数值。

DS18B20功能特点:

1.采用了总线技术,与单片机的通信只需要一根I/O线,在一根线上可以挂接多个的DS18B20。

2.每只DS18B20它是根据序列号来访问相应的器件,具有一个独有的,不可更改的64位的序列号。

3.低压供电,电源范围为3--5V,可本地供电,也能直接通过数据线提供电源(即寄生电源2方式)。

4.在-10°C至+85°C范围内的可以达到精度为±0.5摄氏度,测温的范围为-55℃~+125摄氏度。

5.温度超过了的预定值的器件可以用报警搜索命令识别以及寻址。

6.用户可以自己设定报警上下限温度。

7.它转换12位的温度的最大时间为750毫秒,可编辑的数据位9--12位。

8.DS18B20的分辨率由用户通过EEPROM设置为9--12位。

9.DS18B20可以将检测到的温度值直接转化为数字量,并且通过串行通信方式。

DS18B20有4个主要数据部件:

1.光刻ROM中的64位序列号在出厂之前就已经被光刻好了,它可看作该DS18B20的地址的序列码。

64位光刻ROM的排列为:

开始的8位(28H)是产品类型的标号,接着48位是该DS18B20的自身序列号,最后的8位是前面的56位循环冗余校验码(CRC=X8+X5+X4+1)。

光刻ROM的作用是让每一个DS18B20都不相同,这样的话就能够一根总线上可挂接多个的DS18B20。

2.DS18B20温度传感器能实现对温度的测量,以12位的转化为例:

用16位的符号扩展二进制补码读数的形式提供,以0.0625℃/LSB的形式表达,其中S是符号位。

3.DS18B20温度传感器它的内部存储器包括一个高速暂存RAM以及一个非易失性的、可电擦除的EEPRAM,后者存放高温度和低温度的触发器TH、TL以及结构寄存器。

4.配置寄存器。

DS18B20内部结构及功能:

DS18B20内部的结构如图3-7所示。

主要包括以下部分:

电源,温度传感器,64位的ROM单总线接口,用于存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限的TH和TL触发器,控制逻辑,8为循环冗余校验码(CRC)发生器等7部分。

DS18B20内部结构如图2-2所示。

图2-2DS18B20内部结构

2.2.3DS18B20工作原理介绍

温度的读取:

DS18B20出厂时配置为12位,读取温度时共读取16位,所以要把后11位的2进制转化为10进制后再乘以0.0625就是所测的温度,还需判断正负。

前5个的数字为符号位,若前5位为1时,读取的温度就为负数;若前5位为0时,读取的温度就为正数。

DS18B20写操作:

1.数据线首先置低电平“0”。

2.延时的时间为15ms。

3.再按从低位到高位的顺序发送字节(一次只能发送一位)。

4.延时的时间为45ms。

5.把数据线拉到高电平。

6.重复上

(1)到(6)的操作,一直到所有的字节全部都发送完为止。

7.最后把数据线拉高。

DS18B20读操作:

1.把数据线拉高“1”。

2.延时2ms。

3.数据线拉低“0”。

4.延时15ms。

5.将据线拉高“1”。

6.延时15ms。

7.读数据线的状态得到了1个状态位,并且进行数据处理。

8.延时30ms。

2.2.4DS18B20使用中的注意事项

DS18B20虽具有连接方便、测温系统简单、占用口线少、测温的精度高等优点,然而在实际的应用中也应该注意以下几方面问题:

1.DS18B20从测温结束直到把温度值转换成为了数字量,需要一些转换时间,这必须保证,不然会出现转换错误现象,从而使温度输出总是显示为85度。

2.在实际的使用中,应该使电源电压保持在5V左右的大小,若是电源的电压过低了,就会降低所测得的温度精度。

3.较小的硬件开销就需要比较复杂的软件来进行补偿,因为DS1820和微处理器间数据是串行传送的,所以,对DS1820进行读写编程,就必须严格保证读写时序,否则就不能读取测得的温度值。

4.DS18B20的有关资料由于未提及单总线上所挂DS18B20数量,就使人误认为能够挂任意多个的DS18B20,但在实际的应用中并不是这样的,如果在单总线上所挂载的DS18B20超过了8个,就要解决微处理器的总线驱动问题,在进行多点测温系统设计时必须注意这一点。

5.在DS18B20测温程序的设计中,向DS18B20发出了温度转换命令后,程序总是要等待DS18B20的返回信号,若某个DS18B20接触不好或这断线,当程序读该DS18B20时,将会没有返回的信号,程序就进入了死循环,这一点在进行DS18B20硬件连接和软件设计的时候也要给予重视。

2.2.5DS18B20和AT89C51单片机连接电路

DS18B20可以有两种供电的方式,一种用的是电源供电的方式,此时DS18B20的1脚接地,3脚接电源,2脚是信号线。

另一种是寄生电源供电的一种方式。

如图2-3所示单片机端口接的是单总线,为了在DS18B20有效的时钟周期之内提供的电流足够,对总线的上拉可用一个MOSFET管来完成。

当DS18B20处于温度A/D转换操作和写存储器操作时,必须有强的上拉在总线上,上拉的最大开启时间为10微秒。

采用寄生电源供电的供电方式时VDD端接地,单线制由于只有一根线,因此发送接口必须是三态的。

DS18B20与单片机的接口电路如图2-3所示。

图2-3DS18B20与单片机的接口电路

2.3显示模块设计

2.3.1LCD液晶显示器简介

显示器是人和机器交流信息的重要界面,早期的是以显像管(CRT/CathodeRayTube)显示器为主,但是随着技术的不断发展,各种各样的显示技术不断诞生,而液晶(LCD)显示器由于具有耗电量较低、短小轻薄、无辐射的危险,平面直角显示,和稳定不闪烁的影像等优势,更是在近年来不断下跌的价格吸引下,逐渐取代了主流的CRT之地位。

液晶是一种既有液体的流动性还具光学特性的有机化合物,它的透明程度和呈现颜色受外加电场影响,利用这个特点就可以做成字符显示器。

液晶显示器(LCD)英文为LiquidCrystalDisplay,它是一种采用液晶控制透光度的技术来实现色彩的显示器。

和CRT显示器比,LCD的优点是十分明显的。

因为通过控制是否透光从而控制亮和暗,当色彩不变化时,液晶也就保持不变,这样就不用考虑刷新率的问题。

显示接口用来显示系统的状态,命令和采集的电压数据。

本系统的显示部分用的是LCD液晶模块,采用的是一个16×1字符型液晶的显示模块。

点阵图形式的液晶显示器是由M行×N列个显示单元组成的,若LCD显示屏有64行,每行有128列,每8列对应1个字节的8个位,则每行有16字节,共有16×8=128个点所组成,屏上64×16个显示单元和显示RAM区1024个的字节是相对应的,屏上相应位置的亮暗和每一个字节的内容是对应的。

一个字符是由6×8或者8×8一个点阵所组成的,所以要找到和屏上某几个位置相对应显示RAM区的8个字节,而且应该使每一个字节不的同位为‘1’状态,其它的则为‘0’,为‘1’的点亮,为‘0’的点为暗,这样就组成了某一个字符。

但是对内部自带字符发生器的控制器来说,字符显示就会比较简单了,可以使控制器在文本方式下工作,根据在每行的列数找出显示RAM对应的地址和LCD开始显示的行列号,设立光标,在此送入该字符的对应代码就可以了。

2.3.2液晶模块简介

LM016L结构及功能:

LM016L液晶模块采用了HD44780的控制器,hd44780是具有简单而功能较强的指令集,能实现字符移动,闪烁等一些功能,LM016L与单片机MCU通讯可以采用8位或者4位并行传输的两种方式,hd44780控制器是由两个8位的寄存器,地址计数器RAM(AC),和字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),显示数RAM(DDRAM),及指令寄存器(IR)以及数据寄存器(DR)忙标志(BF)。

寄存指令码用IR,只可以写入不可以读出,DR用以寄存数据,数据是暂存从DDRAM和CGRAM读出,或内部操作自动的写入DDRAM和CGRAM的数据,当BF为1时,液晶模块就会处于内部模式,不响应接受数据和外部操作指令,DDTAM用以存储显示字符,能够存储总共80个字符码,CGROM是由5*10点阵字符32种和8位字符码生成的5*7点阵字符160种.CGRAM是专门给用户编写特殊字符而留的,容量只有64个字节,可以自定义4个5*10点阵字符或8个5*7点阵字符,AC可存储CGRAM和DDRAM的地址,若是地址码随指令写入了IR的话,那么IR就自动把地址码装入AC,与此同时,选择DDRAM或者CGRAM[5]。

LM016L晶模块的引脚图如图2-4所示。

图2-41601引脚图

LM016L引脚介绍:

Vss(1脚):

一般的会接地。

Vdd(2脚):

一般接电源。

Vee(3脚):

液晶显示器的对比度调整端,接电源时它的对比度是最弱的,接地时它的对比度却是最高的(如果对比度过高则会产生“鬼影”,使用时可通过一个10K电位器用来调整对比度)。

RS(4脚):

RS是选择寄存器的引脚,低电平0时选择的是指令寄存器、高电平1时就会选择数据寄存器。

R/W(5脚):

R/W是读写的信号线,低电平(0)时则进行的是写操作,高电平

(1)时进行的是读操作。

E(6脚):

E(或EN)端是使能(enable)端,也即下降沿使能。

DB0(7脚):

底4位的三态、双向数据总线的0位(最低位)。

DB1(8脚):

底4位的三态、双向数据总线的1位。

DB2(9脚):

底4位的三态、双向数据总线的2位。

DB3(10脚):

底4位的三态、双向数据总线的3位。

DB4(11脚):

高4位的三态、双向数据总线的4位。

DB5(12脚):

高4位的三态、双向数据总线的5位。

DB6(13脚):

高4位的三态、双向数据总线的6位。

DB7(14脚):

高4位的三态、双向数据总线的7位(最高位)(也是busyflag)。

寄存器选择控制如表2-5。

表2-5寄存器选择控制

RS

R/W

操作说明

0

0

写入指令寄存器(清除屏等)

0

1

读busyflag(DB7),及读取位址计数器(DB0~DB6)值

1

0

写入数据寄存器(显示各字型等)

1

1

从数据寄存器中读取数据

2.3.3液晶显示部分与STC89C51单片机的接口

如图3-5所示。

用89C51的P0口作数据线,用P1.2、P1.1、P1.0分别作LCD的E、R/W、RS。

其中,E是下降沿触发片选信号,R/W是读写信号,RS是寄存器选择信号,本模块有如下设计要点:

显示模块的初始化:

首先要清屏,然后再设置8位接口数据位,显示的行数为1行,字型的为5×7点阵,然后再设置成整体显示,取消光标以及字体的闪烁,最后再设置成正向增量的方式且为不移位。

送字符给LCD显示缓冲区,程序采用的是一个显示的字符,2个字符数组,另一则显示电压数据,相应数组中被送入要显示的字符或者数据,完成之后再统一的显示.LCD显示的缓冲区送人一个要显示的字符或者数据,通过软件延时2.5毫秒后,再作个数是否够显示的判断,若不足够则地址加一,取下一个要显示的字符或者数据。

液晶与80C51单片机连接电路如图2-6所示。

图2-6液晶与89C51单片机的连接电路

2.4按键电路的设计

2.4.1单片机检测按键的原理

单片机的I/O口即可以作为输出也可以作为输入使用,当该检测按键使用的是它的输入功能,我们把按键的其中一端接地,另一段与单片机的I/O口相连,开始时先给I/O口赋一个高电平,然后让单片机一直不断循环检测该I/O口是已经否变为了低电平,若是按键闭合,就相当于此I/O口通过按键接地了,变成低电平,程序如果检测到I/O口变为了低电平就说明该按键已被按下,然后就执行相应的指令和程序。

2.4.2矩阵键盘的设计

键盘接口电路是单片机系统设计非常重要的一环,作为人机交互界面里最常用的输入设备。

我们可以通过键盘输入数据或命令来实现简单的人机通信。

通过4X4的矩阵键盘来可以对温度方便的进行设定,并通过液晶显示器实时显示温度设置的情况。

4×4的矩阵式键盘由4根列线和4根行线交叉构成,行列的交叉点上就是按键,这样就有16个按键。

其中交叉点的行线和列线不连接,当按键按下,位于交叉点处的列线和行线导通。

行线由上拉电阻连接VCC。

若是无按键按下,行线为高电平;若是有键按下,行、列线在交点导通,此时,行线电平状态是与此行线相连列线的电平状态关联。

这是判断按键是否按下的关键环节。

但是,矩阵键盘的每一条行线均和4条列线相连接,位于交点处的按键是否按下均会影响该键所在列线和行线的电平状态,各个按键之间将会相

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1