基于单片机AT89C51的温度采集控制系统.docx
《基于单片机AT89C51的温度采集控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C51的温度采集控制系统.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机AT89C51的温度采集控制系统
基于单片机(AT89C51)的温度采集控制系统
摘要
目前国内喷油泵试验台的量油系统仍采用传统的量筒式计量法.该测量系统存在量筒的制造误差、刻度误差和测量人员的视觉误差等,使测量系统的系统误差较大、自动化程度低、测量过程缓慢,已不能满足现代喷油泵对其测量精度的要求。
将微机引入喷油泵试验台,对实现检测自动化提高检测精度和效率,增加检测功能有一定的实际意义和经济效益。
结合实际情况,对原有电子控制喷油泵试验台进行改造、设计、开发,将单片机和计算机引入喷油泵试验台,设计一套监控系统,用单片机作为下位机控制试验台,用计算机作上位机,在基于Windows的操作界面下用预先编制好的监控软件控制单片机,既操作简单,对实现检测自动化、提高检测精度和效率、增加检测功能又有重要的现实意义
本文提出的温度采集控制系统以单片机(AT89C51)为核心,由控制部分、显示部分和温度测量(AD590)部分组成。
该系统大部分功能通过硬件来实现,电路简单明了,系统稳定性很高。
这套温度控制系统可以方便地实现温度测量、温度显示等功能,并通过与单片机连接的键盘可以实时设定测控温度的下限,还可以连接相应的外围电路,在收到单片机发出的指令后对环境进行检测
本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件模块的功能和它的工作过程;其次,详细阐述了程序的各个模块及其实现过程。
本系统的主要设计思想是以硬件为基础,软件和硬件相结合,最终实现各个模块的功能。
关键词:
AT89C51、温度采集、AD590
Abstract
Theamountofdomesticoilpumptest-bedsystemisstillUSESthetraditionalLiangTongtypemeasurement.ThemeasurementsystemofexistingmanufacturingerrorLiangTong,calibrationerrorandsurveyorsvisualerror,etc.,sothatthesystemerrormeasuringsystemofbigger,thelowautomaticdegree,measurementprocessslow,alreadycannotsatisfythemeasurementaccuracyofmodernfueltherequirements.Willthemicrocomputerintroducingtotherealizationofpumptest-bed,improvesthedetectioninspectingautomationaccuracyandefficiency,increasethedetectionfunctionhascertainpracticalsignificanceandeconomicbenefits.Combinedwiththeactualsituation,theoriginalelectroniccontrolpumptest-bedforreform,thedesign,thedevelopment,willintroducesingle-chipmicrocomputerandcomputerpumptest-bed,designasetofmonitoringsystem,withsinglechipmicrocomputeraslowerlevelcomputercontroltestrig,withthecomputerforPC,inWindowsbaseduserinterfacewithprogrammedmonitoringsoftwarecontrolmicrocontroller,bothsimpleoperation,torealizedetectionautomation,improvingprecisionandefficiency,increasethedetectionfunctionandhaveimportantpracticalsignificance
Inthispaper,temperaturegatheringcontrolsystemtakesmicrocontroller(AT89C51)asthecore,fromcontrollingpart,displaysectionandtemperaturemeasurements(AD590)parts.Thesystemhardwaretorealizemostfunctionthrough,circuitstraightforward,stabilityofthesystemisveryhigh.
Thetemperaturecontrolsystemcaneasilyachievetemperaturemeasurement,temperaturedisplay,etc.,andthroughthekeyboardcanconnectwithsingle-chipmicrocomputertemperaturemeasurementandcontrolthelowerlimitofreal-timeSettings,alsocanconnecttothecorrespondingperipheralcircuit,whenreceivingacommandforSCMenvironmentaftertesting
Thispaperfirstlydescribesthesystemhardwareworkprinciple,eachaccompaniedbyadiagramtoillustratethesystemstructure,introducesthissystemthattheapplicationofthehardwaremodulesofthesystemanditsworkingprocess;Secondly,thispaperexpoundstheprogrammodulesandrealizeprocess.Thesystem'smaindesignideasbasedonthehardware,softwareandhardwarecombined,finallyrealizesthefunctionofeachmodule.
Keywords:
AT89C51TemperaturecollectionAD590
第一章设计背景及设计意义
1.1引言
在国民经济各部门,如电力、化工、机械、冶金、农业、医学以及人们的日常生活中,温度检测是十分重要的。
在许多模拟量控制和监视应用中,温度测控通常是基于-40℃~125℃温度范围内的应用,如环境监测、蔬菜大棚、粮库、热电偶冷端温度补偿、设备运行的可靠性等应用。
实时采集温度信息,及时发现潜在故障,并采取相应的处理措施,对确保设备良好运行具有重要意义。
本文介绍了一个基于单片机的温度控制系统,该系统可以方便地实现温度采集、温度显示等功能。
本系统的温度控制部分采用单片机完成。
单片机有着体积小、功耗低、功能强、性能价格比高、使用电子元件较少、内部配线少、制造调试方便等显著优点,将其用于温度检测和控制系统中可大大地提高控制质量和自动化水平,具有良好的经济效益和推广价值。
利用单片机对温度进行测控的技术,日益得到广泛应用。
在众多的温度控制系统中,测温元件常常选用热敏电阻、半导体测温二极管、三极管、集成温度传感器等。
相比而言,集成温度传感器具有线性好、稳定度高、互换性强、易处理等突出优点,故在许多场所得到了广泛应用。
本系统中单片机作为下位机,完成测温任务,并通过与单片机连接的键盘可以实时设定测控温度的下限。
本系统还可以连接相应的外围加热电路,当环境温度低于设定下限温度时,单片机发出的指令,加热器起动对环境进行加热,当温度回升到下限温度时加热器停止加热。
为了便于操作,还设计一个简单的操作面板,它主要由键盘与按钮开关组成,通过操作面板可以进行系统的开停、RESET、设置温度下限告警值等。
键盘输入部分采用了键盘专用IC74C922,简化了软件编程,用起来非常方便。
系统软件主要由初始化程序、主程序、监控显示程序等组成。
其中初始化程序是对单片机的接口工作方式,A/D转换方式等进行设置;显示程序包括对显示模块的初始化、显示方式设定及输出显示;主程序则完成对采集数据进行处理。
该系统应用范围相当广泛,同时采用单片机技术,由于单片机自身功能强大,因而系统设计简单,工作可靠,抗干扰能力强,也可在此基础上加入通信接口电路,实现与上位机之间的通信。
1.2设计背景及意义
喷油泵是柴油机燃料供给系统中最精密的部件,被称为柴油机的“心脏”,是柴油机各项技术性能的控制机构。
它根据柴油机的转速均匀分配再汽缸的进油量。
喷油泵由泵油机构、供油量调节机构、驱动机构、喷油泵体组成。
喷油泵又称为高压油泵,它根据柴油机不同的运转情况,将燃油输送泵送来的低压油提升压力,在预定的时间内将相应的油量按一定规律压送到喷油器。
喷油泵试验台作为测试、调整喷油泵泵油参数的专用设备,在喷油泵的制造与维修中发挥着重要的作用。
喷油泵试验台的主要用途是检测和调整喷油泵在各种工况时的喷油量及各缸喷油间隔角。
衡量喷油泵试验台性能和质量的一个重要指标就是喷油量测量的精确性。
目前国内喷油泵试验台的量油系统仍采用传统的量筒式计量法.该测量系统存在量筒的制造误差、刻度误差和测量人员的视觉误差等,使测量系统的系统误差较大、自动化程度低、测量过程缓慢,已不能满足现代喷油泵对其测量精度的要求。
将微机引入喷油泵试验台,对实现检测自动化提高检测精度和效率,增加检测功能有一定的实际意义和经济效益。
结合实际情况,对原有电子控制喷油泵试验台进行改造、设计、开发,将单片机和计算机引入喷油泵试验台,设计一套监控系统,用单片机作为下位机控制试验台,用计算机作上位机,在基于Windows的操作界面下用预先编制好的监控软件控制单片机,既操作简单,对实现检测自动化、提高检测精度和效率、增加检测功能又有重要的现实意义。
因此,本文就油温一个问题进行研究,利用单片机——下位机程序的设计控制,实现对油泵油温的控制使得油泵更好的工作。
第二章系统方案设计
2.1功能设计要求
这套温度采集、控制系统可以方便地实现温度测量、温度显示等功能,并通过与单片机连接的键盘可以随时设定测控温度的下限,还可以连接相应的外围电路,在收到单片机发出的指令后对环境进行监测,当温度回升到下限温度时加热器停止监测。
1、采集温度并显示温度值。
对温度控制器而言,最基本的功能是测温功能即能时时采集被测环境的温度并通过显示部分显示出来。
2、设定测控温度下限。
温度采集一般都具有设定限定温度功能,即预设一个温度值,一旦温度低于这个温度值,控制器就会发出提示,连接相应的外围电路就可以对环境进行检测。
3、采用专用直流供电电源。
与其它的温度控制器相比,本系统的温度采集器输出模拟电流,易受干扰。
因而必须以专用直流电源供电,分别为模拟部分和数字部分提供专用电压。
4、利用单片机制作一个油温控制器,要求如下:
①温度设定范围38-42℃,最小区分度1℃,标定误差≤1℃。
②用十进制数码显示水的实际温度。
③环境温度降低时,温度控制的静态误差≤1℃。
2.2系统方案确定
2.2.1方案论证
方案一
采用美国DALLAS半导体公司继DS1820之后推出的一种该进型智能温度传感器DS18B20作为检测元件,检测范围—55~125℃,最大分辨率可达0.0625℃。
DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,
图2-1基于DS18B20的温控电路
本电路由3个模块组成;主控制器,测温电路及显示电路,主控制电路;
单片机AT89C51具有低电压供电和小体积等特点。
图2-2DS18B20与单片机的接口电路
显示电路:
采用4位共阳LED数码管,从P1口输出段码,到扫描用P3.0-P3.1口来实现,列驱动用9012三极管。
DS18B20与单片机的接口电路,如图2-2:
DS18B20可以采用两种方式供电,一种是采用电源供电方法,如图此时DS18B20的1脚接地,2脚作为信号线,3脚接电源,另一种是寄生电源供电方式,单片机接口接单线总线,为保证有效的DS18B20时钟周期内提供足够的电源,可用一个MOSFET管来完成总线的上位。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上位,上位开启时最大为10uA。
采用寄生电源供电方式时VDD和GND端军接地。
由于单线制只有一根线,因此发送接口必须是三态的。
方案二
由AD590配以ADC0809。
ADC0809是最常用的8位模数转换器,属于逐次逼近型。
ADC0809采用单一的+5V供电,片内有带锁存功能的8路模拟开关,可对0—5V,8路模拟信号分时进行转换,完成一次转换的的时间是100US,数字输出信号具有TTL三态锁存器,可以直接与AT89C51相连。
通过对比,方案一中使用DS18B20采集温度,结构较复杂,价格也稍显昂贵,适合较大规模的工业农业使用。
成本较高故从以上两种方案,很容易看出采用方案二,电路不仅比较简单,软件设计也比较简单,故采用了方案二
图2-3系统组成方框图
2.2.2方案确定
由设计要求可知,该油温控制器应包括主控制器单片机、温度检测模块、加热控制模块、键盘设定模块及数据显示模块。
温度检测模块由温度传感器AD590、信号放大器及A/D转换器ADC0809组成。
由AD590将温度转换成电流信号再经信号放大器得到对应的模拟电压,再经ADC0809转换后接入单片机。
键盘扫描由11个按键及3位LED共阳极显示器组成。
通过P1、P2口直接驱动键盘,为了简化显示接口,这里采用了串行口扩展LED显示器
第三章油温控制系统硬件电路设计
3.1硬件部分的简介
3.1.1AT89C51的简介
AT89C51单片机是最常用的单片机,是一种低损耗、高性能、CMOS八位微处理器。
AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容,而且能使系统具有许多MCS-51系列产品没有的功能,功能强、灵活性高且价格低。
AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。
AT89C51提供以下标准功能:
32个I/O口线2个16位定时/计数器
4k字节FLASH闪速存储器128字节内部RAM
一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。
空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。
引脚功能说明89C51共40个引脚,大致可分为四类:
图3-189C51引脚图
(1)电源引脚
VCC:
电源端,+5V。
VSS:
接地端(GND)。
(2)时钟电路引脚
XTAL1:
外接晶振输入端。
XTAL2:
外接晶振输出端。
(3)I/O引脚
P0.0~P0.7/AD0~AD7:
一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。
作输入/输出口用时,必须外接上拉电阻,它可驱动8个TTL门电路。
当访问片外存储器时,用作地址/数据分时复用口线。
P1.0~P1.7:
一组内部带上拉电阻的8位准双向I/O口,可驱动4个TTL门电路。
P2.0~P2.7/A8~A15:
一组内部带上拉电阻的8位准双向I/O口,可驱动4个TTL门电路。
当访问片外存储器时,用作高8位地址总线。
P3.0~P3.7:
一组内部带上拉电阻的8位准双向I/O口。
出于芯片引脚数的限制,P3端口每个引脚具有第二功能。
(4)控制线引脚
RESET/VPD:
复位端/备用电源输入端。
当RESET端出现持续两个机器周期以上的高电平时,可实现复位操作。
VPD端可外接备用电源,以便在VCC掉电时向RAM供电。
EA/VPP:
片外程序存储器选择端/Flash存储器编程电源。
若要访问外部程序存储器则EA端必须保持低电平。
VPP端用于Flash存储器编程时的编程允许电源+12V输入端。
ALE/PROG:
地址锁存允许端/编程脉冲输入端。
当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存P0口分时送出的低8位地址(下降沿有效)。
不访问外部存储器时,该端以时钟频率的1/6输出固定的正脉冲信号,可用作外部时钟。
对内部Flash存储器编程期间,该引脚用于输入编程脉冲。
PSEN:
读片外程序存储器选通信号输出端。
当89C51从外部程序存储器取指令时,该脚有效(上升沿)。
每个机器周期PSEN均产生两次有效输出信号。
3.1.2元器件的选择
(1)AD590的性能特点与工作原理
图3-2AD590管脚封装图
图3-3AD590的基本电路图
AD590的内部电路如电路图3-3所示。
传感器Ad590的输出电流会随着温度的变化而变化,变化量为1uA/K,Ad590与10k电阻连接,把电流转化为电压,取出电压后经过一个电压跟随器。
接稳压管的那一路则是要使50k变阻器的输出电压为2.732v,与跟随器的输出在经过一个差动放大器,求得温度变化值所对应的电压变化值,送到A/D转换器中去。
(因为0度时,AD590的输出电流是273.2uA,取出的电压为273.2*10k=2.732v,及后温度变化取出的电压也跟着变化,经过差动放大就可以把电压变化值取出送到A/D转换器中)
(2)模数转换-ADC0809芯片
ADC0809采用逐次逼近式A/D转换原理,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存与译码电路,转换时间为100us左右。
ADC0809内部中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换芯片进行转换。
地址锁存与译码电路完成对A、B、C3个地址位进行锁存与译码,其译码输出用于通道选择。
8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256欧姆电阻阶梯网络组成。
输出锁存器用于存放和输出转换得到的数字量。
ADC0809芯片为28引脚双列直插式封装。
ADC0809芯片引脚的功能:
IN7-IN0:
模拟量输入通道。
ADC0809(图2-3)对输入模拟量的要求主要有:
信号单极性,电压范围为0-5V。
A、B、C:
地址线,模拟通道的选择信号。
A为地位地址,C为高位地址。
ALE:
地址锁存允许信号。
START:
转换启动信号。
START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。
D7-D0:
数据输出线。
为三态缓冲输出形式,可以与单片机直接相连。
D0为最低位,D7为最高位。
OE:
输出允许信号。
用于控制三态输出锁存器向单片机输出转换得到的数据。
OE=0,输出数据线呈高电阻;OE=1输出转换得到的数据。
CLK:
外部时钟信号引入端。
ADC0809的内部没有时钟电路,所需时钟信号由外界提供。
EOC:
转换结束信号。
EOC=0,正在进行转换;EOC=1,转换结束。
使用中该状态信号即可以作为查询的状态标志,又可以作为中断请求信号使用。
VCC:
+5V电源。
VREF:
参考电源。
其典型值为+5V。
图3-4ADC0809引脚图
3.2硬件电路设计
根据已经确定的方案,我们大致可以确定基于单片机的油温控制系统工作原理图,如下图所示:
图3-5单片机控制系统原理图
3.2.1各模块接口电路
(1)键盘模块
当按键数量较多时,可将这些按键按行列构成矩阵,在每个行列的交点上连接一个按键,因此又称矩阵式键盘或行列式键盘。
本文采用4*4矩阵键盘,如下图所示:
图3-6键盘接口电路
(2)显示模块
LED数码显示器(图3-7)是由若
干段发光二极管构成的,当某些段的发
光二极管导通时,显示对应的字符。
LED显示器控制简单,使用方便,在
单片机中应用非常普遍。
由于每一位
LED显示器分别由一个8位输出口控
制字形码,显示器能稳定且独立显示
图3-7数码显示器
字符,这种方式编程简单,但占用的I/O口多,适合于显示器位数少的场合。
因此利用74LS164寄存器LED显示器构成显示模块,如下图:
图3-874LS164构成的显示电路
(3)89C51单片机最小系统
在单片机实际应用系统中,由于应用条件及控制要求的不同,其外围电路的组成各不相同。
单片机的最小系统就是指在尽可能少的外部电路条件下,能使单片机独立工作的系统。
由于89C51内部已经有4KB的FlashE2PROM及128B的RAM,因此只需要接上时钟电路和复位电路就可以构成单片机的最小系统,如图3-9所示:
图3-9单片机最小系统
3.2.2温控系统硬件电路设计
根据对各个模块的分析,其硬件接线图如下,包括主控制器单片机、温度检测模块、加热控制模块、键盘设定模块及数据显示模块。
图3-10基于AT89C51温控系统原理图
利用Protel99我们绘制出PCB布线图,原理图的设计步骤:
(1)新建原理图设计文件
为了方便电路设计文件的管理,在新建原理图设计之前,应当新创建一个设计数据库文件,然后再在该设计数据库文件下新建原理图设计文件。
(2)设置图纸区域工作参数
图纸区域工作参数的设置指的是图纸大小、电气栅格、可视栅格和捕捉栅格等参数的设置,它们构成了原理图设计的工作环境。
(3)载入原理图库
在原理图设计过程中,放置的元器件全部来源于载入到原理图编辑器中的原理图库。
如果原理图库没有载入到原理图编辑器,那么在绘制原理图时就找不到所需的元器件。
因此,在绘制原理图之前,应当根据原理图设计的需要将所需的原理图库载入到原理图编辑器即可。
(4)放置元器件
放置元器件指的是从原理图库中选择所需的各种元器件,并将其逐一放置到原理图设计中,调整元器件的位置,同时完成对元件器的编号,添加封装形式和定义元器件的显示状态等操作。
(5)原理图布线
原理图布线,指的是在放置完元器件后,用具有电气意义的导线、网络标号、电源和接地符号、以及端口等图件将元器件连接起来,使各元器件之间具有特定的电气连接关系,能够实现一某项电气功能的过程。
(6)补充完善
在原理图设计基本完成之后,可以在原理图上作一些相应的说明,标注和修饰,以增强原理图的可读性和整齐美观性。
根据以上步骤我们画出图3-11如下所示:
第四章油温控制系统软件设