基于单片机恒温控制系统的设计_第1页
基于单片机恒温控制系统的设计_第2页
基于单片机恒温控制系统的设计_第3页
基于单片机恒温控制系统的设计_第4页
基于单片机恒温控制系统的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.独创性声明本人声明所呈交的学位论文是本人在教师指导下进展的研究工作及取得的研究成果,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何奉献均已在论文中作了明确的说明并表示谢意。学位论文作者签名:日期:学位论文使用授权书本学位论文作者授权长江师*学院可以将学位论文的全部或局部内容编入有关数据库进展检索,允许论文被查阅和借阅,可以采用影印、缩印或其它复制手段保存、汇编学位论文。*的学位论文在解密后适用本授权书学位论文作者签名:指导教师签名:日 期: 日期:-. z.摘要本设计主要研究的是基于单片机的恒温控制,通过对单片机

2、添加外围电路并编程来到达设计目的。其主要分为了软件系统和硬件系统两个局部,然而软件系统的设计是建立在硬件系统的根底上进展的。设计最终到达了恒温控制功能的目的。包括实际温度的测量及显示、温度上下限*围设定、超过上下限温度报警并亮灯以及处理。本设计是把AT89C52单片机作为控制中心,把DS18B20温度传感器作为温度传感器。它的测量*围在0100之间, 分辨率为0.1摄氏度且误差不大于1摄氏度;采用继电器作为弱电控制强电输出。作为恒温控制系统,它将温度探测、单片机控制和弱电控制强电技术相结合,从而到达恒温控制系统的目的。本设计不但能够设置目标温度的上下限值*围,并且当实际温度不高于设定目标温度下

3、限值的时候,继电器一吸合灯亮开场加热,蜂鸣器响且灯亮;当温度不低于设定目标温度上限值的时候,继电器一断开灯灭停顿加热,同时继电器二吸合灯亮开场降温,蜂鸣器响且灯亮。关键字:51单片机;恒温控制系统;DS18B20温度传感器AbstractThis design study is based on single-chip temperature control, by adding e*ternal circuit and microcontroller programming to meet the design objectives. The main software system is

4、divided into two parts and hardware systems , however, the design of software systems is based on the hardware system performed . Designed to ultimately achieve the purpose of temperature control function , including measurement and abc the actual temperature , upper and lower temperature range is s

5、et , over the lower temperature alarm and lighting and processing . This design is the AT89C52 microcontroller as the control center, the DS18B20 temperature sensor as a temperature sensor , its measurement range between 0 100 , with a resolution of 0.1 degrees Celsius and the error is less than 1 d

6、egree Celsius ; using the relay as a weak control the strong electric output. As temperature control system, it will detect the temperature , single-chip control and weak control technology bined with strong power , so as to achieve a constant temperature control system. This design can not only set

7、 the target temperature of the upper and lower limits , and when the actual temperature is not higher than the target set temperature limits when the relay a pull start heating lights , buzzer and lights, when the temperature is not lower than set the target temperature limit , when a broken lamp re

8、lay stops heating , while the relay pull two lights began to cool , the buzzer sounds and lights.Keywords:51 microcontroller;temperature control system;DS18B20 temperature sensor-. z.-. z.目 录 TOC o 1-3 h z u HYPERLINK l _Toc386651240摘要 PAGEREF _Toc386651240 h IHYPERLINK l _Toc386651241Abstract PAGER

9、EF _Toc386651241 h IIHYPERLINK l _Toc3866512421 绪论 PAGEREF _Toc386651242 h 1HYPERLINK l _Toc3866512431.1 课题背景 PAGEREF _Toc386651243 h 1HYPERLINK l _Toc3866512441.2 研究的目的和意义PAGEREF _Toc386651244 h 1HYPERLINK l _Toc3866512451.3 本文研究的主要内容 PAGEREF _Toc386651245 h 1HYPERLINK l _Toc3866512461.4 本文的章节安排 PA

10、GEREF _Toc386651246 h 1HYPERLINK l _Toc3866512472 方案选择 PAGEREF _Toc386651247 h2HYPERLINK l _Toc3866512482.1 温度测量局部 PAGEREF _Toc386651248 h 2HYPERLINK l _Toc3866512492.2 主控局部 PAGEREF _Toc386651249 h 2HYPERLINK l _Toc3866512502.3 显示局部 PAGEREF _Toc386651250 h 2HYPERLINK l _Toc3866512512.4 数据掉电存储局部 PAGE

11、REF _Toc386651251 h 3HYPERLINK l _Toc3866512522.5 弱电控制强电局部 PAGEREF _Toc386651252 h 3HYPERLINK l _Toc3866512532.6 控制算法分析 PAGEREF _Toc386651253 h 3HYPERLINK l _Toc3866512543 系统设计PAGEREF _Toc386651254 h 5HYPERLINK l _Toc3866512553.1 硬件设计 PAGEREF _Toc386651255 h 5HYPERLINK l _Toc3866512563.1.1 中央控制器设计 P

12、AGEREF _Toc386651256 h 5HYPERLINK l _Toc3866512573.1.2 数据掉电保护电路 PAGEREF _Toc386651257 h 6HYPERLINK l _Toc3866512583.1.3 键盘电路 PAGEREF _Toc386651258 h 8HYPERLINK l _Toc3866512593.1.4 加热器控制电路 PAGEREF _Toc386651259 h 8HYPERLINK l _Toc3866512603.1.5 温度测量芯片DS18B20 PAGEREF _Toc386651260 h 9HYPERLINK l _Toc

13、3866512613.1.6 1602LCD显示电路 PAGEREF _Toc386651261 h 11HYPERLINK l _Toc3866512623.2 软件设计 PAGEREF _Toc386651262 h 12HYPERLINK l _Toc3866512633.2.1 主程序 PAGEREF _Toc386651263 h 13HYPERLINK l _Toc3866512643.2.2 温度读取子程序 PAGEREF _Toc386651264 h 13HYPERLINK l _Toc386651265上下限温度比拟子程序 PAGEREF _Toc386651265 h 1

14、3HYPERLINK l _Toc3866512663.2.4 AT24C02掉电保护子程序 PAGEREF _Toc386651266 h 14HYPERLINK l _Toc386651267温度计算子程序 PAGEREF _Toc386651267 h 14HYPERLINK l _Toc3866512683.2.6 温度数据显示子程序 PAGEREF _Toc386651268 h 15HYPERLINK l _Toc3866512693.3 测试及分析 PAGEREF _Toc386651269 h 15HYPERLINK l _Toc3866512704 设计总结 PAGEREF

15、_Toc386651270 h 16HYPERLINK l _Toc386651271参考文献 PAGEREF _Toc386651271 h 17HYPERLINK l _Toc386651272致谢 PAGEREF _Toc386651272 h 18HYPERLINK l _Toc386651273附录A C语言源程序 PAGEREF _Toc386651273 h19-. z.-. z.1 绪论1.1 课题背景随着社会的进步和工业的快速开展,在工业生产过程中以及日常生活中,都对各种温度、压力、流量以及液位这四种过程变量有着更高的要求。其中,温度的过程变量是最为重要,也是应用最为广泛的。

16、在很多地方,都需要用到对温度的控制。然而,使用常规的方法来进展控制是没有多少开展潜力的,而且还不能够满足用户所想要的性能要求。因此,本设计将利用51单片机和温度传感器来设计一个恒温控制系统。1.2 研究的目的和意义恒温控制系统的设计,可以满足较高的性能要求,具有控制方便、简单和灵活性大、降低消耗、控制本钱等优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量,从而提高生产效率。为了能够对温度传感器有进一步的认识和了解,研究其用法与用途。因此,本人利用51单片机再结合温度传感器技术而设计了这一恒温控制系统。本设计适用*围比拟广,不但可以作为工业锅炉的温度控制还能够用于室内

17、监控系统、大棚恒温控制系统、水温控制系统等等。课题主要任务是完成恒温控制,利用单片机实现温度在一定*围内实现恒温且具有操作方便,控制灵活的优点。1.3 本文研究的主要内容本文简单介绍了温度智能控制系统的历史开展,重点介绍如何用单片机和温度传感器实现恒温控制系统的设计和制作,并且分析其算法。并通过KeilC编译软件来对设计的程序进展仿真调试,从而实现本次毕业设计。本文重点局部主要表达在对单片机最小系统的设计,包括实时温度测量电路的设计,单片机时钟电路的设计,单片机复位电路的设计,掉电保护数据电路的设计,键盘输入电路的设计,LCD显示电路的设计,弱电控制强电的设计等。以及这些电路工作的各个子程序。

18、本文重点强调的是原理和实用性,原理结合实例,综合分析了恒温控制系统的工作原理和实现方法。1.4 本文的章节安排本文分为3章:第1章是绪论,作为引子,介绍文章用到的一些简单概念,介绍恒温智能控制系统的历史背景,应用以及各种工业传感器的其它一些知识,说明恒温控制系统的应用以及本文的意义。第2章为关键技术,介绍测量电路、主控电路、显示电路等各个方案的优缺点,并从几个方案中选择一个最优的方案进展系统设计。第3章为电路设计,分为硬件设计和软件设计及测试结果,电路的硬件设计,包括AT89C52单片机电路、键盘电路、加热器控制电路、温度测量电路、LCD1602显示电路等。程序设计主要介绍恒温控制系统的主程序

19、和各个子程序,子程序包括:读取温度子程序、温度上下限比拟子程序、温度计算子程序、显示温度数据子程序等。简要介绍了测试恒温控制系统的测试方法和测试结果。2方案选择2.1 温度测量局部温度测量电路设计可以采用AD590温度传感器,温度*围在-55+150之间,精度较高,在温度*围内非线性误差在0.3内。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏,使用可靠。它能够在只有直流电源的环境下工作,无需进展线性校正,使用方便,接口简单。和电压输出型相比,它有很强的抗外界干扰能力,测量信号可远传百余米。但是51单片机没有A/D接口,如果采用AD590就要增加硬件本钱。温度测量电路

20、设计可以采用DS18B20温度传感器,DS18B20数字温度传感器是DALLAS公司生产的单总线器件,它具有线路简单,体积小的特点4;该芯片直接向单片机传输数字信号,便于单片机处理及控制。本制作的最大特点之一就是直接采用温度传感器对温度进展测量,使电路更简单操作更方便。因此,本设计采用温度传感器DS18B20进展温度测量,表达了设计制作的集成化趋势。使总体设计电路更简洁,有效地减少了一些不必要的干扰,提高精准度。2.2 主控局部设计中采用AT89C52是一个低电压,高性能CMOS 8位单片机,它除具有了89C51单片机所具有的优点外,AT89C52单片机的内部 RAM 存储器还扩展为 256

21、字节,相比89C51单片机的容量增大了;AT89C52单片机的内部FLASH PERAM 也增加1倍,到达8K。额外在89C51单片机的根底上还多了一个定时器/计数器T2。且价格廉价,再编程方便,在工业控制中有广泛的应用,因此在本次毕业设计中采用AT89C52作为主控器。2.3 显示局部显示电路设计中可以采用LED数码管显示器件来作为显示模块,然而LED不同位显示的时间间隔局限性较大,间隔太短,由于发光二极管从导通到发光有一定的延时,使导通时间太短,发光太弱没有方法看清。间隔太长,由于要受到临界闪烁频率的限制,时间越长,占用CPU时间也越多。它的优点是LED数码管价格廉价,显示清晰并且编程较简

22、单。由于选用数码管显示会占用许多CPU的时间所以我没有采用它。显示电路设计中也可以采用液晶显示器件作为显示模块,它具有体积小,功耗低,显示内容丰富等特点。在单片机系统中使用LCD液晶显示器件作为显示输出模块有以下优点:(1)数字式接口:LCD1602液晶显示器一般采用数字式的接口,使用起来更加简单快捷。(2)体积小,重量轻。(3)功率消耗小:相比LED数码管显示器件LCD1602液晶显示器占用CPU时间少,功率消耗比其它显示器要小。(4)显示效果好:在收到信号后,LCD1602液晶显示器上的每一个点都将保持原有的色彩和亮度,使其恒定发光,屏幕不会出现闪烁现象。1602型LCD显示模块具备这么多

23、优点,所以这次设计采用了1602LCD作为显示模块。2.4数据掉电存储局部数据掉电存储电路在很多地方都是需要用到的,比方,电子日历等一些需要电源的电子产品,如果没有设置数据掉电保护电路,则在突然掉电后,它的数据将得不到保护,就会自动回到初始状态的数据设置,在下一次通电时用户需要再一次的去设置各种数据,增加了用户的操作,使整个产品变得不适用,然而数据掉电存储电路设计中采用I2C总线式串行器件,它有体积小、抗干扰、低功耗等特点,而且能够完美的解决上面所提到的种种问题。所以本次设计选用AT24C02芯片作为数据掉电存储芯片。2.5 弱电控制强电局部毕业设计中有一局部电路是弱电控制强电的,它的作用是用

24、单片机的输出信号去控制继电器的断开与吸合,然后把继电器的控制端接在电热丝或压缩机上。在设计中用继电器作为弱电控制强电输出,其实还可以用可控硅作为弱电控制强电输出。常用的继电器有电磁继电器、固体继电器、舌簧继电器等几种,然而在实际应用的时候要根据实际的情况来做出选择,用途不一样,所选择的继电器也不一样。如何选择适宜的继电器是关键。下面简要介绍几种继电器的工作原理:1电磁继电器:它主要是利用电磁铁铁芯与衔铁间产生的吸力作用来使电路吸合通和断开的一种电气继电器。2固体继电器:它是使电源的输入和输出相隔离从而到达通、断的效果的一种继电器。3舌簧继电器:它是利用触电簧片和衔铁磁路在一个密封的空间内产生双

25、重作用的舌簧动作来使电路通、断或者转换的一种继电器因为电子市场电磁继电器比拟廉价而且控制简单,因此在本设计中采用电磁继电器作为弱电控制强电输出。电磁继电器参数为:输入为5V,可以和单片机接口相匹配,输出额定驱动电流为10A、驱动电压为250V,能满足我的设计要求,而且额定驱动电流和电压越大,价格越高。51单片机的驱动电流小,不能直接驱动电磁继电器工作,还要在电路设计中加上继电器的驱动电路。继电器的驱动电路可以采用ULN2803作为继电器驱动电路,因为它具有很多优点。ULN2803,是采用AP=DIP18,AFW=SOL18封装方式的八路NPN达林顿连接晶体管阵系列特别适用于低逻辑电平数字电路诸

26、如TTL, CMOS或PMOS/NMOS和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中;所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容,而ULN2804 最适于6至15伏高电平CMOS或PMOS18。继电器的驱动电路也可以采用三极管驱动,它具有电路简单,抗干扰能力强等优点。2.6控制算法分析下面先简要描述一下PID算法:PID是工业控制上的一种常见的、实用性强的控制算法,其中P表示的是比例,I表示的是积分,D表示的是微分。以温度控制的PID程序为例: 其公式为:Uo(N)=P*E(

27、N)+I*E(N)+E(N-1)+.+E(0)+D*E(N)-E(N-1)E-表示的是误差值。P-表示的是比例,它可以提高主机的响应速度并且减小静态误差值,但是如果P的值太大也是会增大超调量以及稳定时间的,因此在应用的时候要注意其值得大小适宜。I表示的是积分,它的作用与P大致一样,然而它确可以使静态误差值小到0。D-表示的是微分,它的作用与P和I的刚好相反,它是为了减小超调和稳定时间的。然而,在实际应用中我们要综合性的对P、I、D进展考虑,在通常情况下先把I、D的值设定为零,这样就方便我们把P的值调好,在调好I的值,把误差降到最低,这时我们再把D的值加进去,这是一个繁杂的过程要有耐心反复调试,

28、这样才能到达较好的结果。控制不同的对象所采用的算法也是不同的,而且在对P、I、D进展调试的时候难度差异也是比拟大的。因此在应用时要结合实际的情况灵活运用。本次毕业设计是对继电器进展控制因此没有采用上述的PID控制算法,但是这种控制算法在工业生产中得到了广泛的应用。而使采用了反应式温度控制系统,组成局部见下列图。其中数字控制器的功能由51单片机AT89C52来实现。图2-1反应式控制系统方框图综上所述我设计的恒温控制系统实际采用电路方案如下列图:图2-2总体设计方框图-. z.3 系统设计3.1 硬件设计3.1.1中央控制器设计本设计中,采用了AT89C52单片机作为中央控制器。从图3-1中,我

29、们可以看出AT89C52单片机内部主要包括了CPU,定时器/计数器,I/0接口等多个局部,然而每一个局部都是不可缺少的,都有着各自的作用。下列图是AT89C52单片机的内部构造总框图。图3-1 AT89C52单片机内部构造框图P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如表3-1所示:表3-1 P3口第二功能端口引脚第二功能P3.0R*D(串行输入口)P3.1T*D串行输出口P3.2/INT0外中断0P3.3/INT1外中断1P3.4T0定时/计数器0P3.5T1定时/计数器1P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通下列图是这次毕业设计中的单片机设

30、计原理图:图3-2 AT89C52 外围电路图图中单片机的P0口接在LCD1602液晶显示器的数据端口,P25口、P26口、P27口分别接LCD1602液晶显示器的RS口、R/W口、EN口。单片机的P10口、P11口、P12口、P13口分别接上一个按键,这样单片机就有四个输入设备,分别用来进展温度上下限参数的设置。单片机的P20口、P21口分别用于控制一路继电器,一路用于控制电热丝加热,一路用于控制压缩机降温。单片机P37口接在温度传感器DS18B20的数据端口,P36口用于控制蜂鸣器和LED报警指示灯。 数据掉电保护电路 数据掉电保护电路,是为了保护整个设计的系统在工作中所设置的数据在人为断

31、电或者突然地异常断电后能够被保存,使系统在下次运行时不用重新设置,减少了人工操作,让整个设计系统更简单、方便。数据掉电保护电路设计中AT24C02芯片硬件电路及与单片机接口如图3-3:图3-3 AT24C02与单片机接口电路图由上图可以看出,本设计的数据掉电保护电路是非常简单的,其中AT24C02的1、2、3三个脚分别是A0、A1、A2三条地址线,都是用来接地的,主要作用是用来确定AT24C02芯片的硬件地址;8脚和4脚分别是为AT24C02芯片提供+5V电源以及接地的,不然芯片没有电源不能正常工作;5脚SDA是作为串行数据的输入/输出,在本设计电路中与单片机的P2.4口相连接;6脚SCL是作

32、为串行时钟的输入线,在本设计电路中是与单片机的P2.3口连接;在+5V电源与5脚、6脚间各需要接一个10K的上拉电阻;而7脚则与1、2、3、三个脚一样需要接地。-. z. 键盘电路本次恒温控制系统设计中,除了复位按键有专门的电路及专一的功能外,还需要四个设置恒温上下限*围的按键,这四个按键的电路我们称为键盘电路,它们都是以开关状态的形式来工作的。本系统采用的是非编码键盘硬件电路,它的电路非常简单。当有键按按下时,系统开场执行一个时长为10ms的延时程序,然后再来判断该键的现在的电平状态,如果现在呈现出来的是闭合状态电平则系统就会认为有按键按按下。本设计中的四个设置按键的一端接地,而另一端分别与

33、AT89C52单片机的P10,P11,P12,P13。具体如下列图3-4所示:图3-4 按键与单片机接口电路图 加热器控制电路本设计采用的AT89C52单片机的驱动电流小,不能直接驱动电磁继电器工作,还要在电路设计中加上继电器的驱动电路。本设计从本钱及电路方面考虑,决定采用三极管来作为继电器的驱动电路。三极管驱动继电器控制电路如图3-5所示:图3-5三极管驱动继电器控制电路图 温度测量芯片DS18B20本次毕业设计中采用的是DS18B20温度传感器,它是一种集成芯片,能减小干扰,提高精准度,简化电路,它可以直接读出被测物的温度,并根据用户要*现912位的数字值读数方式,其性能特点如下:独特的单

34、线接口仅需要一个端口引脚进展通信;多个DS18B20温度传感器可以并联在一起使用,检测多个地方的温度;无须外部器件;允许电压*围在3.05.5之间,可以采用数据线供电;零待机功耗;温度以9或12位数字;用户可定义报警设置;电源极性接反时,不会损坏元器件,只是无法正常工作;它的内部构造框图如图3-6所示。图3-6 DS18B20温度传感器内部构造框图DS18B20温度传感器中的高速暂存RAM的构造如表3-2所示。表3-2 DS18B20温度传感器高速暂存RAM的构造温度 LSB温度 MSBTH用户字节1TL用户字节2配置存放器保存保存保存CRCTMR1R011111-. z.由表3-3可见,DS

35、18B20温度传感器在使用的过程中需要不短的转换时间,而且当分辨率越高的情况下,所需要的转换时间就会越长。因此,在实际应用中需要考虑这两个因素。表3-3是一局部温度值对应的二进制温度数据。表3-3 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间/MS00993.750110187.510113751112750本设计中DS18B20温度传感器完成温度转换后,就会进展温度比拟,把DS18B20温度传感器测得的温度值T与用户设定在RAM中的TH、TL*围作比拟。当发生TTH或者TTL的情况下,则对主机发出的报警命令作出相应的响应。在DS18B20温度传感器中,低温度系数晶振的振荡频

36、率用来产生固定频率的脉冲信号并送给计数器1;高温度系数晶振产生的振荡频率所产生的信号作为计数器2的脉冲输入。下面是一局部温度对应值表格3-4。表3-4一局部温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 010100000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.

37、1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H本设计中DS18B20温度传感器的电路设计非常简单,主要是在3脚加了一个+5V的电源和一个10K的电阻。具体的电路及与单片机的接口如图3-7。图3-7 DS18B20温度传感器硬件电路以及与单片机的接口电路图3.1.6 1602LCD显示电路随着用户的需要,液晶显示模块已经成为最常用的显示器件。LCD1602液晶显示模块的体积小而且功耗低最重要的是它显示的内容比其他显示模块丰富。外型尺寸:80*36*13L*W*H2.接口信

38、号说明表3-5 LCD1602显示器的引脚介绍序号符号引脚名称序号符号引脚名称1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端12D5Data I/O5R/W读写选择端13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极3.主要技术参数表3-6 LCD1602液晶显示器的主要技术参数显示容量16*2个字符芯片工作电压4.55.5V芯片工作电流2.0mA模块最正确工作电压5.0V尺寸大小4数据指针设置AT89C

39、52单片机内部设有一个数据地址指针,用户可以根据需要通过它们访问RAM。表3-7 数据指针设置5其它设置表3-8 其它设置6LCD1602本次电路设计图如下:图3-8 LCD1602硬件电路以及与单片机接口电路图图中单片机的P0口接在LCD1602液晶显示器数据端口,P25、P26、P27分别接LCD1602的RS、R/W、EN。LCD1602液晶显示器1脚和16脚接地,2脚和15脚接+5V电源。VL为LCD比照度调节端口。通过改变10K电位器阻值可以改变显示屏的比照度。3.2 软件设计软件设计是一个系统的核心,就像人吃的食物一样,如果没有它,则就什么都做不了,有的就只是一个空壳,因此,本设计

40、中为了到达恒温控制的目的,也设计了相应的软件程序,整个程序的设计分为了主程序和子程序,下面我们就介绍一下各个程序所存在的目的以及他的流程图和局部源程序。 主程序本设计中主程序的主要功能是实时显示温度、读取并处理DS18B20温度传感器所测得的当前温度值,DS18B20温度传感器每10ms重新进展一次测量。其程序流程见图3-9所示。初始化DS18B200CCH跳过读序号列号的操作初始化DS18B200CCH跳过读序号列号的操作44H 启动温度转换0CCH 跳过读序号列号的操作0BEH 读取温度暂存器9字节读取温度低8位、高8位返回调用初始化DS18B20子程序DS18B20初始化成功单片机各个端

41、口及显示初始化NY调用读取温度值子程序调用显示温度值子程序调用实际温度值和设置的上下限比拟子程序调用键盘扫描子程序调用读AT24C02子程序图3-9主程序流程图图3-10读出温度流程图 温度读取子程序温度读取子程序主要是读出RAM中的字节,并校验CRC,当有不正确时则不进展温度数据的改写。其程序流程图如图3-10所示。上下限温度比拟子程序上下限温度比拟子程序时用来判断当前温度是否在设定温度*围内,假设低于设定的温度则加热继电器吸合,进展温度升高,假设高于设定的温度则加热继电器断开,降温继电器吸合,开场降温。具体如下列图所示:温度是否超过*围温度是否超过*围是超温还是低温返回返回返回吸合降温继电

42、器吸合加热继电器Y超温Y低温N进入比拟子程序图3-11 上下限温度比拟流程图AT24C02掉电保护子程序AT24C02掉电保护子程序是负责初始化AT24C02芯片,然后对芯片进展数据的读写。当单片机设置好温度的上下限值后,按键处理子程序调用数据存储子程序,对数据进展掉电保护。如果*种原因断电了,下次开机上电后程序自动调用数据读子程序把温度的上下限值放入相应RAM存储。其程序流程见图312所示。 图3-1224C02掉电保护子程序温度计算子程序温度计算子程序是将从RAM中读取的值进展BCD码的转换运算并进展温度值正负的判定,其程序流程图如图3-13所示。图3-13温度计算子程序流程图图3-14温

43、度数据显示子程序流程图 温度数据显示子程序温度数据显示子程序主要是对显示器显示数据进展刷新,当最高=0时,则将符号显示位移入下一位。其程序流程图如图3-14。3.3 测试及分析恒温控制系统因为涉及到220V强电,所以没有加上电热丝加热,是用继电器的通与断来模拟加热与不加热,实际的控制效果和连接上电热丝效果一样。测试环境为室内常温度。测试仪器为标准数字温度计量程0-100摄氏度由测试知,温控报警电路的输出与实际温度值误差不大于0.5度。另外设置好温度的上下限值,当温度低于下限值时继电器吸合表示开场加热同时蜂鸣器响提示温度过低,当温度高于上限值时继电器断开表示停顿加热同时蜂鸣器响提示温度过高。测试

44、效果明显,到达了预期的设计效果-. z.4设计总结通过本次对恒温控制系统的设计制作,使我在各个方面都得到了进一步的提升,在整个设计制作过程中,一定要注意对每一个细小的环节都做到认真的检查,只有这样才能够确保制作能够顺利完成。然而一般在出现错误后的检查顺序为:原理图PCB图装配情况焊接工艺,一步一步的仔细检查,要有耐心。从整体来说这是一个复杂枯燥的过程,但是,只要细心慎重,反复的检查,也就不是什么太大的问题。本次毕业设计的制作历时好几个星期,从一开场确实定题目,到后来的不断查阅资料查找相关文献、理论学习,再到近来的调试和测试过程,这一切的一切都使我在理论知识和动手能力上都得到进一步的提升。在整个

45、的设计制作过程中我也不是一帆风顺的,也遇到过各种的问题,在这种时候,遇到的问题越多就应该要越保持一个良好的心态,心态很重要。我在遇到问题的时候一般都是先自己在网上查阅相关资料,翻阅相关的书籍,如果遇到这样都还不能解决的问题时,我就会请教一些我的朋友、同学、教师,就这样再联系书本理论知识积极地思考,所有的问题也都不再是问题,虽然在制作过程中不可防止地遇到很多问题,但是最后还是在教师以及同学的帮助下以及自己的努力下圆满解决了这些问题,实现了整个系统的设计与最后调试,很好地完成了本次设计任务。经过四年学习的积累,在已经了解和掌握相关专业方面知识及其它各方面知识的情况下,我严肃认真的完成了毕业设计。本

46、次设计制作在整个过程中我一次次的失败,又一次次的重新开场,有时候真想放弃,最后还是坚持了下来,在这一个充满了挑战性也伴随挫折感,充满了热情又伴随打击的过程中,我逐渐成长,它不仅仅是一个对我四年学习情况和我动手能力的检验,它还是对我面对困难的心态,做事的毅力和耐心的考验。在这个过程中我深深的感受到了做毕业设计的真正意义所在。参考文献1徐爱钧.单片机高级语言 C51 应用程序设计M. :电子工业,20022全国大学生电子设计竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编(2001), :理工大学,20033金伟正.单线数字温度传感器的原理与应用 J.电子技术应用.2000(6):30-45

47、4金发庆等编. 传感器技术与应用M.:机械工业,20025林伸茂.8051单片机彻底研究根底篇M.:人民邮电 20046夏路易等.电路原理图与电路板设计教程M.:希望电子 20027赵晶.Protel99高级应用M.:人民邮电 20008李霞.秦建敏.*志栋 数字温度传感器DS18B20在冰情测报系统中的应用 J .*理工大学学报.2008(1):3-59M. Palumbo, C. Pearson, J. Nagel, M.C. Petty. A single chip multi-channel surface plasmon resonance imaging system. J. 20

48、03 : 5-1510樊建明.陈渊睿 基于数字温度湿度传感器的温室多点测量系统设计 J.传感器与微系统.2007(7):21-3011王俊杰等.DS18B20在粮仓测温系统中的应用 J.*轻工业学院学报.200710:5-812顾振宇.*鲁源.杜振辉 DS18B20接口的C语言程序设计 J.单片机与嵌入式系统应用.2002(7):5-17 13*勇.PROTEL 99SE 电路设计技术入门与应用(第一版)M.:电子工业,200214*和平.单片机原理及应用M.*:*大学,2002 15何力民编. 单片机高级教程M.:航空大学,200016B.D. Theelen, A.C. Verschuer

49、en b, V.V. Reyes Su_arez c, M.P.J. Stevens a, A. Nunez. A scalable single-chip multi-processor architecture with on-chip RTOS kernel. J. 2003: 22-3017Jayanta Mukherjee, Manfred K. Lang b, S.K. Mitra. Demosaicing of images obtained from single-chip imaging sensors in YUV color space. J. 2005:13-1818b

50、aike.baidu./linkurl=09Zm*LBnQ*eDN*LyoRVyPJ8iBQr7qF3zVpdRHzFjDO5Lws13i3-FpGASfK*CV55_sG6pVwvoOFg7-3ED90oU-K#2致谢大学生活到这里即将划上一个句号,而对我来说这是一个完毕但也是我人生的另一个开场。求学生涯在各位教师、同学、亲友的大力支持下一直走到了现在,索然走得辛苦却也收获满囊。在论文即将付梓之际,思绪万千,心情久久不能平静。我要把我的敬意和赞美献给栽培我四年的母校和教师,是你们用汗水和知识哺育了我,从一个懵懂女生到一个懂知识、有素质有理想的大学生,教师的孜孜教导让我懂得了怎么样去做人、做事

51、和学习思考。教师为我们营造了一个良好的学习气氛。耳濡目染,潜移默化,我们的综合素质和能力也不断的得到提高。我要感谢我的毕业设计指导教师,在实习工作过程中,一直以来对我们的关心和鼓励,并及时向我们转达学校领导在各阶段的工作安排,确保我们能按时返校顺利完成毕业设计。在本课题在选题及设计过程中得到许教师的大力支持,教师屡次询问课题设计进程和结果,并指点迷津和错误,帮助我开拓思路,教师细心查收论文,使我的论文层次清楚,重点突出,无明显的错误,确保顺利过关。教师一丝不苟的作风,严谨*的态度,踏踏实实的精神,让我对教师的感谢已经找不到语言来表达。还要我的同学、朋友,是你们让我的大学生活变得丰富多彩,有你们

52、的帮助,我遇到的问题和困难才游刃有余。我也要感谢我的父母,一直以来对我的支持和鼓励,那是我学习的动力,是你们含辛茹苦,省吃俭用供我上学,让我衣食无忧,安心学习。毕业之后我将走向工作岗位,那是我的另一个新的起跑线,有不同年龄的、有不同学历的同事,也有像我一样的其他学校的应届毕业生,我的大学路走的有点坎坷,但是我有信心,在社会剧烈的竞争中,我会不断的学习,补充自己,为自己的一席之地奋斗,我不会让教师失望,不会让父母失望,更不会让自己失望。我再一次感谢大家一直以来对我的关心和帮助!谢谢大家!附录A C语言源程序#include #include #include #define uchar unsi

53、gned char#define uint unsigned intsbit DQ = P37 ; /定义DS18B20端口DQ sbit BEEP=P36 ; /蜂鸣器驱动线sbit K1 = P10 ; /定义按键K1 sbit K2 = P11 ; /定义按键K2 sbit K3 = P12 ; /定义按键K3 sbit K4 = P13 ; /定义按键K4 sbit JD1 = P20 ; /定义继电器1控制端口sbit JD2 = P21 ; /定义继电器2控制端口bit presence ;/DS18B20是否正常标志位sbit LCD_RS = P25 ; /定义LCD1602端

54、口 sbit LCD_RW = P26 ;sbit LCD_EN = P27 ;uchar code cdis1 = WENDU: . C ;uchar code cdis2 = TH:000 TL:000 ;uchar code cdis3 = DS18B20 ERR0R ;uchar code cdis4 = PLEASE CHECK ;unsigned char data temp_data2 = 0*00,0*00 ;unsigned char data display5 = 0*00,0*00,0*00,0*00,0*00 ;unsigned char data UP = 0*00;

55、unsigned char data DOWN = 0*00;unsigned char data baohu2 = 0*00,0*00 ;unsigned char data wendu = 0*00;unsigned char data TH3 = 0*00,0*00,0*00 ;unsigned char data TL3 = 0*00,0*00,0*00 ;unsigned char code ditab16 = 0*00,0*01,0*01,0*02,0*03,0*03,0*04,0*04, 0*05,0*06,0*06,0*07,0*08,0*08,0*09,0*09 ;void

56、beep() ; unsigned char code mytab8 = 0*0C,0*12,0*12,0*0C,0*00,0*00,0*00,0*00 ;#define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;/*/void delay1(int ms) unsigned char y ; while(ms-) for(y = 0 ; y250 ; y+) _nop_() ; _nop_() ; _nop_() ; _nop_() ; /*/*检查LCD忙状态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可

57、写指令与数据。 */*/ bit lcd_busy() bit result ; LCD_RS = 0 ; LCD_RW = 1 ; LCD_EN = 1 ; delayNOP() ; result = (bit)(P0&0*80) ; LCD_EN = 0 ; return(result) ; /*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */*/void lcd_wcmd(uchar cmd) while(lcd_busy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P0

58、 = cmd ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /*/*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */*/void lcd_wdat(uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P0 = dat ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD初始化设定 */*/void lcd_init() delay1(15) ; l

59、cd_wcmd(0*01) ; /去除LCD的显示内容 lcd_wcmd(0*38) ; /16*2显示,5*7点阵,8位数据 delay1(5) ; lcd_wcmd(0*38) ; delay1(5) ; lcd_wcmd(0*38) ; delay1(5) ; lcd_wcmd(0*0c) ; /显示开,关光标 delay1(5) ; lcd_wcmd(0*06) ; /移动光标 delay1(5) ; lcd_wcmd(0*01) ; /去除LCD的显示内容 delay1(5) ;/* 设定显示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos |

60、0*80) ; /数据指针=80+地址变量/*自定义字符写入CGRAM */*/void writetab() unsigned char i ; lcd_wcmd(0*40) ; /写CGRAM for (i = 0 ; i 0 ; i-) DQ = 0 ; / 给脉冲信号 dat = 1 ; DQ = 1 ; / 给脉冲信号 if(DQ) dat |= 0*80 ; Delay(4) ; return (dat) ;/* 写一个字节 */*/ WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i

温馨提示

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

评论

0/150

提交评论