1、智能温度控制系统设计说明2012届毕业设计(论文)题 目温度智能控制系统设计 专 业 班 级2008自动化05 学 号2008500260 姓 名苗青 指 导 教 师述斌教授 学 院 名 称电气信息学院 2011年 5 月 27 日温度智能控制系统设计Intelligent temperature control system design学 生 姓 名:苗青 指 导 教 师:述斌教授 摘 要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。为了更好地推广单片机在实际生活和生产中的应用,本文介绍一种基于单片机AT89C51设计的温度控制系统,以实现系统能自主
2、调节温度的功能。该温度系统采用温度传感器DS1820来获得当前温度,并以数字信号的方式传送给单片机。采集的温度与从4X2矩阵键盘输入的温度值进行比较,并通过液晶显示器LCD显示出来。如果采集温度低于设置温度,系统将通过继电器模块自动控制升温;如果采集温度高于设置温度,系统将通过继电器模块自动控制降温。文中介绍了该控制系统的硬件部分,包括:温度采集电路、温度设置电路、温度显示电路、继电器电路等。文中还着重介绍了软件设计部分。里采用模块化结构,主要模块有:温度采集模块、键盘扫描及按键处理模块、温度显示模块、温度比较模块、继电器控制模块。经实际制作表明该温度控制系统具有体积小、操作灵活、可靠性高、实
3、用、成本低等特点,具有一定的实际意义。关键词:单片机AT89C51;温度控制;温度传感器DS1820;液晶显示器LCD AbstractWith the electronic products developing to intelligent and miniaturization, single chip has become the first chosen controller which is used to develop and explore the electronic product. In order to promote single chip applicating
4、in real life and production, the paper will introduce a temperature control system which is based on a kind of single chip AT89C51, and it can achieve the function that the system can regulate the temperature independently.The temperature system adopts the temperature sensor DS1820 to get the curren
5、t temperature, and transfer it to the microcontroller with the way of digital signal. The acquised temperature will be compared with the temperature which is put in by 4X2 matrix keyboard, and will be displayed by liquid crystal display. If collected temperature below the set temperature, the system
6、 will automatically control to heat up by the relay modules. If collected temperature higher than the set temperature, the system will automatically control to reduce by the relay modules. The paper introduces the hardware which is part of the control system, including: temperature acquisition circu
7、it, temperature setting of the circuit, temperature display circuit, relay circuit and so on. The paper has also mainly introduced the design of software. Here use modular construction, the main module: temperature acquisition module, keyboard scan and key processing module, temperature display modu
8、le, temperature comparison module, relay control module.According to make it actually, I find it has these characteristics: small volume, flexible operation, high reliability, practical, low cost and so on. It has practical significance.IIKeywords: Single Chip AT89C51; Temperature Control; Temperatu
9、re Sensor DS1820;Liquid Crystal Display;第一章 绪论1.1 选题背景与意义在生产过程中,温度的控制是十分常见的。国已相继出现各种以微机为核心的温度控制系统。这种系统控制精度高、重复性好、自动化程度高。 在日常生活中,人们为了拥有一个更舒适的生活环境,往往需要室拥有一个合适的温度,而单片机的准确性高、价格低、功耗低等一系列优点,可结合升温和降温设备,有效的应用到实际生活中。单片机温度控制系统是单片机控制的一项简单应用。近几年来单片机因其独特的,方便,快捷的优势被广泛的应用于各个领域之中。1.2 选题简介课题名称:温度智能控制系统设计主要任务:将温度控制在设
10、定的温度值,设定围为0-99度,针对在生产和日常生活中温度智能化控制系统的实现。开发环境:本环境温度控制系统的软件部分是通过KEIL进行编译, Proteus 7 Professional进行仿真测试,开发板作为实际测试。技术指标:(1)以AT89C52系列单片机为核心部件(2)以数字电路和模拟电路为硬件基础(3)以C语言为软件实现语言功能概述:在该环境温度控制系统中,单片机作为核心部件进行检测控制,增强了设计的通用性,适时性。在该环境温度控制系统中温度检测采用DS18B20温度传感器,它不仅具有较高的精度,而且适用电压宽。同时采用了4X2矩阵扫描键盘输入,显示设备等外围扩展芯片。温度控制分为
11、升温和降温控制,升温控制和降温控制分别采用继电器来控制外部的升温和降温设备。软件部分采用流程图来表示。第二章 系统总体设计方案本设计是一个数字温度测量及控制系统,能测柜的温度,并能在超限的情况下进行控制、调整,并报警。保证环境保持在限定的温度中。2.1 系统工作原理 温度控制系统采用单片机作为微处理单元进行控制。采用温度传感器将温度采集到单片机,采用键盘按键把设定温度的值存入单片机的数据存储器。通过显示器将2者温度显示出来,然后再将两者温度进行比较。如果采集温度比设定温度要低,则加热指示灯亮起,继电器电路中的直流电机开始转动加热;如果采集温度比设定温度要高,则降温指示灯亮起,继电器电路中的风冷
12、器开始运转降温。系统原理图如图2-1所示:图2-1 系统总体设计框图根据系统的设计要求,选择DS18B20温度传感器作为采集模块,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、等功能,选择LCD液晶显示器作为显示模块。2.2 单片机简介 随着大规模集成电路的出现及其发展,将计算机的CPU 、RAM 、 ROM 、定时/计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机1。2.2.1 单片机的特点 1具有优异的性能价格比 2集成度高、体积小、可靠性高 、控制功能强3低电压、低功耗 2.2.2 单片机的选择 微处理
13、器是本系统的核心,其性能的好坏直接影响系统的稳定,鉴于本系统为实时控制系统,系统运行时需要进行大量的运算,所以单片机采用INTEL公司的高效微控制器AT89C512。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术,与工业标准的MCS-5指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供
14、了一种灵活性高且价廉的方案。 AT89C51外形及引脚如图2-1-2所示图2-2-2 AT89C51外形及引脚1主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片振荡器和时钟电路2管教说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/
15、地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P
16、2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口3。如表2-1-3所示:引脚作用P3.0 RXD P3.1 TXDP3.2 /INT0P
17、3.3 /INT1P3.4 T0P3.5 T1P3.6 /WRP3.7 /RD串行输入口串行输出口外部中断0外部中断1记时器0外部输入记时器1外部输入外部数据存储器写选通外部数据存储器读选通表2-1-3 P3口引脚功能表RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个
18、ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间为部程序存储器。在FLASH编程期间,此引脚也用于施加12
19、V编程电源(VPP)。XTAL1:反向振荡放大器的输入及部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3振荡特性/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1:反向振荡放大器的输入及部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 4芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯
20、片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。5串口通讯SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器
21、,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以了
22、。SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义为:SM0 SM1 SM2 REN TB8 RB8 TI RI。SM2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0。 REM 为允许接收位,REM 置1 时串口允许接收,置0 时禁止接收。REM 是由软件置位或清零。如果在一个电路中
23、接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。大家也可以用上面的实际源码加入REM=0 来进行实验。RB8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停止位。TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬
24、件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1
25、位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。AT89C51 和AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89C52 系列芯片才有的。6中断系统8051单片机的中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。5个中断源的符号、名称及产生的条件如下:INT0:外部中断0,由P32端口线引入,低电平或下跳沿引起。INT1:外
26、部中断1,由P33端口线引入,低电平或下跳沿引起。T0:定时器计数器0中断,由T0计满回零引起。T1:定时器计数器l中断,由T1计满回零引起。TIRI:串行IO中断,串行端口完成一帧字符发送接收后引起。第三章 硬件模块3.1 温度采集模块温度采集模块硬件图如图3-1所示图3-1 温度采集模块3.1.1 DS18B20简介 传统的温度检测大多以热敏电阻为传感器,采用热敏电阻,可满足40至90测量围,但热敏电阻可靠性差,测量温度准确率低,对小于1的温度信号不适合,还得经过专门接口电路转换成数字信号才能由微处理器进行处理5。DS18B20数字式温度传感器,与传统的热敏电阻有所不同的是,使用集成芯片,
27、采用单总线技术,其能够有效的减小外界的干扰,提高测量的精度。同时,它可以直接将被测温度转化成串行数字信号供微机处理,接口简单, 使数据传输和处理简单化。部分功能电路的集成,使总体硬件设计更简洁,能有效地降低成本,搭建电路和焊接电路时更快,调试也更方便简单化,这就缩短开发的周期。3.1.2 DS18B20的特点采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络。测量温度围宽,测量精度高。DS18B20的测量围为-55 +125 ;在-10+85
28、围,精度为0.5 。在使用中不需要任何外围元器件即可实现测温。多点组网功能。多个DS18B20可以并联在惟一的三线上,实现多点测温。供电方式灵活。DS18B20可以通过部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外电源,从而使系统结构更趋简单,可靠性更高。测量参数可配置。DS18B20 的测量分辨率可通过程序设定912位。负压特性。电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。掉电保护功能。DS18B20 部含有EEPROM,在系统掉电以后,它仍可保存分辨率及报警温度的设定值9。 3.1.3 DS18B20的引脚介绍DS18B20实物图与管脚图如图3
29、-1-3所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端,电源供电3.05.5V (寄生电源接线方式时接地)。图3-1-3 DS1820实物图和管脚图3.1.4 DS18B20部结构和原理DS18B20 的部结构如图3-1-4所示,主要由四部分组成:64 位光刻ROM 、温度传感器、非挥发的温度报警触发器TH 和TL、配置寄存器。光刻 ROM 中的64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。64 位光刻ROM 的排列是:开始8 位(地址: 28H )是产品类型标号,接着的 48 位是该 DS18B20 自身的序列号,并且每个 DS1
30、8B20 的序列号都不相同,因此它可以看作是该DS18B20 的地址序列码;最后 8 位则是前面 56位的循环冗余校验码( CRC=X8+X5+X4+1 )。由于每一个DS18B20 的ROM 数据都各不相同,因此微控制器就可以通过单总线对多个 DS18B20 进行寻址,从而实现一根总线上挂接多个 DS18B20 的目的10。图3-1-4 DS18B20部结构图64位ROM的位结构如表3-1-5所示。开始8位是产品类型的编号;接着是每个器件的唯一的序号,共有48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软
31、件写入用户报警上下限数据。图3-1-5 64位ROM的位结构图DS18B20温度传感器的部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。高速暂存RAM的结构为9字节的存储器,结构如图3-1-7所示。前2字节包含测得的温度信息。第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5字节为配置寄存器,其容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图3-1-6所示,其中,低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时,该位被设置为0,用户不要去改动;R1和R0决定温度转换的精度位数,即用来设置分辨率。R1R0分辨率/位温度最大转换时间/ms00993.750110187.510113751112750图3-1-6 DS18B20分辨率的定义和规定TMR1R0111111
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1