您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机课设报告ZG-2
设计10:烘箱温度控制系统硬件设计设计内容:在烘箱内部装有一个1000W的电加热丝和一个PT100铂热敏电阻温度传感器,用8088CPU设计一个温度控制器,对烘箱温度(室温-100度)进行控制。要求系统可对控制温度进行设置(键盘),对当前温度进行显示(LED显示器)(设已知PT100的温度系数为0.01/度)。设计要求:画出电路原理图,说明工作原理,编写相应程序,其控制为简单控制,即当温度超过设定温度0.5度时停止加热,当低于设定温度0.5度时开始加热。设计过程:(1)查资料了解8088CPU总线的形成原理(AB、DB、CB),存储器扩展方法(2)温度信号调理电路设计(2)ADC0809工作原理及接口电路的设计方法(3)原理图设计,用PROTEL画出原理图(4)软件设计(5)写出设计报告设计报告内容要求:(1)设计题目及设计要求(2)设计说明(3)原理图(4)软件流程说明基于8088微处理器的烘箱温度测控系统设计摘要本文介绍了一种基于8088微处理器的烘箱温度控制系统,采用PT100铂热敏电阻温度传感器采集温度数据,用CPU控制温度值稳定在预设温度。当温度低于预设温度值0.5度时系统启动电加热丝,当这个温度高于预设温度值0.5度时断开电加热丝。系统操作简便、自动化程度高、扩展方便且具有良好的人机交互的能力。可应用在一些精度要求不太高的系统中。为了降低整个系统的成本,在满足性能的要求下,选择低成本器件,简化系统设计。关键词:微处理器温度传感器A/D转换器控制系统第一部分设计题目及设计要求设计内容:在烘箱内部装有一个1000W的电加热丝和一个PT100铂热敏电阻温度传感器,用8088CPU设计一个温度控制器,对烘箱温度(室温-100度)进行控制。要求系统可对控制温度进行设置(键盘),对当前温度进行显示(LED显示器)(设已知PT100的温度系数为0.01/度)。第二部分设计总体方案本系统是以8088微处理器为核心,是一个典型的温度闭环控制系统,需要完成的功能是温度的设定、温度的采集与显示以及温度的自动控制等。系统采用最简单的开关通断控制方式,即当烘箱温度大于设置值0.5度时断开加热电阻丝,当温度低于设定值0.5度值时接通电阻丝开始加热,从而保持恒温控制。根据设计的要求,可将系统分为如下几个子模块:接口扩展模块,键盘输入模块,温度采集与信号调理模块,AD转换模块,温度显示模块,温度控制模块,。由于本系统需要的接口较多,我们使用了两片可编程并行接口8255以提高系统的工作效率。第一片8255用于连接ADC0809转换模块,温度显示模块和温度调理模块。第二片8255专门用于连接矩形键盘输入模块。系统原理图如图所示:设计一种可控制的温度加热系统,实现温度的上升或下降。其中,温度的传感和放大部分通过PT100热敏电阻温度传感器和运算放大器来实现温度的检测与电压放大,通过温度检测与信号调理模块来实现。该模块将得到的电压信号送到ADC0809进行模数转换。8088从ADC0809读转换后的数字量,由温度与数字量的转换关系,调用相应子程序将数字量转换成温度的BCD码。这时CPU8088将该温度值(即实际温度值)与先前通过键盘输入的值(即设定值)进行比较,若实际温度值高于设定温度值的0.5度时,调用停止加热子程序,若实际值低于设定值时,则调用开始加热子程序。这两个子程序执行完毕之后,都返回到温度采集模块从新采集新的温度值与设定值进行比较。第三部分子模块介绍8088cpu8255A/D转换LED显示温度控制温度8255键盘3.1温度检测模块本系统的温度检测的设计是以PT100热敏电阻为检测元件的,PT100铂电阻温度传感器,0℃时电阻值为100Ω,100℃时为138.5Ω。精度高,稳定性好,应用温度范围广,是中低温区(-200℃~650℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。由于其电阻值小,灵敏度高,所以引线的阻值不能忽略不计,采用三线式接法可消除引线线路电阻带来的测量误差,原理如下:PT100引出的三根导线截面积和长度均相同(即r1=r2=r3),测量铂电阻的电路一般是不平衡电桥,铂电阻(Rpt100)作为电桥的一个桥臂电阻,将导线一根(r1)接到电桥的电源端,其余两根(r2、r3)分别接到铂电阻所在的桥臂及与其相邻的桥臂上,这样两桥臂都引入了相同阻值的引线电阻,电桥处于平衡状态,引线线电阻的变化对测量结果没有任何影响。由于一般电源供应多器件之后,电源是带杂波的,因此使用稳压二极管作为稳压元件,再利用可变电阻分压输出电压接A\D转换器,那么A\D转换输出的数字量就和摄氏温度成线性比例的关系。电路原理图如图3-1所示。图3-1由于测温的范围是0℃——100℃,将0℃对应的PT100阻值100Ω和100℃时对应的阻值138.5Ω分别带进电桥计算,得到温差为100℃时电桥两端的出入约为0.15v,这时需要将该电压值调理到适合ADC0809的输入通道匹配电压值0~5v,于是用LM324将该电压放大33倍,接近5v。3.2AD转换模块ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。模拟输入通道地址A,B,C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换。为了减少输入噪声其他通道直接接地。ADC0809的数据线D0-D7与第一片8255的PB0-PB7相连接,其EOC接在PC0上,ALE和START接在PC5上,片选信号接在PC6上。AD转换模块电路图如下图所示:由于本电路只有1路模拟输入通道,并从IN0送入,故将ADC0809的3位通道地址选择端口ADD-A~ADD-C均置低电平。ADC0809接受由温度采集模块送来的模拟电压信号。CPU8088通过8255向ADC0809的ALE和START端口送一个高电平,这时ADC0809将地址信息锁存起来,并启动模数转换器开始转换模拟信息。当转换完成之后,ADC0809的EOC将变为高电平,这时8088读到该高电平时,想ADC0809的OE端口送一个高电平读允许信号,并从它的8位数据端口读转换完成后的数字量。3.3键盘输入模块温度的预设值需要用键盘输入,矩阵键盘所需的连线非常少,是一般微机常用的键盘结构。本系统需要输入0-9的数字,所以设计成4*4的矩阵键盘,其中只有前十个按键有效。按键的识别采用反转法。矩阵键盘键码的读出这里采用反转法,首先初始化第二片8255,定义PC口高四位为输出,低四位为输入。然后使PC口高4位先输出0,读低四位即列线的状态,如果列线有低电平,说明有键按下,保存列值。再定义PC口高四位为输入,低四位为输出,使低四位输出刚才保存的列值,读高四位得到行值并保存。组合行值和列值,查表后即可得到对应的键值。接口扩展模块两片8255的数据口D0-D7与CPU的数据总线相连接,控制8255内部的各种操作。控制线RESET用来使8255A复位。CS和地址线A1及A0用于芯片选择和通道寻址。分别与译码电路和8088的地址线A1,A0相连接。首先确定第一块8255的地址为0000H~0003H,第二块8255的地址为0004H~0007H,按照该地址分配使用8088的低16位地址线确定译码电路,分别选中两片8255的CS。由于8088的AD0~AD19具有分时复用的功能,使用时首先送出地址,选中对应芯片后送出数据。所以两片8255的数据端口再次接8088的AD0~AD7。4.4数据显示部分图4-5用第一片8255的A口分别接LED数码管的段选端,第二片8255的PC5~PC7分别接LED3~LED1的位选端。显示时8088首先向第二片8255送C口输出的控制字,然后向C口送数选中小数为,再通过第一片8255向LED1数码管送数,将温度的小数位显示在LED1上,同样的方法依次选中LED之后将温度的个位和十位显示在LED2和LED3,注意个位需要经过特殊处理使其上面的小数点点亮。4.1.2温度控制模块当第一片8255的PC7为高电平时,三极管导通,继电器吸合,加热系统开始压加热;反之,输入低电平,三极管截止,继电器断开,停止加热。在图4-2中,二极管的作用是吸收继电器端开时产生的浪涌电压。图4-24.5系统硬件原理图图4-6第五章系统工作原理及软件设计一、系统工作原理(1)温度测量显示部分温度通过PT100温度传感,将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,然后将该数字信号通过编程转化为十进制BCD码,并送到数码管进行温度值的显示。(2)温度控制部分温度的上升或下降,通过给加热系统通断电来实现。当需要加热时,第一片8255的PC7输出高电平,启动加热系统。当需要降温时,8255的PC7输出地电平,关闭加热系统。二、系统软件设计本设计的目的是以8088微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器;微控制器实时采集、显示温度值(要求以摄氏度显示),同时系统还应可设定、控制温度值,使系统工作在设定温度。三、系统流程图1、主程序通过开始界面,显示提示信息,调用温度输入子程序,设置温度。通过模数转换器采集A\D值并求其平均值。调用BCD码转换子程序将其转换为十进制温度值;调用显示子程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。其流程图如图所示。开始系统初始化显示提示信息调用温度设置子程序采集A/D值并求其平均值调用BCD码转换子程序,将其转换成十进制温度值调用显示子程序实际温度低于给定值加热8255PC7=1停止加热8255PC7=0NY2、BCD码转换子程序设定温度为0摄氏度时变换放大电路送出的模拟量为0.0V,此时A/D输出的数字量为00H;温度为100℃时变换器送出对应电压4.98V,此时A/D输出的数字量为FFH,即每0.4℃对应1LSB的变化量,对应电压值为19.5mV。其流程图如图所示。3.显示子程序采用动态显示方式,首先选通显示小数位的数码管,将存好的小数位的BCD码显示在LED1;再选通第二位数码管,将保存好的温度值的个位显示在LED2上,并时个位的小数点亮;最后选通LED3,将温度的十位显示在LED3。其流程图如图所示。BCD码转换子程序将采集得到的平均值乘以0.4转换为温度值返回对其进行非压缩BCD码乘法调整4.温度值设置子程序程序开始时需要在编号键值的4*4键盘上先后按下两个按键,该子程序负责将键码通过查表找到对应的键值,然后将第一次按下的键作为温度的十位,第二次按下的键作为温度的个位,完成后将键值保存在[DI+3]。显示子程序选通LED1显示小数位选通LED2显示个位数值选通LED3显示十位数值返回温度设置子程序键入温度值的十位,存于[DI]键入温度值个位,存于[DI+1]将十位数左移四位,与个位组合既得温度值将温度存于[DI+3]返回。通过这半年多的学习,课程设计终于顺利完成了。期间发现了自己的很多不足,专业知识存在诸多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。附录程序Z82551AEQU0000H;定义第一片8255地址Z82551BEQU0001HZ82551CEQU0002HZ82551DEQU0003HZ82552AEQU0004H;定义第二片8255地址Z82552BEQU0005HZ82552CEQU0006HZ82552
本文标题:微机课设报告ZG-2
链接地址:https://www.777doc.com/doc-6430982 .html