基于AT89C51的温度控制器设计-石礼君终稿_第1页
基于AT89C51的温度控制器设计-石礼君终稿_第2页
基于AT89C51的温度控制器设计-石礼君终稿_第3页
基于AT89C51的温度控制器设计-石礼君终稿_第4页
基于AT89C51的温度控制器设计-石礼君终稿_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

-.z2013届本科生毕业设计:TP212.9题目:基于AT89C51的温度控制器设计作者**:石礼君**:2009080708学院:机械与电子工程学院专业:自动化指导教师**:*明玉司志良指导教师职称:教授工程师2013年5月1日摘要温度的检测与控制是工业生产过程中比拟典型的应用之一,随着传感器在生产和生活中的广泛应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。随着时代的进步和开展,单片机技术已经普及到我们生活、工作、科研各个领域。数字式温度计以数字温度传感器作感温元件,它以单总线的连接方式,使电路大大的简化。传统的温度检测大多以热敏电阻为传感器,这类传感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了传统的温度测量方法,利用单片机对传感器进展控制,这样易于智能化控制。本次设计采用AT89C51单片机作为控制芯片,采用半导体集成温度传感器AD590采集温度信号来控制外围电路。关键词:温度传感器;AT89C51单片机;AD590温度传感器ABSTRACTthetemperaturedetectionandcontrolistheprocessofindustrialproductionisoneofthetypicalapplications,withthesensorintheproductionandlifeofthemorewidelyused,useofnovelsinglebusdigitaltemperaturesensortorealizethetemperaturemeasurementandcontrolgetfasterdevelopment,withtheeraofprogressanddevelopment,single-chiptechnologyhasspreadtoourlife,work,research,eachfield.Adigitalthermometerwithdigitaltemperaturesensorasatemperature-sensingelement,withsinglebusconnection,sothatthecircuitisgreatlysimplified.Thetraditionaltemperaturedetectionmostlybythethermistorasasensor,thesensorreliability,accuratetemperaturemeasurementrateandlowcircuitple*ity.Therefore,thethermometeroutoftraditionalmethodoftemperaturemeasurementusingMCU,sensorcontrol.Itiseasytointelligentcontrol.Keywords:temperaturesensor;AT89C51microcontroller;AD590temperaturesensor目录TOC\o"1-3"\h\u1系统总体方案设计12系统硬件设计12.1中央处理器12.1.1AT89C51简介12.1.2特殊功能存储器22.1.3芯片擦除22.1.4复位电路的设计22.1.5时钟电路设计32.2温度传感器AD59032.3信号调理电路42.4A/D转换52.5LED显示72.6控制电路93系统软件设计103.1程序初始化123.2主程序123.3A/D转换子程序133.4标度转换子程序143.5控制子程序143.6键盘子程序14结论15参考文献16致谢17-.z1系统总体方案设计本次设计采用MCS-51单片机作为控制芯片,采用半导体集成温度传感器AD590采集温度信号。通过温度传感器将采集的温度信号转换成与之相对应的电信号,经过放大处理送入A/D转换器进展A/D转换,将模拟信号转换成数字信号送入到控制芯片进展数据处理。通过在芯片外围添加显示、控制等外围电路来实现对保温箱温度的实时检测和控制功能。本系统功能由硬件和软件两大局部协调完成,硬件局部主要完成传感器信号的采集处理,信息的显示等。软件主要完成对采集的温度信号进展处理及显示控制等功能。系统构造框图如图1所示:保保温箱AD590热源交流电源调理电源路单片机最小系统A/D控制单片机显示设定继电器直流电源图1系统构造框图2系统硬件设计2.1中央处理器MCS-51系列单片机是8位增强型,其主要的技术特征是为单片机配置了完善的外部并行总线和具有多级识别功能的串行通讯接口〔UART〕,规*了功能单元的SFR控制模式及适应控制器特点的布尔处理系统和指令系统。属于这类单片机的芯片有许多种,如8051、8031、80C51等等。由于单片机具有较高的性能比,国内MCS-51系列单片机应用最广,易于开发、使用灵活、而且体积小、易于开发、抗干扰能力强,可以工作于各种恶劣的条件下,工作稳定等特点。本设计本着实用性和适用性的要求,选择AT89C51单片机作为中央处理器。2.1.1AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的具有低电压,高性能CMOS的8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。如图2为AT89C51的内部构造框图。图2AT89C51的内部构造框图2.1.2特殊功能存储器在单片机内高128BRAM中,由有21个特殊功能存放器〔AFR〕,它们离散的分布在80H-FFH的RAM空间中,特殊功能存放器只允许使用直接寻址方式。2.1.3芯片擦除整个EPROM阵列电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1〞且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停顿工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,制止所用其他芯片功能,直到下一个硬件复位为止。2.1.4复位电路的设计复位使单片机处于起始状态,并从该起始状态开场运行。AT89C51的RST引脚为复位端,该引脚连续保持2个机器周期〔24个时钟振动周期〕以上高电平,则可使单片机复位。内部复位电路在每一个机器周期的S5P2期间采样斯密特触发器的输出端,该触发器可抑制RST引脚的噪声干扰,并在复位期间不产生ALE信号,内部RAM处于不断电状态。其中的数据信息不会丧失,也即复位后,只影响SFR中的内容,内部RAM中的数据不受影响。外部复位有上电复位和按键电平复位。由于单片机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新开场运行。为了便于本设计运行调试,复位电路采用按键复位方式。按键复位电路如图3所示。图3复位电路2.1.5时钟电路设计时钟电路是单片机的心脏,它控制着单片机的工作节奏。MCS-51单片机允许的时钟频率是因型号而异的,其典型值为12MHZ。AT89C51内部有一个反相振荡放大器,*TAL1

和*TAL2分别是该反向振荡放大器的输入端和输出端。该反向放大器可配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。本设计采用的晶振频率为12MHZ。其时钟电路如图4所示。51系列单片机还可使用外部时钟。在使用外部时钟时,外部时钟必须从*TAL1输入,而*TAL2悬空。图4时钟电路2.2温度传感器AD590温度传感器的应用*围很广,它不仅用于日常生活中,而且也大量应用于自动化和过程检测控制系统。温度传感器的种类很多,根据现场使用条件,选择恰当的传感器类型才能保证测量的准确可靠,并且同时到达增加使用寿命和降低本钱的目的。AD590温度传感器不但实现了温度转化为线性电量测量,而且精度高、互换性好。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。本设计采用AD590作为温度传感器,它只需要一个电源即可实现温度到电流的线性变换,然后再终端使用一只取样电阻,即可实现电流到电压的转换。它使用方便,并且具有较高的精度。图5为AD590的封装形式和根本应用电路。图5AD590封装形式和应用电路AD590集成温度传感器是将温敏电阻晶体管与相应的辅助电路集成在同一块芯片上,能直接给出正比于绝对温度的理想线形输出,温敏晶体管在管子的集电极电流恒定时,其基极发射极电压与温度成线形关系,由于生产厂家生产时采用激光微调来校正集成电路内的薄膜电阻,使其在摄氏零度〔对应绝对温度为273.2K〕,输出电流微273.2uA,灵敏度微1uA/K。当其感受的温度升高或者降低时,则其电流就以1uA/K的速率增大或减小,从而将被测电流转换为电压,则可以用电压来表示其温度大小。为克制温敏晶体管vb电压产生时的离散性,采用了特殊的差分电路。集成温度传感器具有电压型和电流型两种。因此,它不容易受接触电阻、引线电阻、电压噪音的干扰,具有很好的线性特性。AD590温度传感器作为一个恒流源,在本设计的温度检测电路中在AD590的输出端接一取样电阻可将输出电流信号变化转换为电压信号变化。由于AD590温度传感器温度每变化1℃其输出电流变化1A。所以在接上10K的取样电阻的情况下,温度每变化10℃,输出电压就将变化0.1V。2.3信号调理电路经过温度传感器采集输出的电压信号一般来说是非常微弱的,因此,在送往单片机处理之前应对该信号进展放大。本系统所采用的A/D转换器为ADC0809,由于ADC0809的输入信号应在0~5V之间,因此,经过放大电路放大的信号进入A/D转换器的电压信号应控制在0~5V之间,根据此原则可设计适宜的放大倍数。信号调理电路主要由运算放大器0P07等组成。为了使温度检测电路的输出电压能够适合于A/D转换器的参考电压,利用超低温漂移高精度运算放大器0P07将温度电压信号进展放大到0~5V的*围之内,便于A/D进展转换,以提高温度采集电路的可靠性。本设计中,信号调理电路局部由集成运放OP07分别构成一个电压跟随器,电压比拟器和一个同相输入放大器用于对AD590输出的小电压信号进展放大处理[9]。信号调理电路如图6所示图6温度检测电路在该放大电路中,电压跟随器起阻抗匹配的作用。反应电阻为零时,放大倍数为1,电压跟随器的输入电压等于输出电压电压比拟器用于对输出电压小信号电压进展调零,在上述电路图中的电压比拟器局部由于R2=R4,R3=R5可得电压比拟器的输出电压根据电压跟随器的输出电压调节电位计R9就改变电压比拟器的输入电压。使得当温度为温度测量下限时电压比拟器的输出电压为零。起放大作用的是同相输入放大器OP07。其放大倍数:因此放大器的输出电压2.4A/D转换ADC0809是一种8位逐次逼近式A/D转换器,其内部有一个8位“三态输出锁存器〞可以锁存A/D转换后的数字量,故它本身既可看作一种输入设备,也可以认为是并行I/O接口芯片。故ADC0809可以和微机直接接口,本设计就是用AT8951和ADC0809直接相连的。AT89C51与ADC0809的连接方法如图7所示,AT89C51通过地址线P2.7和写控制信号线用一个或非门联合控制启动转换信号端(START)和地址锁存信号端(ALE)。地址线P2.7和读控制信号线用一个或非门联合控制输出允许控制端(EOC)。低三位地址线加到ADC0809的ADDA、ADDB、ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。转换完毕信号EOC通过一个反相器接到INT1。AT89C51和ADC0809连接通常可以采用查询和中断两种方式。本系统采用中断方式传送数据,EOC线作为CPU的中断请求输入线。CPU线响应中断后,应在中断效劳程序中使OE线变为高电平,以提取A/D转换后的数字量。图7AT89C51与ADC0809连接图和START的逻辑关系分别为:=P2.7•=P2.7+START=P2.7•=P2.7+对ADC0809地址确实定:根据系统硬件连接图可知所选定模拟电压路数为IN0,其对应的地址为ABC=000,即P0.0、P0.1、P0.2=000;又P2.7=0时才能启动ADC0809工作和使AT89C51从ADC0809接收A/D转换电压的数字量。故确定ADC0809其中一个地址为:0111111111111000B=7FF8H,其中“__〞表示固定量。ADC0809的IN0和变送器输出端线连,故IN0上输入的0V~+5V*围的模拟电压经A/D转换后可由AT89C51通过程序从P0口输入到它的内部RAM单元。2.5LED显示单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED;液晶显示器,简称LCD。前者价廉,配置灵活,与单片机接口方便;后者可进展图形显示,但接口复杂,本钱较高。结合本设计的特点,在这里系统的显示采用发光二极管作为显示器件。单片机中使用7段LED构成字形“8〞,另外,还与一个小数点发光二极管用以显示数字、符号及小数点。这种显示器有共阴极和共阳极两种,如图8所示。发光二极管的阳极连在一起称为共阳极显示器,阴极连在一起的称为共阴极显示器。一位显示器由八个发光二极管组成,其中,7个发光二极管构成字形“8〞的各个笔划〔段〕a-g,另一个小数点为dp发光二极管。当在*段发光二极管施加一定的正向电压是,该段笔划即点亮;不加电压则该段二极管不亮。为了保护各段LED不被损坏,需要外加限流电阻。图8数码管如果要显示*个字形,则应使此字形的相应段点亮,也即送一个不同的电平组合代表的数据来控制LED的显示字形,此数据称为字符的段码。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0〞,共阳极数码管的字型编码应为:11000000B〔即C0H〕;共阴极数码管的字型编码应为:00111111B〔3FH〕。74LS164是8位串入并出移位存放器。它的引脚如图9所示。A、B为串行输入端,QA~QH为串行输出端,CLK为串行时钟输入端,为串行输出清零端,VCC为+5V电源输入端,GND为接地端。具体输入输出关系如表3-6所示。*代表任意状态;QA0、QB0~QH0代表在稳态输入条件建立之前QA、QB~QH的输出状态;QAn、QBn~QHn代表在最近的时钟上升沿↑转换之前QA、QB~QH的输出状态;H/L、QAn~QBn代表在最近的时钟上升沿↑转换之后QA、QB~QH的输出状态。表174LS164输入输出关系如所示输入输出去除时钟ABQAQB~QHL***HL**H↑HHH↑L*H↑*LLL~LQA0QB0~QH0HQAn~QGnLQAn~QGnLQAn~QGn图974LS164引脚如图串行显示电路属于静态显示,比动态显示亮度更大一些。由于74LS164在低电平输出时,允许通过的电流达8mA,故不必添加驱动电路,亮度也比拟理想。与动态扫描相比拟,无需CPU不停的扫描,频繁地为显示效劳,节省了CPU时间,软件设计也比拟简单。由于本设计采用的是共阳极数码管,所以相应的亮段必须送0,相应的暗段必须送1。原理图如图10所示:图10LED串行静态显示2.6控制电路在本设计中,被测温度信号经采样处理后,还需要通过单片机系统的P1.2口输出用以控制保温箱的温度,通过这种方式到达控制的目的。控制的方式主要有模拟量控制和开关量控制。本系统采用的是开关量控制。所谓的开关量控制就是通过控制设备的“开〞或“关〞状态的时间来到达控制的目的。由于输出设备往往需要大电压来控制,而单片机系统输出的为TTL电平,这种电平不能直接驱动外部设备的开启和关闭。另一方面,许多外部设备在开关过程中会产生很强的电磁干扰信号,如果不隔离会使系统进展错误的处理。因此在开关量的输出控制过程中要考虑到两个问题,一要隔离;二要放大。本设计采用继电器作为控制电路的主要器件,继电器具有一定的隔离作用,在继电器前面加一个三极管用以放大输出信号就可以驱动继电器的闭合和断开,从而实现弱电控制强电的效果。继电器是一种电子控制器件,它具有控制系统〔又称输入回路〕和被控制系统〔又称输出回路〕,通常应用于自动控制电路中,它实际上是用较小的电流控制较大电流的一种开关。故在电路中起自动调节、平安保护、转换电路等作用。在工业自动化控制系统中,继电器经常被用来控制执行机构,特别是应用在一些耐潮、耐腐蚀、防爆的特殊装置中。固态继电器和MCS-51系列单片机组成的控制系统,具有抗干扰性强、编程简单、系统兼容性好等特点,具有非常广阔的应用前景。继电器一般由通电线圈和触电组成。当线圈通电时,由于磁场作用,使开关触电闭合。当不通电时,则开关触点断开。一般线圈可用直流低电压控制〔+5V,+9V,+12V〕。继电器的特性参数包括输入和输出参数,主要的参数为额定输入电压、额定输出电流、浪涌电流。根据输入电压参数值大小,可确定工作电压大小。如采用TTL或CMOS等逻辑电平控制时,采用有足够带载能力的低电平驱动,并尽可能使“0〞电平低于0.8V。如在噪声很强的环境下工作,不能选用通、断电压值相差小的产品,必需选用通、断点压值相差大的产品,(如选接通电压为8V或12V的产品)这样不会因噪声干扰而造成控制失灵。本设计就是采用直流驱动电压为+5V的继电器。触电输出局部可以直接与市电连接。继电器控制电路如图11所示:图11继电器控制电路3系统软件设计本次单片机温控系统的功能是由硬件电路配合软件来实现的,当硬件根本定型后,软件的功能也就根本定下来了。系统软件的功能又可分为两大类:一是监控软件,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件,它是用来完成各种实质性的功能如测量、显示等功能。每一个执行软件也就是一个小的功能执行模块。本文将各执行模块一一列出,各执行模块规划好后,就可以规划监控程序了。本系统程序设计包括温度采集子程序、显示子程序、标度转换资程序、键盘子程序、控制子程序[11]。程序流程图如图12所示。开场开场初始化温度参数采样当前温度当前温度和设定温度送显示缓冲设定温度-当前温度继电器闭合继电器断开维持状态读键盘键值.向上键向下键设定温度减1设定温度加1无键按下小于等于-2大于等于2图12系统流程图3.1程序初始化程序初始化局部根据系统硬件原理图及设计要求对单片机系统进展系统资源分配、参数的设置以及定义。系统内部资源分配和参数设置如下:A/D端口地址〔ADPORT〕:7FF8H显示缓冲起始地址:〔LEDBUF〕:30H段码存储起始地址〔TEMP〕:40H设定温值存储地址〔SETTEMP〕:50h测量温度存储地址〔CURTEMP〕:51H温度设定上限〔HIGHLIMIT〕:80温度设定下限〔LOWLIMIT〕:25温度测量上限〔HIGHTEMP〕107温度测量下限〔LOETEMP〕21初始化程序代码如下:ADPORTEQU7FF8H;A/D端口地址LEDBufequ30H;显示缓冲TEMPEQU40H;段码存储UPequ1;增温DOWNequ2;减温LowLimitequ25;设定值下限HighLimitequ80;设定值上限LowTempequ21;A/D0HighTempequ107;A/D255SetTempequ50h;设定温值CurTempequ51h;测量温度DINBIT0B0H;P3.0CLKBIT0B1H;P3.1ORG0000HljmpStart3.2主程序主程序的编写是为了实现程序在各个模块间的跳转。这样使程序编写思路更加明了,简化了程序的编写难度,有利于程序的调试。本软件系统包括A/D转换模块,标度转换模块,显示模块,键盘模块,控制模块等。主程序代码如下:Start:开场初始化开场初始化启动A/D转换A/D转换完成.数据输出延时完毕MLoop:callTestKey;测试有无键入jnzKeyPressed;更改设定值callDisplayResult;数制转换callDisplayLED;显示callReadTemp;读入温度CONTROL:......;控制子程序KeyPressed:......;键盘子程序END3.3A/D转换子程序根据系统硬件连接图可知,在系统中将ADC0809作为一个外部扩展并行I/O口,采用线选寻址。由P2.7和联合控制启动转换信号端〔ATART〕和ALE端,低三位地址线架到ADC0809和ADDA,ADDB,ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。启动DAC0809的工作过程是:先送通道号地址到ADDA,ADDB,ADDC,由ALE信号锁存通道号地址,后让ATART有效,启动A/D转换,即执行一道“MOV*DPTR,A〞指令产生信号,使ALE,START有效,锁存通道号并启动A/D转换,A/D转换完毕后,EOC端发出一正脉冲,申请中断。图4.2A/D转换流程图在中断效劳程序中,“MOVA,DPTR〞指令产生信号,使OE端有效,翻开输出锁存器三态门,8位数据便读入到CPU中。A/D转换子程序流程图如图4.2所示。A/D转换子程序代码如下:ReadAD:movdptr,*ADPORTclramov*dptr,a;startA/DJNBP3.3,$MOV*A,DPTR;读入结果ret3.4标度转换子程序系统温度测量*围的计算原理:根据温度标定结果选取两个温度状态T1T2,模拟输出电压V1V2;根据0809的输入*围在0到5伏,即可计算出温度极限。计算公式如下:0伏时对应的温度TL:T1-〔V1-0〕〔T2-T1〕/〔V2-V1〕5伏时对应的温度TH:T1-〔V1-5〕〔T2-T1〕/〔V2-V1〕根据所得结果采用在温度为50℃和60℃下所测量的电压输出1.6V和2.2V为计算温度测量*围的参数,根据上式可得:TL=50-(1.68-0)(50-40)/(2.26-1.68)=21TH=50-(1.68-5)(50-40)/(2.26-1.68)=107所以A/D转化的极限*围为21℃-107℃之间,而根据系统要求温度的控制*围为25℃-80℃之间,符合系统要求。程序中温度的计算原理:首先用温度*围除以0到256〔即每个十六进制数的温度增长率〕,然后乘以模拟转换的数字量,即得到升高的温度,再和最低温度相加,就可以得到实际的温度值。其公式为:TL+A*〔TH-TL〕/256。TL:显示的最低温度TH:显示的最高温度A*:模拟电压所转换的数字量3.5控制子程序本设计采用P1.2作为输出控制口。当设定温度比当前温度高2℃以上时,P1.2置1,使其输出高电平,用以驱动继电器,使继电器闭合,电炉开场加热。当设定温度比当前温度低2℃以下时,P1.2置零,使继电器断开,电炉停顿加热。3.6键盘子程序键盘是人与微机打交道的主要设备,从系统监控软件的设计角度来看,仅仅通过键盘扫描,读取当前时刻

温馨提示

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

评论

0/150

提交评论