基于51单片机的温度监控器的设计说明Word格式文档下载.docx
- 文档编号:19389718
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:23
- 大小:635.26KB
基于51单片机的温度监控器的设计说明Word格式文档下载.docx
《基于51单片机的温度监控器的设计说明Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温度监控器的设计说明Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
在农业上,对温室大棚的温度控制也是非常重要的,尤其是在种植反季节蔬菜方面,温度的控制能力就直接关系蔬菜的生长好坏以与上市时间,而上市时间就决定了你所种植的蔬菜的价格高低,直接关心你的收入多少。
因而设计一种较为理想的温度控制系统是非常有价值的。
工业生产中温度控制具有单向性、时滞性、大惯性和时变性的特征,同时要实现温度控制的快速性和准确性,对于提高产品质量具有很重要的现实意义。
农业上则要求你所设计的控制器价格低廉并且具有很好的温度控制和调节能力。
对于不同场所、不同工艺、所需温度高低围不同、精度不同,则采用的测温元件、测温方法以与对温度的控制方法也将不同;
产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同。
因而,对温度的测控方法要多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
然而现有的温度传感元件大多为模拟器件(热电耦)体积大、应用复杂、而且不容易实现数字化等缺点,阻碍了应用领域的扩展。
对于温度的检测通常是采用热敏电阻在通过A/D(模/数)转换得到数字信号,但由于信号的采集对整个系统的影响很大,如果采样精度不高,会使这个系统准确性下降。
因此本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器。
实现恒温控制的方法有很多,传统的有利用PLC自适应控制加热丝实现恒温控制,还有利用模拟PID调节的恒温控制,其算法需要查表转换。
而基于单片机的控制系统,为闭环系统,工作稳定性高,控制精度高,利用模糊控制算法[1]使超调量大大降低。
软件采用模块化结构,提高了通用性。
本设计的目的不仅仅使温度控制本身,主要提供了单片机外围电路与软件包括控制算法设计的思想,应该说,这种思想比控制系统本身更为重要。
因此本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C52作为主控芯片,液晶显示屏1602作为显示输出,实现了对温度的实时测量与恒定控制。
二系统方案论证
2.1设计方案
对于温度控制的方法也有很多:
如单片机控制、PLC控制、模拟PID调节器和数字PID调节器等等。
而PID调节器的算法复杂,其成本也相对较高。
方案一:
利用单片机实现恒温控制
利用单片机实现温度恒定的控制,系统主要包括现场温度采集、实时温度显示、加热控制参数设置、加热电路控制输出、报警装置和系统核心STC89C52单片机作为微处理器。
温度采集电路以数字形式将现场温度传至单片机,单片机结合现场温度与用户设定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。
以此控制量控制场效应管开通和关断,决定加热电路的工作状态,使温度逐步稳定于用户设定的目标值。
在温度达到设定的目标温度后,由于冷却温度降低,单片机通过检测到的温度与设置的目标温度比较,作出相应的控制开启加热片。
方案二:
利用PLC实现恒温控制
这用恒温控制,采用PLC控制实现电热丝加热全通、间断导通和全断加热的自控式方式,来达到温度的恒定。
智能型电偶温度表将置于被测对象中,热电偶的传感器信号与恒定温度的给定电压进行比较,生成温差,自适应恒温控制电路根据差值大小控制电路的断开。
2.2方案的论证
对于方案二,采用的PLC实现恒温控制,由于其PLC成本高,且PLC外围系统配置复杂,不利于我们的设计。
由于数字调节和运算量大,相反对于AT89C52单片机只要选择合适的参数对于温度的控制精度往往能达到比较好的效果。
对于方案一,采用单片机实现恒温控制,该方案成本低,可靠性高,抗干扰性强,对于系统动态性能与稳定性要求不是很高的场合时非常合适的。
采用高精度的温度传感器:
数字温度传感器DS18B20。
这种数字温度传感器是DALLAS公司生产的单总线。
在这种前提下,通过单片机对偏差进行模糊控制运算,对调节加热可达到控制温度恒定。
综合各方面的意见,本设计采用单片机来实现温度的控制。
三系统硬件电路设计
3.1电路总体原理框图
温度测量与加热系统控制的总体结构如图3-1所示。
体统主要包括现场温度采集、实时温度显示、加热控制参数设置、加热电路控制输出、报警装置和系统核心AT89C52单片机作为微处理器。
数字式温
度传感器
51单片机
AT89C52
显示器
加热器(白炽灯)
越限报警
控制器(继电器)
键盘
图3-1恒温控制系统设计方案框图
温度采集电路以数字量形式将现场温度传至单片机。
单片机结合现场温度与功能要求设定的目标温度,按照已经编程固化的模糊控制算法计算出实时控制量。
以此控制量控制晶体管管开通和关断,决定加热电路的工作状态,使温度逐步稳定于要求设定的目标值。
在温度到达设定的目标温度后,由于自然冷却而使其温度下降时,单片机通过采样回的温度与设置的目标温度比较,作出响应的控制,开启加热器。
系统运行过程中的各种状态均可由液晶显示器1602实时显示。
3.2单片机的选择
用AT89C52的单片机作为控制主机。
之所以选择AT89C52作为主机,是因为AT89C52作为51系列单片机的一种,其使用性能稳定,价格便宜,完全能够满足此次设计的需求。
而且AT89C52部集成了程序存储器,可以装载用户程序,方便后续的课程设计需要,不像8031因为要外接程序存储器而是电路相对麻烦了。
其实物图如图3-1
图3—1
3.1.1AT89C51单片机
AT89C52是一个低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
主要功能特性
1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)FlashROM;
3、32个双向I/O口;
4、256x8bit部RAM;
5、3个16位可编程定时/计数器中断;
6、时钟频率0-24MHz;
7、2个串行中断,可编程UART串行通道;
8、2个外部中断源,共8个中断源;
9、2个读写中断口线,3级加密位;
10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
11、有PDIP、PQFP、TQFP与PLCC等几种封装形式,以适应不同产品的需求。
引脚功能与管脚电压
AT89C52为8位通用微处理器,采用工业标准的C51核,在部功能与管脚排布上与通用的8xc52一样,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC部寄存器、数据RAM与外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码与与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚与28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测与会聚调整状态进入的控制功能。
PDIP封装的AT89C52引脚图
P0口
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的 方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口
P1是一个带部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑 门电路。
对端口写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX), 参见表1。
Flash编程和程序校验期间,P1接收低8位地址。
表.P1.0和P1.1的第二功能
引脚号
功能特性
P1.0
T2,时钟输出
P1.1
T2EX(定时/计数器2)
P2口
P2是一个带有部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑 门电路。
对端口P2写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数
据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3口
P3口是一组带有部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻 辑门电路。
对P3口写入“1”时,它们被部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能 P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字 节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条 MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数 据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接 地)。
需注意的是:
如果加密位LB1被编程,复位时部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1
振荡器反相放大器的与部时钟发生器的输入端。
XTAL2
振荡器反相放大器的输出端。
特殊功能寄存器
在AT89C52片存储器中,80H-FFH共128个单元为特殊功能寄存器(SFR),SFR的地址空间映象如表2所示。
并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。
对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将数据写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
AT89C52除了有AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。
定时/计数器2的控制和状态位位于T2CON(参见表3)T2MOD(参见表4),寄存器对(RCAO2H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器。
数据存储器
AT89C52有256个字节的部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128 字节的RAM和特殊功能寄存器的地址是一样的,但物理上它们是分开的。
当一条指令访问7FH以上的部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节 RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。
MOV0A0H,#data 间接寻址指令访问高128字节RAM,例如,下面的间接寻址指令中,R0的容为0A0H,则访问数据字节地址为0A0H, 而不是P2口(0A0H)。
MOVR0,#data 堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。
·
定时器0和定时器1:
AT89C52的定时器0和定时器1的工作方式与AT89C51一样。
片上资源
定时器2
基本特性:
定时器2是一个16位定时/计数器。
它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄 存器T2CON(如表3)的C/T2位选择。
定时器2有三种工作方式:
捕获方式,自动重装载(向上或向下计数)方式和波 特率发生器方式,工作方式由T2CON的控制位来选择。
定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机 器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个 机器周期的5SP2期间,对外部输入进行采样。
若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0, 则在紧跟着的下一个周期的S3P1期间寄存器加1。
由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最 高计数速率为振荡频率的1/24。
为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输 入信号至少被采样一次。
捕获方式:
在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。
如果EXEN2=0,定时器2是一个16位定时器或计数器, 计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。
如果EXEN2=1,定时器2完成一样的操作,而当T2EX引 脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。
另外,T2EX引 脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。
捕获方式如图4所示。
自动重装载(向上或向下计数器)方式:
当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON (见表5)的DCEN位(允许向下计数)来选择的。
复位时,DCEN位置“0”,定时器2默认设置为向上计数。
当DCEN 置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,参见图5,当DCEN=0时,定时器2自动设置 为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2=0,定时器2为向上计数至0FFFFH溢 出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置。
若EXEN2=1,定时器2的16位重装载由溢出或外部输入端T2EX从1至0的下降沿触发。
这个脉冲使EXF2置位,如果 中断允许,同样产生中断。
定时器2的中断入口地址是:
002BH——0032H。
当DCEN=1时,允许定时器2向上或向下计数,如图6所示。
这种方式下,T2EX引脚控制计数器方向。
T2EX引脚为逻 辑“1”时,定时器向上计数,当计数0FFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L重装 载到TH2和TL2中。
T2EX引脚为逻辑“0”时,定时器2向下计数,当TH2和TL2中的数值等于RCAP2H和RCAP2L 中的值时,计数溢出,置位TF2,同时将0FFFFH数值重新装入定时寄存器中。
当定时/计数器2向上溢出或向下溢出时,置位EXF2位。
波特率发生器:
当T2CON(表3)中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。
如果定时/计数器2作
表3
为发送器或 接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能,如图7所示。
若RCLK和TCLK置位,则定时器2 工作于波特率发生器方式。
波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16 位数值重新装载,该数值由软件设置。
在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:
方式1和3的波特率=定时器的溢出率/16 定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。
定时器2作为波 特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存器的值加1, 而作为波特率发生器使用时,在每个状态时间(1/2振荡频率)寄存器的值加1。
波特率的计算公式如下:
方式1和3的波特率=振荡频率/{32*[65536-(RCP2H,RCP2L)]} 式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。
定时器2作为波特率发生器使用的电路如图7所示。
T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。
在 波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断。
但若EXEN2置位,且T2EX端产生由1至0的 负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L)的容重新装入TH2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 温度 监控器 设计 说明