智能型温度测量仪二_第1页
智能型温度测量仪二_第2页
智能型温度测量仪二_第3页
智能型温度测量仪二_第4页
智能型温度测量仪二_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能仪器课程设计 智能型温度测量仪 学 院:机电工程学院 班 级:09电子二班 姓 名:赵学盼学 号:2009061231 日 期:2011-11-28智能型温度测量仪一 设计任务与要求功能要求1配合电阻温度传感器,实现温度的测量;2具有开机自检、自动调零功能;3具有克服随机误差的数字滤波功能;4. 使用220V/50Hz交流电源,设置电源开关、电源指示灯和电源保护功能。主要技术指标1测量温度范围:02002测量误差:1%3显示方式:4位LED数码管显示被测温度值。二 总体方案论证与选择1. 从功能要求看:在智能型温度测量仪中,采用的单片机型号以MCS51系列居多。本课程设计系统功能并不复杂,

2、MCS-51单片机完全可以胜任主机的角色;2. 从测温范围看:常用的温度传感器有热电阻、热敏电阻温度传感器,热电偶及集成对管温度传感器等,由于电阻温度传感器测量精度高、对非温度量不敏感,且有较大的测量范围,线性度好热便于测量。因此本设计采用电阻传感器温度检测;3.人机接口部件:由于编码式键盘的硬件结构较为复杂,本设计采用非编码式键盘,且采用按键容易识别的、一键一线式的独立式键盘;数据显示采用软件译码动态扫描显示。显示器为共阴极LED。4. 从分辨率看,普通运放和11位以上的A/D转换器可以满足精度要求;分辨率=0.1/(200-0)=1/20005. 由于温度变化缓慢,采用双积分型A/D转换器

3、,不需要采样保持器这样,系统组成方案的雏形已经建立。 方案1差分放大器单电桥测温电路电阻温度传感器单片机(键盘、显示器)A/D转换器电压放大器滤波器方案2集成T/I变换器A/D转换器滤波器I/U变换器单片机(键盘、显示器)以上两个方案的主要区别是选用的传感器不同,两种传感器都具有测量精度较高的特点。电阻温度传感器不但测量精度高,而且灵敏度高,对非温度量不敏感;集成电路温度传感器线性很好,不需要非线性校正,但测温范围较窄。本设计采用方案1。三、总体设计流程图温度测量仪电路设计流程图 图1温度测量仪电路设计流程图流程图简单说明先由电阻温度传感器传递温度信号,因为温度信号较小,因此要在电路中加入电压

4、放大电路将信号放大,以满足测量的要求。信号经过放大之后分为两路:一路直接输入数字显示电路模块的显示信号,另一路经继电器驱动电路模块中作为电压比较器的一个输入信号。四、各单元电路设计1电源设计在各种电子设备中,直流稳压电源是必不可少的组成部分,它是电子设备唯一能量来源, +5V输出电压,就需将交流220V的电压经过变压器、整流电路、滤波电路和稳压电路四个部分。 其电路图如下所示:同时输出正、负电压的电路图。2.测温部分测温部分采用全桥电路,PT100温度感测器是一种以白金(Pt)作成的电阻式温度检测器,属于正电阻系数,其电阻和温度变化的关系式如下:R=Ro(1+T)其中=0.00392,Ro为1

5、00(在0的电阻值),T为摄氏温度<br>因此白金作成的电阻式温度检测器,又称为PT100。3.温度检测电路模块电阻电桥的两个输出端电压的差值(此即为Pt电阻在温度变化时导致的电阻变化所引起的电压值的改变量)可由以下公式求得。其中,U为10V,R0为100,为Pt电阻在不同温度下的电阻值与在0时标称电阻的差值,并且当铂电阻传感器所处温度为零下时,差值为负值;当铂电阻传感器所处温度为零上时,差值为正值。4.电压放大电路模块 电压放大模块采用仪用放大器5.温度数字显示部分5.1 ICL7107电路部分ICL7107简介ICL7107是高性能、低功耗的三位半A/D转换器电路。它包含七段译

6、码器、显示驱动器、参考源和时钟系统。ICL7107可直接驱动发光二极管(LED)。ICL7107将高精度、通用性和真正的低成本很好地结合在一起,它有低于10V的自动校零功能,零源小于1V/°C,低于10pA的输入电流,极性转换误差小于一个字。真正的差动输入和差动参考源在各种系统中都很有用。在用于测量负载单元、压力规管和其它桥式传感器时会有更突出的优点。主要特点: 保证零电平输入时,各量程的读值均为零。 很低的噪声。(小于15VP-P )1pA典型输入电流。 片上时钟。真正的差动输入和差动参考源,直接LED 低功耗(典型值小于10mW)。显示驱动 不需外接有源电路。5.2 显示电路部分

7、5.3 键盘、显示电路设计键盘:设置4个按键,设功能键1个,每按下1次,K1状态计数器加1,使用“+”、“-”依次逐位预置上限温度百位、十位、个位和下限温度百位、十位、个位,预置完毕后,K1状态回0,为简化键处理程序设计,预置上、下限温度范围限制为-50+250,而非0+200。另设预置温度查询键1个,测温时可查询预置的上、下限温度,各键功能分配见附表4-1所示。K1K4状态功能表K1态按键2DH.4F0显示操作0K10 0/1*测温值关A/D中断,K1状态+1,清预置寄存器,关预置错误报警,显示“0灭灭.H”/“0灭灭.L”,0K2、K3*无效0K4*每按1次K4,依次显示“XYZ.H”“X

8、YZ.L”“测温值”13K4*无效1K2000灭灭.H百位数字加11K2001灭灭.H无效1K3000灭灭.H无效1K3001灭灭.H百位数字减11K100X灭灭.HK1状态+1,显示“X0灭.H”2K2000Y灭.HY=9时无效,Y9时Y+12K2001Y灭.HY=5时无效,Y5时Y+12K201-Y灭.HY-1,当Y-1=0时置F0=0,显示“00灭.H”2K3001Y灭.HY0,Y-1;Y=0,无效2K3000Y灭.HY0,Y-1;Y=0,置F0=1,显负号,Y+12K301-Y灭.HY=5时无效,Y5时Y+12K10*XY灭.HK1状态+1,显示“XY0.H”3K200XYZ.HZ=9

9、时无效,Z9时Z+13K201-YZ.HZ=0时无效,Z0时Z-13K300XYZ.HZ=0时无效,Z0时Z-13K301-YZ.HZ=9时无效,Z9时Z+13K10*XYZ.H上限变补码保存,若-49上限150,上限预置成功,2DH.4=1,K1回状态1,否则上限预置错误,开报警,显示“E4”, K1回0态,按K1重新预置。1K2100灭灭.L百位数字加11K2101灭灭.L无效1K3100灭灭.L无效1K3101灭灭.L百位数字减12K2100Y灭.LY=9时无效,Y9时Y+12K2101Y灭.LY=5时无效,Y5时Y+12K211-Y灭.LY-1,当Y-1=0时置F0=0,显示“00灭.

10、L”2K3101Y灭.LY0,Y-1;Y=0,无效2K3100Y灭.LY0,Y-1;Y=0,置F0=1,显负号,Y+12K311-Y灭.LY=5时无效,Y5时Y+12K11*XY灭.LK1状态+1,显示“XY0.L”3K210XYZ.LZ=9时无效,Z9时Z+13K211-YZ.LZ=0时无效,Z0时Z-13K310XYZ.LZ=0时无效,Z0时Z-13K311-YZ.LZ=9时无效,Z9时Z+13K11*XYZ.L下限变补码保存,若-50下限上限,预置成功,2DH.4=0,开A/D中断,K1回0态。否则预置错误,开报警,显示“E5”,K1回状态0,按K1重新预置。表中XYZ为预置的上限和下限

11、温度值,2DH.4=0置上限温度、2DH.4=1置下限温度,F0=0预置温度为正,F0=1预置温度为负。硬件电原理图五、软件设计 一 时钟频率的确定单片机时钟频率fosc:单片机的时钟频率越高,运算速度越快;但耗电量增加、抗干扰能力变差。本设计是测温系统,对测量速度要求不高也无串行通信功能,对时钟无特殊要求,初选fosc=6MHz。 A/D转换时钟频率fCP:正向积分时间应是干扰信号周期的整倍数,考虑到抗50Hz工频干扰,取正向积分时间为60 mS 则TCP=60000S/4000=15S ,fCP=1/TCP=1/15S66.7kHz。查RCfCP曲线得:RC=470k。完成一次A/D转换所

12、需时间T016400×TCP=16400×15×10-6=0.246S,即每秒完成4次A/D转换。三 监控程序设计1 RAM地址分配:见RAM附表4-3所示。约定:多字节定点数存放在RAM中地址连续的单元中时,地址小的单元存放数据的高字节。2 系统初始化参数及控制字(P1)=0FFH,置P1口为输入口(P2)=00H,关显示器,关报警灯和蜂鸣器(P3)=0FFH,置P3口为输入口 RAM地址分配表地址用途说明0组工作寄存器R1、R4、R5显示器自检子程序,R0、R2 ROM、RAM自检子程序,R1、R3通道自检子程序,R0、R2、R6、R7显示子程序1组工作寄存器

13、A/D转换中断服务,BCD码变二进制、二进制变BCD码、二进制数求补码子程序,双字节二进制补码比较大小子程序2组工作寄存器K1K4键处理子程序,R7功能键K1状态计数器,R6查询键K4状态计数器,R4R6预置上、下限温度计数器百位个位,BCD码20H21H存放A/D转换结果,压缩BCD码,符号存F0,变换为二进制补码22H23H存放4次A/D值的和、去零漂、取平均求测温值的补码24H25H保存预置温度BCD码,符号暂存F0,转换为二进制、求补码26H27H存放测温值,压缩BCD码2CH显示字段码暂存2FH32H显示缓冲区,BCD码,千位个位33H34H存放4次测零漂的和,二进制补码35H37H

14、保存预置上温度,百位个位,BCD码,符号在35H最高位38H3AH保存预置下温度,百位个位,BCD码,符号在38H最高位3BH3CH预置上限温度值,二进制补码3DH3EH预置下限温度值,二进制补码3FH40H允许预置的上限温度最大值,二进制补码41H42H允许预置的上限温度最小值,二进制补码43H44H允许预置的下限温度最小值,二进制补码45H中断次数计数器46H定时测零漂计数器60H7FH堆栈F0暂存A/D和预置上、下限温度的符号位,“0”正/“1”负2DH.02DH.0=1ROM有故障2DH.12DH.1=1RAM有故障2DH.22DH.2=1输入通道有故障2DH.32DH.3=1开机自检

15、有故障2DH.4置上、下限标志,2DH.4=0置上限温度,2DH.4=1置下限温度2DH.52DH.5=1,超测温上限2DH.62DH.6=1,超测温下限2DH.7测零漂/自检、测温标志,“1”测零漂/“0”自检、测温(SP)=5FH,堆栈底设为60H(IP)=01H,设为高级中断IT0=1,设外部中断0为边沿触发方式(IE)=00H,禁止所有中断请求(IE)=81H,仅允许中断请求(17H)=00H,清零功能键K1状态计数器2组R7(16H)=00H,清零查询键K4状态计数器2组R6六、部分程序 ORG 0000H LJMP ZCX00 ;首先运行主程序 ORG 0003H LJMP INT

16、00 ;中断向量 ORG 0030H ;主程序ZCX00:MOV P2,#40H ;关报警、关显示MOV P3,#0FFH ;P3设为输入口MOV SP,#5FH ;设堆栈底为60HMOV IP,#01H ;为高级中断SETB IT0 ;为边沿触发CLR A MOV IE,A ;禁止所有中断请求 PUSH PSW SET RS0 MOV R0,A ;置上限设置为初始状态 MOV R1,A ;置下限设置为初始状态POP PSW MOV 20H,AMOV 21H,A MOV 22H,A MOV 23H,A MOV 2DH,A ;置故障、超限等标志为初始状态 MOV 29H,A ;清零4次测零漂的和

17、(始终为补码)MOV 33H,A MOV 34H,A SETB RS1 MOVR5,A;置A/D转换次数 MOV R7,#4;置定时测零漂计数器初值 CLR RS1 ACALL TDIS0 ;调显示器自检子程序ZCX01:ACALL TROM0 ;调ROM自检子程序 ACALL TRAM0 ;调RAM自检子程序 ACALL TSRZJ ;调输入通道自检子程序 ACALL DIS00 ;调显示子程序JB 2DH.0,ERR01 ;自检故障判断 JB 2DH.1,ERR02 JB 2DH.2,ERR03 CLR 2DH.3 ;清故障标志 CLR P2.2 ;关故障报警 SJMP ZCX02ERR0

18、1:MOV 32H,#01H ;置个位显示“1” SJMP ERR04ERR02:MOV 32H,#02H ;置个位显示“2”SJMP ERR04ERR03:MOV 32H,#03H ;置个位显示“3”ERR04:MOV 31H,#0EH ;置十位显示“E”MOV 30H,#0CH ;置百位显示“熄灭”MOV 2FH,#0CH ;置千位显示“熄灭”SETB 2DH.3 ;置开机自检故障标志SETB P2.2 ;开故障报警SJMP ZCX01 ;重新自检ZCX02:MOV SP,#5FH ;系统初始化 SETB P2.7 ;通道开关置测温状态ZCX03:ACALL DIS00 ;调显示子程序JN

19、B P3.4,ZCX0A ;有键按下,转键处理JNB P3.5,ZCX0AJNB P3.6 ZCX0AJNB P3.7,ZCX0AZCX04:JB 2DH.5,ZCX05 ;超上限,超上限报警 JB 2DH.6,ZCX06 ;超下限,超下限报警 JB 2EH.0,ZCX07 ;转A/D过载报警CLR P2.2 ;关超限报警SJMP ZCX03ZCX05:MOV R5,#0AH ;显示“HHHH” SJMP ZCX08ZCX06:MOV R5,#0BH ;显示“LLLL” SJMP ZCX08ZCX07:MOV R5,#0FH ;显示“.8.”ZCX08:MOV R4,#4MOV R0,2FHZ

20、CX09:MOV R0,R5 INC R0 DJNZ R4,ZCX09SETB P2.2 ;开超限报警 SJMP ZCX03ZCX0A:ACALL KEY00 SJMP ZCX04 ORG 0100H ; 显示器自检子程序TDIS0:MOV R4,#3 ;循环3次TDIS1:MOV R1,#2FH ;置显缓区首址(最高位)MOV R6,#4 ;置显缓区为全亮TDIS2:MOV R1,#0FHINC R1DJNZ R6,TDIS2SETB P2.2 ;点亮报警灯 ;打开蜂鸣器MOV R6,#125 ;字段全亮约 TDIS3:ACALL DIS00 DJNZ R6,TDIS3MOV R1,#2FH

21、 ;置显缓区首址MOV R6,#4 ;置显缓区为全灭TDIS4:MOV R1,#0CHINC R1DJNZ R6,TDIS4CLR P2.2 ;熄灭报警灯 ;关闭蜂鸣器MOV R6,#125 ;全熄灭约0.5STDIS5:ACALL DIS00 DJNZ R6,TDIS5 DJNZ R4,TDIS1 RETROM自检清零A、B读ROM A清故障标志修改指针A异或B B校验和 A置故障标志返回最后字节?A=B?ROM自检程序流程图ROM自检子程序 ORG 0160HTROM0:MOV DPTR,#5A3AH ;为程序的结束地址 PUSH DPH ;程序的结束地址进栈 PUSH DPL MOV D

22、PTR,#0000H ;0000H为程序的起始地址 CLR BTROM1:CLR A MOVC A,A+DPTR ;读ROM XRL B,A ;异或运算结果存B POP A ;结束地址低8位出栈 MOV R2,A CJNE A,DPL,TROM3 ;当前地址低8位结束地址低8位,转移至TROM3 POP A ;结束地址高8位出栈 CJNE A,DPH,TROM2 ;当前地址高8位结束地址高8位,转移至TROM2 AJMP TROM4 ;ROM中程序代码全部读出并求异或和,转移至TROM4TROM2:PUSH A ;结束地址高8位进栈 MOV A,R2TROM3:PUSH A ;data1低8位进栈 INC DPTR ;当前地址加1 AJMP TROM1 ;继续异或和运算TROM4:MOV DPTR,#5A42H ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论