1、烘箱温度控制 微机原理课设报告设计10:烘箱温度控制系统硬件设计 设计内容:在烘箱内部装有一个1000W的电加热丝和一个PT100 铂热敏电阻温度传感器,用8088CPU 设计一个温度控制器,对烘箱温度(室温-100度)进行控制。要求系统可对控制温度进行设置(键盘),对当前温度进行显示(LED显示器)(设已知PT100的温度系数为0.01/度)。设计要求:画出电路原理图,说明工作原理,编写相应程序,其控制为简单控制,即当温度超过设定温度0.5度时停止加热,当低于设定温度0.5度时开始加热。 设计过程:(1) 查资料了解8088CPU总线的形成原理(AB、DB、CB),存储器扩展方法(2)温度信
2、号调理电路设计 (2) ADC0809工作原理及接口电路的设计方法 (3) 原理图设计,用PROTEL画出原理图(4)软件设计(5) 写出设计报告设计报告内容要求:(1)设计题目及设计要求(2)设计说明(3)原理图(4)软件流程说明基于8088微处理器的烘箱温度测控系统设计摘要本文介绍了一种基于8088微处理器的烘箱温度控制系统,采用PT100铂热敏电阻温度传感器采集温度数据,用CPU控制温度值稳定在预设温度。当温度低于预设温度值0.5度时系统启动电加热丝,当这个温度高于预设温度值0.5度时断开电加热丝。系统操作简便、自动化程度高、扩展方便且具有良好的人机交互的能力。可应用在一些精度要求不太高
3、的系统中。为了降低整个系统的成本,在满足性能的要求下,选择低成本器件,简化系统设计。关键词:微处理器 温度传感器 A/D转换器 控制系统第一部分 设计题目及设计要求设计内容:在烘箱内部装有一个1000W的电加热丝和一个PT100 铂热敏电阻温度传感器,用8088CPU 设计一个温度控制器,对烘箱温度(室温-100度)进行控制。要求系统可对控制温度进行设置(键盘),对当前温度进行显示(LED显示器)(设已知PT100的温度系数为0.01/度)。第二部分 设计总体方案本系统是以8088微处理器为核心,是一个典型的温度闭环控制系统,需要完成的功能是温度的设定、温度的采集与显示以及温度的自动控制等。系
4、统采用最简单的开关通断控制方式,即当烘箱温度大于设置值0.5度时断开加热电阻丝,当温度低于设定值0.5度值时接通电阻丝开始加热,从而保持恒温控制。根据设计的要求,可将系统分为如下几个子模块:温度检测模块,AD转换模块,键盘输入模块,温度显示模块,温度调理模块,接口扩展模块。由于本系统需要的接口较多,我们使用了两片可编程并行接口8255以提高系统的工作效率。第一片8255用于连接AD转换模块,温度显示模块和温度调理模块。第二片8255专门用于连接矩形键盘输入模块。系统原理图如图所示:设计一种可控制的温度加热系统,实现温度的上升或下降。其中,温度的传感和放大部分通过PT100热敏电阻温度传感器和运
5、算放大器来实现温度的检测,通过给加热系统通断电来实现。当需要加热时,8255的PC6输出高电平;当需要降温时,8255的PC6输出低电平,关闭加热系统,让加热器自然冷却而起到降温效果。加热或降温的控制信号通过8255的PA0读取拨动开关的状态来实现第三部分 子模块介绍3.1温度检测模块本系统的温度检测的设计是以PT100热敏电阻为检测元件的,PT100铂电阻温度传感器, 0时电阻值为100,精度高,稳定性好,应用温度范围广,是中低温区(-200650)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。由于其电阻值小,灵敏度高,所以引线的阻值不能忽略不计,采用三线式接法可
6、消除引线线路电阻带来的测量误差,原理如下:PT100引出的三根导线截面积和长度均相同(即r1=r2=r3),测量铂电阻的电路一般是不平衡电桥,铂电阻(Rpt100)作为电桥的一个桥臂电阻,将导线一根(r1)接到电桥的电源端,其余两根(r2、r3)分别接到铂电阻所在的桥臂及与其相邻的桥臂上,这样两桥臂都引入了相同阻值的引线电阻,电桥处于平衡状态,引线线电阻的变化对测量结果没有任何影响。由于一般电源供应多器件之后,电源是带杂波的,因此使用稳压二极管作为稳压元件,再利用可变电阻分压输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线性比例的关系。电路原理图如图3-2所示。3.2 AD转换模
7、块ADC0809是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。模拟输入通道地址A,B
8、,C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换。为了减少输入噪声其他通道直接接地。ADC0809的数据线D0-D7与第一片8255的PB0-PB7相连接,其EOC接在PC0上,ALE和START接在PC5上,片选信号接在PC6上。3.3 键盘输入模块温度的预设值需要用键盘输入,矩阵键盘所需的连线非常少,是一般微机常用的键盘结构。本系统需要输入0-9的数字,所以设计成4*4的矩阵键盘,其中只有前十个按键有效。按键的识别采用反转法。接口扩展模块两片8255的数据口D0-D7与CPU的数据总线相连接,控制8255内部的各种操作。控制线RESET用来使8255A复位。CS和地址线
9、A1及A0用于芯片选择和通道寻址。分别与译码电路和8088的地址线A1,A0相连接。4.4 数据显示部分 图 4-54.1.2 温度调理模块当第一片8255的PC7为高电平时,三极管导通,继电器吸合,向加热系统输出12V电压加热;反之,输入低电平,三极管截止,继电器断开,停止加热。在图4-中,二极管的作用是吸收继电器端开时产生的浪涌电压。图 4-24.5 系统硬件原理图图 4-6第五章 系统工作原理及软件设计一、系统工作原理(1) 温度测量显示部分温度通过PT100温度传感,将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成
10、数字信号,然后将该数字信号通过编程转化为十进制BCD码,并送到数码管进行温度值的显示。(2) 温度控制部分 温度的上升或下降,通过给加热系统通断电来实现。当需要加热时,第一片8255的PC7输出高电平,启动加热系统。当需要降温时,8255的PC7输出地电平,关闭加热系统。二、系统软件设计本设计的目的是以8088微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器;微控制器实时采集、显示温度值(要求以摄氏度显示),同时系统还应可设定、控制温度值,使系统工作在设定温度。三、系统流程图1、主程序通过开始界面,显示提示信息,调用温度输入子程序,设置温度。通过模数转换器采集A
11、D值并求其平均值。调用BCD码转换子程序将其转换为十进制温度值;调用显示子程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。其流程图如图5-1所示。图 5-1 2、BCD码转换子程序设定温度为0摄氏度时变换放大电路送出的模拟量为0.0V,此时A/D输出的数字量为00H;温度为100时变换器送出对应电压4.98V,此时A/D输出的数字量为FFH,即每0.3对应1LSB的变化量,对应电压值为19.5mV。其流程图如图5-2所示。图 5-23.显示子程序采用动态显示方式,其流程图如图5-3所示。4.温度值设置子程序问了避免加热温度过高,在程序设计中加了一条,即设定值不能大于76.8,否
12、则就认为有错系统报警。其流程图如图5-4所示。图 5-3结论本设计采用的单片机是作为现代工业中最常用的集成芯片。具有体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、易于推广应用等显著优点,通过软件逻辑控制实现对温度的控制和调节。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例。本设计中应用了许多单片机芯片和单片机常用的外部设,单片机芯片如:ADC0809,8255等。单片机外部设备如:温度检测元件AD590,键盘和显示系统中的LED显示器等。该系统的主要优点如下:一、本系统本着简单可靠的原则完成了设计要求,尽量做到线路简单,充分利用软件编程,安装比较灵活而且
13、价格较低。二、在系统的硬件和软件设计中,都加有安全设计部分,避免加热过高造成设备的损坏。同时,该系统在测量过程中会带来系统误差。通过这半年多的学习,毕业设计终于顺利完成了。期间发现了自己的很多不足,专业知识存在诸多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。尽管如此,我们的毕业设计指导老师周秋茜老师仍然在百忙中抽出时间,耐心的指导我们,为我们提供参考资料,给我们查缺补漏,使我们少走了许多弯路,让我感受到了周老师对学生的那种诲人不倦的精神,毕业设计才得以顺利完成。请允许我向你们致意崇高的敬意,感谢周老师!同时,也非常感谢我们同意课题组的成员在设计中给予我的帮助和支持。参
14、考文献1 戴梅蕚 微型计算机技术及应用2007 清华大学出版社2 武锋 单片机应用系统设计-系统配置与接口技术1998.8 北京航空航天大学出版社3 何克忠 计算机控制系统 2002 清华大学出版社4 朱善君 汇编语言程序设计 1998.3 清华大学出版社5 颜永军 protel99电路设计与应用2001.1 国防工业出版社附录程序Z82551A EQU 0000H ;定义第一片8255地址Z82551B EQU 0001HZ82551C EQU 0002HZ82551D EQU 0003HZ82552A EQU 0004H ;定义第二片8255地址Z82552B EQU 0005HZ8255
15、2C EQU 0006HZ82552D EQU 0007HDATA SEGMENTDATA1 DB 16 DUP(?)MESS DB 10,13, INPUT THE TEMPERRATURE VALUE:,SLED DB 3FH,06H,5BH,4FH,66H,6DH,07H,7FH,6FH,77HKEY DB 77H,7BH,7DH,7EH,B7H,BBH,BDH,BEH,D7H,DBHDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACKSTART:MOV AX,DATA ;段寄存器初始化MOV DS,AXMOV E
16、S,AXMOV AH,09H ;显示提示信息MOV DX,OFFSET MESSINT 21HCALL input ;输入设置的温度值存data1DI+2COLLECT: CALL INIT_82551 ;初始化第一片8255MOV CX,8 ;共采集8次MOV BX,0 ;BX作温度累加器AGAIN: MOV AL,00100000BMOV DX,Z82551C;OUT DX,AL ;PC5与ALE相连,送一个高电平MOV AL, 00HOUT DX, AL ;送START下降沿CALL delay ;调用延时信号等待转换完成WAIT1: IN AL,DX ;读EOC状态AND AL,100
17、00000BJZ WAIT1OUT DX,11000000B ;若转换完成送高电平给OEMOV DX,Z82551BIN AL,DX ;从B口读8位二进制码CBW ;将AL扩展为AXAND AX,00FFHADD BX,AXLOOP AGAINMOV AX,BXSHR AX,1SHR AX,1SHR AX,1 ;AX中为8次采样值的平均值CALL changetoBCD ;转化为十进制的温度值CALL DISMOV BL,DI+2 ;取输入值MOV AL,DI+3 ;取实际值CMP AL,BL ;实际值与输入值比较JB UP ;小则加热JZ DOWN ;大则停止加热UP: MOV AL,100
18、00000BMOV DX,Z82551COUT DX,ALJMP COLLECTDOWN: MOV AL,00000000BMOV DX,Z82551COUT DX,ALJMP COLLECTdelay: PROC NEARPUSH CXMOV CX,0F00HLOOP $POP CXRETDelay ENDPInput: PROC NEAR ;温度设置子程序MOV AL,10000001B;方式0,C口高四位输出,低四位输入OUT Z82552D,ALMOV AL,0OUT Z82552C,AL ;使各行线为0WAIT2: IN AL,Z82552C ;读列线AND AL,0FH ;保留低四
19、位CMP AL,0FHJZ WAIT2 ;全一表示无按下,继续循环扫描MOV AH,AL ;保存列值MOV AL,10001000B;方式0,C口高四位输入,低四位输;出OUT Z82552D,AL ;反转输入输出方向MOV AL,AHOUT Z82552C,AL ;把列值反向输出到列线IN AL,Z82552C ;读入行线状态AND AL,0F0H ;保留高四位OR AL,AH ;组合行列值LEA BX,KEY ;键码首地址送BLBBB: CMP AL,BX ;与键码比较JNZ AAASUB BX,OFFSET KEYMOV DI,OFFSET DATA1MOV DI,BL ;第一位键值存D
20、IMOV CH,BL ;第一位键值存CHMOV AL,10000001BOUT Z82552D,ALMOV AL,0OUT Z82552C,AL ;各行线为0WAIT3: IN AL,Z82552C ;读列线AND AL,0FHCMP AL,0FHJZ WAIT3MOV AH,ALMOV AL,10001000BOUT Z82552D,ALMOV AL,AHOUT Z82552C,ALIN AL,Z82552CAND AL,0F0HOR AL,AHLEA BX,KEYDDDD: CMP AL,BXJNZ CCCCSUB BX,OFFSET KEYMOV DI+1,BL ;第二位键值存DI+1M
21、OV CL,BL ;第二位键值存CLAND CH,0FHRCL CH,1RCL CH,1RCL CH,1RCL CH,1AND CL,0FHOR CL,CHMOV DI+2,CL ;两位键值的组合存DI+2AAAA: INC BXJMP BBBBCCCC: INC BXJMP DDDDRETInput ENDPChanggetoBCD: PROC NEARMOV BL,5DIV BLLEA DI,DATA1MOV BL,AH ;AH为余数,乘以2即0.1度级;的非压缩BCD码ADD BL,BLMOV DI+4,BLINC DIMOV AH,0 ;将AL扩成AXMOV BL,0AH;DIV BL
22、MOV SI,AH ;余数1度级INC DIMOV DI,AL ;商10度级MOV AL,DI+6MOV CL,04HSHL AL,CL ;AL高四位为10摄氏度级MOV BL,DI+5OR AL,BL ;BL低四位为1摄氏度级MOV DI+3,AL ;DI+3存温度整数位BCD码INIT_8255: PROC NEARMOV DX,Z82551DMOV AL,10000011BOUT DX,ALMOV AL,00HOUT 0002H, ALRETINIT_8255 ENDPDIS: PROC NEARLEA BX,LEDMOV DX,Z82552DMOV AL,10001011BOUT DX
23、,AL ;使第二片8255A,B,C为方式0,A口输出,;B,C为输入MOV AL,10000000BMOV DX,Z82552AOUT DX,AL ;选通LED1MOV DX,Z82551DMOV AL,10001011B ;使A为输出,BC为输入OUT DX,ALMOV AL,DI+4MOV DX,Z82551AXLATOUT DX,AL ;将小数送第一片8255A口显示在LED1上CALL delayMOV AL,01000000H ;选通LED2MOV DX,Z82552AOUT DX,ALMOV AL,DI+5XLATADD AL,80HMOV DX,Z82551AOUT DX,ALCALL delayMOV AL,00100000BMOV DX,Z82552AOUT DX,AL ;选通第三个LEDMOV AL,DI+6XLATMOV DX,Z82551AOUT DX,AL ;显示温度的十位CODE ENDSEND START
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1