实验二十四 温度传感器与控制实验
一、实验目的
1.了解温度传感器电路的工作原理。
2.学会温度控制的一种方法。
二、实验内容
根据系统提供的温度传感器电路、加热电路、散热电路,使用微机将温度控制在某一设定值。当系统采集的温度值低于设定值时,开通加热系统,反之,当温度高于设定值时,关闭加热系统,使加热系统降温。
三、实验要求
按实验内容编写程序,并在实验仪上调试和验证。
四、实验说明
系统使用集成电路温度传感器AD590作为测温器,AD590是AD公司生产的一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。
图24-1 温度传感部分
图24-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有了10℃的变化时输出电压变化为20mV,即该电路M点电压随温度变化为2Mv/℃。
AD590将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。将温度传感器输出的小信号跟随放大32倍左右后,送至8位A/D转换器换成数字量。
设定温度为0摄氏度时变换放大电路送出的模拟量为0V,此时A/D输出的数字量为00H;温度为76.5摄氏度时变换放大电路送出4.9805V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。当温度超过报警温度报警76.5摄氏度,此时,输出电压约为5.0V左右。通过电压比较器接通硬件报警电路报警。输入A/D的模拟信号有过压保护,不会损坏A/D转换器。在实验平台硬件中,已有安全设计,即加热温度不会超过90℃。
系统出厂时已依据标准调整好了放大器的增益和零位。应注意:由于热惯性的影响及温度计显示的滞后因素,若要精确观察某温度点的测量值,在加热到观察温度点后,应停止加热,等待温度计示值稳定后,再观察记录结果。若选区观察点温度较高,还应相应延长等待时间。
需要说明的是,由于温度计和温度采样芯片AD590的采样点不同,理论计算值同显示略有
偏差。
本实验需要用到CPU模块(F3区)和温度测量与控制模块(A5区)、并行模数转换模块(D7区)、8279显示模块(F4区)。温度测量与控制电路原理参见图24-2。
图24-2 温度测量与控制电路
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
注:本实验机出厂前,1)、2)步均调好,用户可以跳过。
1)用万用表测量温度测量与控制模块的Vref电源“Vref”端口的电压,调节电位器RW7A,把Vref电压调到+5V;用万用表测量温度测量与控制模块“-2.74V”端口的电压,调节电位器RW8A,把“-2.74V”端口电压调到-2.74V(注:设备出厂时Vref已调到+5V,“-2.74V”端口电压已调到-2.74V,用户不要随意调节)。
2)将多位开关S7A拨向最左端,调节RW10电位器,使T-DECTECT孔为零。
将多位开关S7A拨向中间端,调节RW9A电位器,使Tin孔为0.68V,调节RW11A电位器,使孔T-DECTECT为5V。
将多位开关S7A拨加最右(温度控制)端,Survey灯亮。
3)系统各跳线器处在初始设置状态。
用导线连接温度测量与控制模块的T-Detect到并行模数转换模块的IN-0;
用导线连接并行模数转换模块的CS_0809到CPU模块的200H;
用导线连接8255模块的CS_8255到CPU模块的210H;
并行模数转换模块的Vref接压力测量模块的Vref输出;
8255模块的PC0接温度模块的T-CON。
4)启动PC机,打开THGMW-88软件,输入源程序,并编译源程序。编译无误后,下载程序
运行。
5)数码管显示为十进制温度测量值。当温度低于设定值时,加热源开始加热(HeatOn灯亮),温度也随着上升,当加热到设定的值时停止加热(HeatOn灯灭),加热与停止加热在设定值的±1℃范围内起控(观察HeatOn灯的亮灭)。
七、实验参考程序
本实验参考程序“24_Temp.ASM”位于THGMW软件文件夹下
THGMW\Exp\88
;文件名: Temperature for 8088
;功能: 温度测量控制显示实验
;接线: 用导线连接温度与控制模块的T-Detect到并行模数转换模块的IN-0;
; 用导线连接并行模数转换CS_0809到CPU模块的200H;
; 用导线连接8255的CS_8255到CPU模块的210H;
; 并行模数转换模块的接压力测量模块的Vref电源;
; 用导线连接温度与控制模块的T-CON到8255的PC0。
;//****************************************************************
Z8279 EQU 239H
D8279 EQU 238H
LEDFEQ EQU 38H ;扫描频率
LEDMOD EQU 00H ;左边输入 八位字符显示
;外部译码键扫描方式,双键互锁
LEDCLS EQU 0C1H ;清除显示 RAM
D0809 EQU 200H ;通道0地址
D8255 EQU 213H ;8255 状态/命令口地址
DSEG SEGMENT
BUFFER DB ?
BUFFER1 DB ?
BUFFER2 DB ?
SetTemp DB ? ;设定温度缓冲
CurTemp DB ? ;测得温度缓冲
文件夹。;//****************************************************************
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START:
PUSH CS
POP DS
call delay
MOV DX,Z8279
MOV
OUT
MOV
OUT
MOV
OUT
MOV
MOV
OUT
MOV
MLOOP:
mov
mov
out
call
in
MOV
MUL
MOV
MOV
MOV
MOV
DIV
MOV
MOV
MOV
CALL
CALL
AL,LEDMOD DX,AL AL,LEDFEQ DX,AL AL,LEDCLS;清除显示 DX,AL DX,D8255 AL,80H ;设置8255为输出 DX,AL SetTemp,50 ;设定温度 50度 dx,D0809 al,0 dx,al delay al,dx ;读入结果 BL,67 BL ;*67 AL,AH ;/256 CurTemp,AL AH,0 BL,10 BL ;拆开显示 BUFFER,AL ;十位数 AL,AH BUFFER1,AL ;个位数 CONTROL ;温度控制 DISPLAY
JMP MLOOP
CONTROL:
MOV AL,CurTemp
MOV BL,SetTemp
DEC BL
SUB AL,BL
JNC GOON
HEAT:
MOV
MOV
OUT
JMP
GOON:
MOV
MOV
INC
SUB
JC
MOV
MOV
OUT
TORET: RET
DISPLAY:
MOV
PUSH
mov
mov
out
pop
LEA
XLAT
MOV
OUT
DX,D8255 AL,1 ;PC0 置“1” 加热 DX,AL TORET AL,CurTemp BL,SetTemp BL AL,BL TORET DX,D8255 AL,0 ;PC0 置“0” 停止加热 DX,AL AL,BUFFER AX dx,z8279 al,85h dx,al ax BX,LEDSEG DX,D8279 ;将十位数写到数码管上 DX,AL
PUSH AX
mov dx,z8279
mov al,84h
out dx,al
pop ax
LEA BX,LEDSEG
XLAT
MOV DX,D8279 ;将个位数写到数码管上 OUT DX,AL
mov dx,z8279
mov al,81h
out dx,al
MOV DX,D8279
MOV AL,63H
OUT DX,AL
mov dx,z8279
mov al,80h
out dx,al
MOV DX,D8279
MOV AL,39H
OUT DX,AL
RET
;o ;o
实验二十四 温度传感器与控制实验
一、实验目的
1.了解温度传感器电路的工作原理。
2.学会温度控制的一种方法。
二、实验内容
根据系统提供的温度传感器电路、加热电路、散热电路,使用微机将温度控制在某一设定值。当系统采集的温度值低于设定值时,开通加热系统,反之,当温度高于设定值时,关闭加热系统,使加热系统降温。
三、实验要求
按实验内容编写程序,并在实验仪上调试和验证。
四、实验说明
系统使用集成电路温度传感器AD590作为测温器,AD590是AD公司生产的一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。
图24-1 温度传感部分
图24-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有了10℃的变化时输出电压变化为20mV,即该电路M点电压随温度变化为2Mv/℃。
AD590将温度变化量转换成电压值变化量,经过OP07一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。将温度传感器输出的小信号跟随放大32倍左右后,送至8位A/D转换器换成数字量。
设定温度为0摄氏度时变换放大电路送出的模拟量为0V,此时A/D输出的数字量为00H;温度为76.5摄氏度时变换放大电路送出4.9805V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。当温度超过报警温度报警76.5摄氏度,此时,输出电压约为5.0V左右。通过电压比较器接通硬件报警电路报警。输入A/D的模拟信号有过压保护,不会损坏A/D转换器。在实验平台硬件中,已有安全设计,即加热温度不会超过90℃。
系统出厂时已依据标准调整好了放大器的增益和零位。应注意:由于热惯性的影响及温度计显示的滞后因素,若要精确观察某温度点的测量值,在加热到观察温度点后,应停止加热,等待温度计示值稳定后,再观察记录结果。若选区观察点温度较高,还应相应延长等待时间。
需要说明的是,由于温度计和温度采样芯片AD590的采样点不同,理论计算值同显示略有
偏差。
本实验需要用到CPU模块(F3区)和温度测量与控制模块(A5区)、并行模数转换模块(D7区)、8279显示模块(F4区)。温度测量与控制电路原理参见图24-2。
图24-2 温度测量与控制电路
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
注:本实验机出厂前,1)、2)步均调好,用户可以跳过。
1)用万用表测量温度测量与控制模块的Vref电源“Vref”端口的电压,调节电位器RW7A,把Vref电压调到+5V;用万用表测量温度测量与控制模块“-2.74V”端口的电压,调节电位器RW8A,把“-2.74V”端口电压调到-2.74V(注:设备出厂时Vref已调到+5V,“-2.74V”端口电压已调到-2.74V,用户不要随意调节)。
2)将多位开关S7A拨向最左端,调节RW10电位器,使T-DECTECT孔为零。
将多位开关S7A拨向中间端,调节RW9A电位器,使Tin孔为0.68V,调节RW11A电位器,使孔T-DECTECT为5V。
将多位开关S7A拨加最右(温度控制)端,Survey灯亮。
3)系统各跳线器处在初始设置状态。
用导线连接温度测量与控制模块的T-Detect到并行模数转换模块的IN-0;
用导线连接并行模数转换模块的CS_0809到CPU模块的200H;
用导线连接8255模块的CS_8255到CPU模块的210H;
并行模数转换模块的Vref接压力测量模块的Vref输出;
8255模块的PC0接温度模块的T-CON。
4)启动PC机,打开THGMW-88软件,输入源程序,并编译源程序。编译无误后,下载程序
运行。
5)数码管显示为十进制温度测量值。当温度低于设定值时,加热源开始加热(HeatOn灯亮),温度也随着上升,当加热到设定的值时停止加热(HeatOn灯灭),加热与停止加热在设定值的±1℃范围内起控(观察HeatOn灯的亮灭)。
七、实验参考程序
本实验参考程序“24_Temp.ASM”位于THGMW软件文件夹下
THGMW\Exp\88
;文件名: Temperature for 8088
;功能: 温度测量控制显示实验
;接线: 用导线连接温度与控制模块的T-Detect到并行模数转换模块的IN-0;
; 用导线连接并行模数转换CS_0809到CPU模块的200H;
; 用导线连接8255的CS_8255到CPU模块的210H;
; 并行模数转换模块的接压力测量模块的Vref电源;
; 用导线连接温度与控制模块的T-CON到8255的PC0。
;//****************************************************************
Z8279 EQU 239H
D8279 EQU 238H
LEDFEQ EQU 38H ;扫描频率
LEDMOD EQU 00H ;左边输入 八位字符显示
;外部译码键扫描方式,双键互锁
LEDCLS EQU 0C1H ;清除显示 RAM
D0809 EQU 200H ;通道0地址
D8255 EQU 213H ;8255 状态/命令口地址
DSEG SEGMENT
BUFFER DB ?
BUFFER1 DB ?
BUFFER2 DB ?
SetTemp DB ? ;设定温度缓冲
CurTemp DB ? ;测得温度缓冲
文件夹。;//****************************************************************
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START:
PUSH CS
POP DS
call delay
MOV DX,Z8279
MOV
OUT
MOV
OUT
MOV
OUT
MOV
MOV
OUT
MOV
MLOOP:
mov
mov
out
call
in
MOV
MUL
MOV
MOV
MOV
MOV
DIV
MOV
MOV
MOV
CALL
CALL
AL,LEDMOD DX,AL AL,LEDFEQ DX,AL AL,LEDCLS;清除显示 DX,AL DX,D8255 AL,80H ;设置8255为输出 DX,AL SetTemp,50 ;设定温度 50度 dx,D0809 al,0 dx,al delay al,dx ;读入结果 BL,67 BL ;*67 AL,AH ;/256 CurTemp,AL AH,0 BL,10 BL ;拆开显示 BUFFER,AL ;十位数 AL,AH BUFFER1,AL ;个位数 CONTROL ;温度控制 DISPLAY
JMP MLOOP
CONTROL:
MOV AL,CurTemp
MOV BL,SetTemp
DEC BL
SUB AL,BL
JNC GOON
HEAT:
MOV
MOV
OUT
JMP
GOON:
MOV
MOV
INC
SUB
JC
MOV
MOV
OUT
TORET: RET
DISPLAY:
MOV
PUSH
mov
mov
out
pop
LEA
XLAT
MOV
OUT
DX,D8255 AL,1 ;PC0 置“1” 加热 DX,AL TORET AL,CurTemp BL,SetTemp BL AL,BL TORET DX,D8255 AL,0 ;PC0 置“0” 停止加热 DX,AL AL,BUFFER AX dx,z8279 al,85h dx,al ax BX,LEDSEG DX,D8279 ;将十位数写到数码管上 DX,AL
PUSH AX
mov dx,z8279
mov al,84h
out dx,al
pop ax
LEA BX,LEDSEG
XLAT
MOV DX,D8279 ;将个位数写到数码管上 OUT DX,AL
mov dx,z8279
mov al,81h
out dx,al
MOV DX,D8279
MOV AL,63H
OUT DX,AL
mov dx,z8279
mov al,80h
out dx,al
MOV DX,D8279
MOV AL,39H
OUT DX,AL
RET
;o ;o