用8088实现温度巡检系统.docx
- 文档编号:5841851
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:20
- 大小:48.83KB
用8088实现温度巡检系统.docx
《用8088实现温度巡检系统.docx》由会员分享,可在线阅读,更多相关《用8088实现温度巡检系统.docx(20页珍藏版)》请在冰豆网上搜索。
用8088实现温度巡检系统
用8088实现温度巡检系统
学院(部):
专业班级:
学生姓名:
指导教师:
年月日
用8088实现温度巡检
摘要:
温度是电力工程中一个非常重要的参数它是一种常见的过程变量,在现代化的电力工程领域中,人们需要对温度进行实时的检测并能按要求报警或发出信号。
本文设定的环境温度范围为400-800℃,报警上限为550℃,下限为650℃。
文中利用8088芯片结合传感器技术而开发设计了一套温度巡检系统。
课题主要任务是完成环境温度检测,系统主要以8088为核心,由温度传感器,A/D转换模块,报警与指示电路等构成。
本文对每个部分功能、实现过程作了详细介绍。
本文设计的温度巡检系统的主要内容包括:
系统方案、元器件选择、系统理论分析、硬件设计、软件设计、系统调试等
关键词:
温度,8088,巡检,传感器
第一章绪论
8088是一个以intel8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。
具有体积小、扩展性强等优势,在电子产品前期的应用中比较广泛,即使在目前的很多电子产品中也可以将其用于温度检测。
为此在本文中作者设计了基于8088微处理器的温度巡检系统。
温度是生产过程中常见的物理量,电力工程中也是如此,经常被作为一个重要的参数。
因此,对温度的检测问题是一个电力工程中经常会遇到的问题。
本文假设了环境温度范围为400-800℃,报警上限为550℃,下限为650℃。
在这种条件下设计一套基于8088的系统:
可以检测温度通过led七段显示器显示,并在越限时可以报警。
。
第二章设计方案
2.1系统工作原理
传感器把测量的温度信号转换成弱电压信号,经过信号放大电路,送入低通滤波电路,以消除噪音和干扰,滤波后的信号输入到A/D转换器转换成数字信号输入接口电路。
接口电路传输至LED七段显示器显示,同时与微处理器相连,接受操作指令。
图2-1系统的工作原理框图
2.2设计思路
温度是最普通最基本的物理量,用电测法测量温度时,首先要通过温度传感器将温度转换成电量,温度传感器有好多种方式,本文中温度范围为400~+800℃,所以可以选择Pt100温度传感器,测温范围为-200℃~+850℃。
输出电流与绝对温度成正比,即为1µA/K。
设计测量的温度范围为400~800℃,控制精度也不高,可选用8路8位ADC0808作A/D转换器,分辨率可达0.5℃;为了方便操作,温度显示可用4位LED;为了实现通过调节蒸汽流量控温,可扩展8位DAC0832作D/A转换器。
先将各芯片初始化,让各芯片正常启动。
此时炉子温度由传感器穿出信号,经过处理转换为0-5伏的模拟电压。
模拟电压送入ADC0808的INO端,经ADC0808转换成相应数据,数据送入8088CPU,CPU控制总线送给6116RAM存储,如此,连续采样八次后,八个数据都依次存入了6116RAM存储器中,CPU调用2716ROM存储器中的程序,将此八个二进制数据进行滤波、标度转换、判断是否超限,如果超限则报警,没超限则调用代码转换子程序,将二进制的温度转换成为七段显示码,等待中断调用。
系统设计一秒内采样八次,CPU等到一秒时,由8253向8259申请中断,即当IRO为高电平时,使相应的中断请求寄存器IRR位置位,8259A对IRR提供的情况进行分析处理,从INT端输出一个高电平向CPU发出中断请求,8088CPU相应中断后,再用上述同样方法测量,共三次取中间值即为当时的温度。
第三章主要元器件介绍
3.18088微处理器
3.1.1概述
8088是一个Intel以8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。
8088使用8位元的设计,所针对的是较为经济之系统。
在它推出时候,大的资料总线宽度电路板还是相当地昂贵。
8088的预取(prefetch)贮列(queue)是4字节,相对于8086的是6字节。
3.1.2功能结构
8088CPU内部用两个独立的功能部件组成,分别为EU和BIU。
EU(ExecutionUnit)EU由通用寄存器、F寄存器、ALU和EU控制部件组成。
EU的功能是分析指令和执行指令。
•片内振荡器和时钟电路
BIU(BusInterfaceUnit)BIU由段寄存器、IP、指令队列、地址加法器和控制逻辑组成。
BIU的功能是负责从内存中取指令送入指令队列,实现CPU与存储器、I/O接口之间的数据传送。
图3-18088的EU结构图
图3-28088的BIU结构图
3.1.3寻址方式
1.寻址方式概念
寻址方式是指在指令中用以说明操作数所在地址(位置)的方法。
段超越不是按照系统的约定,而是在指令中指定某一段寄存器作为存储器操作数的段地址。
2.与操作数有关的寻址方式
(1)立即寻址方式:
操作数含在指令代码中,由指令直接给出。
例如:
MOVAL,50
MOVBX,1000H
(2)寄存器寻址方式:
指令中指定某个寄存器的内容作为操作数。
例如:
MOVAL,BL
ADDAL,5
MOVDATA,AL
(3)直接寻址方式:
指令中直接给出操作数的地址(偏移地址)。
例如:
MOVAL,[100H]
MOVBX,ES:
[100H]
MOVDATA,-1
MOVBYTEPTR[1000H],0
(4)寄存器间接寻址方式:
指令中指定某个寄存器(SI、DI、BX、BP)中的一个内容作为操作数的地址(偏移地址)。
例如:
MOVAX,
MOV,AL
MOVDS:
AX
MOVWORDPTR[SI],-1
(5)寄存器相对寻址方式:
指令中指定某寄存器内容与一个位移量相加作为操作数的地址(偏移地址)。
例如:
MOVAX,[SI+2]
MOV,AL
ADDBYTEPTR,5
MOVBX,DATA[SI]
MOVDATA,0
(6)基址变址寻址方式:
指令中,指定一变址寄存器内容与基址寄存器内容相加作为操作数的地址。
例如:
MOVAL,
MOV[DI+BX],DX
ADD,AL
3.1.4指令系统
1.数据传送指令(包括:
MOV传送指令、堆栈操作指令、数据交换指令、地址传送指令、标志寄存器传送指令、换码指令、输入输出指令)
数据传送指令的特点:
将数据从一个地址传送到另一个地址;数据在传送过程中不发生任何变化;对标志寄存器的内容无任何影响。
2.算术运算指令(包括:
加法指令、减法指令、乘法指令、除法指令、十进制调整指令)
算术运算指令的特点:
对状态标志位有影响;源操作数不变;目标操作数多数情况下发生变化。
3.逻辑运算和移位指令(包括:
逻辑运算指令、移位指令、循环指令)
4.串操作指令(包括:
MOVS指令、LODS指令、STOS指令、SCAS指令、CMPS指令)
重复操作前缀REP;REPZ/REPE;REPNZ/REPNE
串指令;若(CX)≠0,重复执行串指令
串指令;若(CX)≠0且(ZF)=1,重复执行串指令
串指令;若(CX)≠0且(ZF)=0,重复执行串指令
5.控制转移指令(包括:
无条件转移指令、条件转移指令、循环控制指令、子程序调用指令、子程序返回指令、中断返回指令)
3.2PT100温度传感器
3.2.1概述
PT100是一个温度传感器,是一种稳定性和线性都比较好的铂丝热电阻传感器,可以工作在-200℃至800℃的范围.电阻式温度检测器(RTD,ResistanceTemperatureDetector)是一种物质材料作成的电阻,它会随温度的上升而改变电阻值,如果它随温度的上升而电阻值也跟著上升就称为正电阻係数,如果它随温度的上升而电阻值反而下降就称为负电阻系数。
大部分电阻式温度检测器是以金属作成的,其中以白金(Pt)作成的电阻式温度检测器,最为稳定-耐酸碱、不会变质、相当线性...,最受工业界采用。
PT100电阻温度系数为3.9×10-3/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω/℃。
铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。
按IEC751国际标准,温度系数TCR=0.003851,Pt100(R0=100Ω)、Pt1000(R0=1000Ω)为统一设计型铂电阻。
常见的100感温元件有陶瓷元件,玻璃元件,云母元件,它们是由铂丝分别绕在陶瓷骨架,玻璃骨架,云母骨架上再经过复杂的工艺加工而成
图3-3PT的实物图
3.2.2传感器的结构
两线制:
传感器电阻变化值与连接导线电阻值共同构成传感器的输出值,由于导线电阻带来的附加误差使实际测量值偏高,用于测量精度要求不高的场合,并且导线的长度不宜过长。
三线制:
要求引出的三根导线截面积和长度均相同,测量铂电阻的电路一般是不平衡电桥,铂电阻作为电桥的一个桥臂电阻,将导线一根接到电桥的电源端,其余两根分别接到铂电阻所在的桥臂及与其相邻的桥臂上,当桥路平衡时,导线电阻的变化对测量结果没有任何影响,这样就消除了导线线路电阻带来的测量误差,但是必须为全等臂电桥,否则不可能完全消除导线电阻的影响。
四线制:
当测量电阻数值很小时,测试线的电阻可能引入明显误差,四线测量用两条附加测试线提供恒定电流,另两条测试线测量未知电阻的电压降,在电压表输入阻抗足够高的条件下,电流几乎不流过电压表,这样就可以精确测量未知电阻上的压降,计算得出电阻值
热电阻采用三线制接法。
采用三线制是为了消除连接导线电阻引起的测量误差。
这是因为测量热电阻的电路一般是不平衡电桥。
热电阻作为电桥的一个桥臂电阻,其连接导线(从热电阻到中控室)也成为桥臂电阻的一部分,这一部分电阻是未知的且随环境温度变化,造成测量误差。
采用三线制,将导线一根接到电桥的电源端,其余两根分别接到热电阻所在的桥臂及与其相邻的桥臂上,这样消除了导线线路电阻带来的测量误差。
工业上一般都采用三线制接法。
热电偶产生的是毫伏信号,不存在这个问题
3.2.3工作原理
热电阻是中低温区最常用的一种温度检测器。
它的主要特点是测量精度高,性能稳定。
其中铂热是阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。
与热电偶的测温原理不同的是,热电阻是基于电阻的热效应进行温度测量的,即电阻体的阻值随温度的变化而变化的特性。
因此,只要测量出感温热电阻的阻值变化,就可以测量出温度。
目前主要有金属热电阻和半导体热敏电阻两类。
金属热电阻的电阻值和温度一般可以用以下的近似关系式表示,即
Rt=Rt0[1+α(t-t0)]
式中,Rt为温度t时的阻值;Rt0为温度t0(通常t0=0℃)时对应电阻值;α为温度系数。
半导体热敏电阻的阻值和温度关系为
Rt=AeB/t
式中Rt为温度为t时的阻值;A、B取决于半导体材料的结构的常数。
相比较而言,热敏电阻的温度系数更大,常温下的电阻值更高(通常在数千欧以上),但互换性较差,非线性严重,测温范围只有-50~300℃左右,大量用于家电和汽车用温度检测和控制。
金属热电阻一般适用于-200~800℃范围内的温度测量,其特点是测量准确、稳定性好、性能可靠,在程控制中的应用极其广泛。
3.3ADC0808模数转换器
3.3.1概述
ADC0808是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
3.3.2主要特性
•ADC0808的主要特性指标:
•分辨率:
n=8
•时钟频率:
小于640KHZ
•转换时间:
大于等于100微秒
•不可调误差:
1LSB
•电源:
单电源正5V
•模拟输入量:
8路
•模拟输入范围:
0~5V
•参考电压:
Uref(+)—Uref(-)=5V
3.3.3工作原理
图3-4ADC0808内部逻辑结构图
由上图可知,ADC0808由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据
ADC0808为逐次逼近式A/D转换器,具有8个模拟量输入通道。
它能与微型计算机的大部分总线兼容,可在程序的控制下选择8个模入通道之一进行A/D转换,然后把得到的8位二进制数据送到微机的数据总线,供CPU处理。
转换器是ADC0808的核心部分,它由D/A转换、逐次逼近寄存器(SAR)、比较器等组成。
其中,D/A转换电路采用了256RT型电阻网络(即2n个电阻分压器,此处n=8),它在启动脉冲的上升沿来到时被复位,在启动脉冲的下降沿A/D开始转换。
如果在转换过程中接收到新的启动转换脉冲,则终止转换。
转换结束信号EOC在A/D转换完成时为“1”。
图3-5ADC0808的实物图
ADC0808的管脚图如图3-6所示:
图3-6ADC0808的管脚图
3.48255A并行接口
3.4.1概述
Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。
3.4.2主要结构
8255A由4部分组成:
(1)数据总线缓冲器
(2)三个8位端口PA、PB、PC,其中PC口可分为两个4位端口,可分别同端口A和端口B
配合使用,可以用作控制信号输出等。
(3)A组和B组的控制电路。
(4)读/写控制逻辑。
3.4.3工作方式
8255A的工作方式
8255A有三种工作方式:
方式0、方式1和方式2。
(1):
方式0——基本输入/输出
在此工作方式下,每个口都作为基本的输入输出口,C口的高4位和低4位以及A口和B口都可独立地设置为输入口和输出口。
输出的数据被锁存,而输入的数据不被锁存。
(2):
方式1——选通输入/输出
此工作方式下,三个端口分为A、B两组,A、B两个口仍用作数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。
在8255A中,联络信号是3位,两个数据口,共用去C口的6位,剩余的两位仍可作为数据位使用。
(3):
方式2——双向选通输入/输出
此工作方式只限于A组使用,它用A口的8位数据线,用C口的5位进行联络。
工作时输入输出都能被锁存。
当A口工作在方式2时,B口可以在方式0或方式1工作。
方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。
这里采用查询方式。
查询式传输时,需要有应答信号。
但是,在方式0情况下,没有规定固定的应答信号,所以,这时将端口A和端口B作为数据端口,把端口C的4个数位(高4或低4均可)一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。
这样,就利用端口C配合了端口A和端口B的输入输出操作。
第四章硬件设计
4.1硬件电路
根据方案,当温度通过PT100后,连续的物理量转换为连续的电压量,电压信号输入到A/D的模拟信号输入端。
当工作时,CPU用输出指令将PC0置零,使B/C端得到一个低电平从而启动转换。
此后用输入指令不断读端口PC4~PC7测试并判断PC4是否为零。
如果PC4为零则说明完成一次A/D转换。
此时在CPU的读周期作用下它向8255A发出一个读信号。
之后便从A端口读数据;在写周期的作用下CPU向8255A发出写信号,此后数据就会从B端口输出。
B端口连接着LED,它们在PC3~PC1的控制下显示当前温度。
完整的硬件电路组成如图4-1所示:
图4-1硬件电路原理图
图4-1中,通过8255的PA口和PC0~PC3口扩展4位LED;通过PB口和PC5扩展光电隔型D/A,DAC0832设置为单缓冲方式,VREF=-5V,于是经运算放大器A1后产生0~5V可调直流电压,再经运算放大器A2在复合三极管T的集电极和+12V电源之间产生0~10mA可调电流,以便控制电动阀的动作(图4-1中,RW1于调整满量程值,D1用于保护三极管T);通过总线直接扩展ADC0808,由于仅使用4路,故选择通道的C端直接接地,由于温度传感器是输出电流信号且与绝对温度成正比,故采用电平移动电路及放大电路使运算放大器A3输出电压值与摄氏温度成正比(图4-1中RW2,RW3分别用语温度测量电路的零点调节和满量程调节);声音报警电路中,蜂鸣器采用长鸣形式,由门电路构成1s振荡器产生的响音;2位BCD码给定拨盘则和8031的P1口直接接口,各位又通过2kΩ电阻接地。
由于各扩展芯片用线选发产生片选信号,故他们的接口地址分别为:
2764:
0000H~1FFFH
8255:
7000H~7003H
ADC0809:
B000H~B003H
4.3过零检测电路
过零检测电路在每一个电源周期开始时产生一个脉冲,作为触发器的同步信号,计数器T0对其进行计数。
其电路如图4-6所示。
220V交流电压经电阻限流后直接加到2个反相并联的光电偶器的输入端。
在交流电源的正负半周,分别导通,输出低电平,在交流电源正弦波过零的瞬间,两个光电耦合器均不导通,输出高电平。
该脉冲信号经非门整形后作为单片机的中断请求信号和可控硅的过零同步信号。
图4-6过零检测电路
4.4PID控制算法
前面提到,大多数的温度控制系统可以看作一阶纯滞后环节,由于本系统纯滞后时间较小,故可采用PID(比例、积分、微分)控制算法实施控制。
4.4.1PID控制作用
PID是比例(P)、积分(I)和微分(D)3个控制作用的组合。
连续系统PID控制器的微分方程为:
y(t)=KPP[e(t)+
](4-1)
式中y(t)为控制器的输出;e(t)为控制器的输入;KP比例放大系数;TI为控制器的积分时间常数;TD为控制器的微分时间常数。
显然,KP越大,控制器的控制作用越强;只要e(t)不为0,积分项会因积分而使控制器的输出变化;只要e(t)有变化的趋势,控制器就会在微分作用下,在偏差出现且偏差不大时提前给输出一个较强的控制作用。
4.4.2PID算法的微机实现
由于微机控制系统是一种时间离散控制系统,故必须把微分方程离散化为差分方程,最终写出递推公式才能直接应用。
显然:
(4-2)
(4-3)
于是,
KP{e(n)+
+
[e(n)-e(n-1)]}(4-4)
式中Δt=T,为采样周期;e(t)为第n次采样的偏差值;e(n-1)为第(n-1)次采样时的偏差值;n为采样序列,n=0,1,2,…。
由式(4-4)可以看出:
计算一次Y(n),不仅需要的存储器空间大,而且计算量也很大,于是进一步写出递推公式:
由Y(n-1)=KP{e(n-1)+
+
[e(n-1)-e(n-2)]}(4-5)
由式(4)减去式(5)得:
ΔY(n)=Y(n)-Y(n-1)
=KP{[e(n)-e(n-1)]+
[e(n)-2e(n-1)+e(n-2)]}
=KP[e(n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)](4-6)
或Y(n)=Y(n-1)+KP[e(n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)](4-7)
式中KI=KP
,称为积分常数;KD=KP
,称为微分常数。
4.6.3PID算法的程序设计
在本控制系统中,采用式(7)的位置式算法(且KD=0即为PI),即:
YPI(n)=Y(n-1)+KP[e(n)-e(n-1)]+KIe(n)(4-8)
如果设KP,KI为纯小数,KP,KI,e(n),e(n-1)分别放在8031片内RAM的25H,26H,29H,2AH中,PI结果YPI(n)放在R3R4中,则PI控制程序如下:
PI:
MOVA,29H;e(n)
CLRC
SUBBA,2AH;e(n)-e(n-1)
MOVB,25H;KP
LCALLMULTS;KP[e(n)-e(n-1)]
MOVR4,A
MOVR3,B;暂存于R3R4
MOVA,29H;e(n)
MOVA,26H;KI
LCALLMULTS;KIe(n)
ADDA,R4
MOVR4,A
MOVA,B
ADDCA,R3
MOVR3,A;R3R4=KP[e(n)-e(n-1)]+KIe(n)
RET
MULTS:
CLRF0;置e(n)符号标志位为正
JNBACC.7,MUL1
SETBF0;置e(n)符号标志位为负
CPLA
INCA;取绝对值
MUL1:
MULAB
JNBF0,MUL2
CPLA
ADDA,#1
MOVR2,A
MOVA,B
CPLA
ADDCA,#0
MOVB,A
MOVA,R2;还原为补码
MUL2:
RET
第五章软件设计
5.1程序框图
图5-1温度控制系统程序框图
5.2程序内容
PORTAEQU020H;定义端口地址
PORTBEQU021H
PORTCEQU022H
PORTDEQU023H
DATASEGMENT
TABLEDB40H
DB4FH
DB24H
DB30H
DB19H
DB12H
DB02H
DB78H
DB00H
DB10H
BUFDA1DB?
BUFDA2DB?
BUFDA3DB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,98H
OUTPORTD,AL;8255的初始化
;*****************************
MOVAL,01
OUTPORTC,AL
MOVAL,00
OUTPORTC,AL;PC0为0,启动A/D转换
FIND:
INAL,PORTC
TESTAL,010H
JNZFIND;读PC4的值,如为1则继续查询
MOVAL,01
OUTPORTC,AL;使PC0为1,撤消启动信号
INAL,PORTA;读取转换数据
;******************************
MOVCL,100;计算百位,十位,个位
DIVCL
MOVBUFDA1,AL
XORAL,AL
MOVCL,10
MOVBL,AH
MOVAL,BL
MOVAH,0
DIVCL
MOVBUFDA2,AL
MOVBUFDA3,AH
;******************************
DISPLAY:
MOVBX,OFFSETTABLE
MOVAL,[DI+0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8088 实现 温度 巡检 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)