当前位置:文档之家› 基于PT100智能温度测量仪表软件设计与仿真

基于PT100智能温度测量仪表软件设计与仿真

1


目录 前言…………………………………………………………………………………1 第一章 PT100温度测量系统电路方案设计与论证………………2 1.1 方案设计与论证………………………………………………………2

1.2 方案的确定……………………………………………………………2

第二章 智能温度测量仪表的硬件设计……………………………3 2.1 系统硬件框图…………………………………………………………3 2.2 系统的输入通道………………………………………………………3 2.3 人机接口电路…………………………………………………………3 第三章 智能温度测量仪表的软件设计…………
……………………
………………………………4 3.1 主程序设计……………………………………………………………4 3.2 ADC0832数据读取程序设计………………………………………7 3.3 数字滤波程序设计…………………………………………………10 3.4 温度设定及显示程序设计………………………………………11 第四章 系统调试……………………………………………………………14 4.1 硬件调试………………………………………………………………14 4.2 软件调试………………………………………………………………14
4.3 调试过程………………………………………………………………14 第五章 设计体会与小结………………………………………………15 参考文献……………………………………………………………………16

附录……………………………………………………………………………17








2

前言
前言前言
前言

电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统
一的一个环节,是真正锻炼学生能力的一个环节。智能仪器课程设计是依据测控技术与仪
器专业本科生的专业课《智能仪器》而开设的专业课程设计。
本次课程设计主要以温度为测量对象,利用实验室可以提供的设备平台、仪器仪表、
常见芯片,相关元器件,进行相应硬件设计和软件设计,其中包括:温度采集、信号调理、
A/D转换、人机接口电路以及通信接口电路等,最终完成一个简单智能仪器的设计过程。
本课程设计报告共分为5章:第1章主要介绍温度传感器的比较与选用,第2章主要
介绍智能温度测量仪表的硬件功能及设计,第3章主要介绍智能温度测量仪表的软件功能
及设计,第4章主要介绍系统的硬件与软件调试过程与方法,第5章简单谈了自己

的设计
体会与小结。最后还附上做这次课程设计我所参考的资料与文献。















3


第1章 PT100温度测量系统电路方案设计与论证 1.1 方案设计与论证 方案一选用DS18B20温度传感器来实现温度信号的采集与转换。DS18B20 数字温度计
是DALLAS 公司生产的1-Wire单总线器件,作为温度采集芯片,可直接将采集值进行处理
得到数字量送入单片机数码管显示并通过串口送至上位机。
方案二选用PT100温度传感器来实现温度信号的采集与转换。铂电阻温度传感器有
PT100,电阻温度系数为3.9×10-3/℃,0℃时电阻值为100Ω,电阻变化率为0.3851Ω
/℃。铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200℃~650℃)
最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。 1.2 方案的确定 因为PT100相比DS18B20来说测温范围更加广泛,并且本设计要求有A/D转换功能,而
DS18B20集数据采集和A/D转换为一体,直接将采集值进行处理得到数字量送入单片机,从
而不需要A/D转换,故最终选择PT100温度传感器即方案二。
由PT100温度传感器构成的测温电路的工作原理:PT100铂热电阻的阻值随着温度的变
化而变化,利用这一特点来采集温度信号,将采集到得信号转换成电压信号;再经过A/D
转换成数字信号并由单片机系统读取;单片机系统把读取到的数字信号进行识别处理,最
后再由显示器显示输出温度值。PT100分度表如表1.1所示:
温度
温度温度
温度 ℃
℃℃
℃ PT100 阻值
阻值阻值
阻值  传感两端电压
传感两端电压传感两端电压
传感两端电压 mV 0 100.00 124.38
1 100.39 124.8
50 119.40 147.79
100 138.51 170.64
150 157.33 192.93
200 175.86 214.68
250 194.10 235.90
300 212.05 256.59
350 229.72 276.79
400 247.09 296.48
450 264.18 315.69 4
500
280.98 334.42

表1.1 PT100分度表 第二章 智能温度测量仪表的硬件设计 2.1 系统硬件框图 硬件组成主要包括PT100测温电路、信号调理电路(包括放大、模拟滤波等)、A/D转
换接口电路、数码管显示4个组成部分。将利用PT100温度传感器采集到得信号转换成电压
信号;再经过A/D转换成数字信号传送给单片机系统读取;单片机系统把读取到的数字信
号进行识别处理,最后再由显示器显示输出温度值。
其组成框图如图2.1所示:
图2.1 系统硬件框图

2.2
2.22.2
2.2系统的输入通道设计 系统的输入通道包括PT100测温电路、信号放大电路、模拟滤波电路和A/D转换电路。
实现将温度信号经调理和转换,成为单片机能够识别和

处理的信号。其各部分硬件电路设
计电路原理图见附录(附图1——图4所示)。 2.3 人机接口电路设计 本部分主要完成人机接口电路的设计工作,它主要由四位一体数码显示管和 CH451
芯片构成,用于实现系统的温度显示功能。此外,如果要实现温度设定功能可以在CH451
芯片上再接4*4矩阵键盘。
在该人机接口电路的设计中,CH451 为该模块电路的核心器件,功能相对完善。CH451
能有效的将采集到的温度值通过数码管进行实时显示,同时通过 CH451 芯片控制数码显
示,还可有效的节省单片机P口的使用,方便单片机的扩展设计。 温


号 PT100

度传感

信号调理
电路(放
大、滤波
等) A/D转
换接口
电路
M
C
U
温度显示 5
单片机控制与数码管显示电路见附录(附图5)所示:



第第
第3
33
3章
章章


智能温度测量仪表
智能温度测量仪表智能温度测量仪表
智能温度测量仪表的软件设计 3.1
3.13.1
3.1主程序设计 主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,
中断程序,以及各个控制端口的初始化工作。流程图如图3.1所示。系统在初始化完成后
就进入温度测量程序,实时地测量当前的温度并通过显示电路在数码管LED上显示。程序
中以中断的方式来重新设定温度的上限。根据硬件设计完成对温度的控制。按下4*4键盘
上的A键可以设定温度上限。
系统软件设计的总体流程图如图3.1所示:
6

图3.1 主程序流程图





主程序设计代码如下所示:
/* 主程序 */
/******************************************************************/
main()
{unsigned char TempH,TempL,i,j,m;

relay=1;
ch451_init();//初始化451
ch451_write(0x0403); //开显示、键盘 7
ch451_write(0x580); //设置BCD译码
EA=1;//开中断

while(1)
{ EX1=1; //允许键盘中断
flag=0;
if(setb==1)
{
Set_temp();
}
str[0]=TempH/100; //百位温度
ch451_write(CH451_DIG0|str[0]);
str[1]=(TempH%100)/10; //十位温度
ch451_write(CH451_DIG1|str[1]);
str[2]=(TempH%100)%10; //个位温度,带小数点
ch451_write(CH451_DIG2|str[2]);
ch451_write(CH451_DIG3|0x0c);

for(i=0;i<3;i++)
{
if(str[i]>showtemp[i])//则停止加热
{
m=1;
i=i+3;
}
else if(str[i]{
m=0;
i=i+3; 8
}
else m=m; //继续比较
}
relay=m;
{
temp=ReadTemperature();
//i

f(temp&0x8000)
// {
//str[3]=0x40;//负号标志
//temp=~temp; // 取反加1
// temp +=1;
// }
//else
str[3]=0;
TempH=temp>>4;
TempL=temp&0x0F;
TempL=TempL*6/10;//小数近似处理
}
}
} 3.2 ADC0832数据读取程序设计 本次设计采用ADC0832芯片将从传感器输出的信号来进行A/D转换,由于ADC0832
数据转换时间仅为32us,所以A/D转换得数据采样频率可以很快,从而也保证某些场
合对A/D转换数据实时性的要求。ADC0832芯片接口程序的编写,程序流程图如图3.2
所示: 9
图3.2 ADC0832数据读取流程图 A/D转换程序代码如下:
ADCS BIT P3.5 ;使能接口
ADCLK BIT P3.4 ;时钟接口
ADDO BIT P3.3 ;数据输出接口(复用)
ADDI BIT P3.3 ;数据输入接口
以下语句在调用转换程序前设定
MOV B,#00H ;装入通道功能选择数据值
以下为ADC0832读取数据子程序
====ADC0832读取数据子程序====
ADCONV:
SETB ADDI ;初始化通道选择
NOP
NOP
CLR ADCS ;清零/CS端
NOP 产生时钟信号

使能芯片
开始
输入通道控制字
读取2字节数据
字节数据校验
将值送入指定寄存器
结束 10
NOP
SETB ADCLK ;置位CLK端
NOP
NOP
CLR ADCLK ;清零CLK端,形成下降沿
MOV A,B
MOV C,ACC.1 ;确定取值通道选择
MOV ADDI,C
NOP
NOP
SETB ADCLK ;置位CLK端
NOP
NOP
CLR ADCLK ;清零CLK端,形成下降沿2
MOV A,B
MOV C,ACC.0 ;确定取值通道选择
MOV ADDI,C
NOP
NOP
SETB ADCLK ;置位CLK端
NOP
NOP
CLR ADCLK ;清零CLK端,形成下降沿3
SETB ADDI
NOP
NOP
MOV R7,#8
AD_1:
MOV C,ADDO ;接收数据 11
MOV ACC.0,C
RL A ;左移一次
SETB ADCLK
NOP
NOP
CLR ADCLK ;形成一次时钟脉冲
NOP
NOP
DJNZ R7,AD_1 ;循环8次
MOV C,ADDO ;接收数据
MOV ACC.0,C
MOV B,A
MOV R7,#8
AD_13:
MOV C,ADDO ;接收数据
MOV ACC.0,C
RR A ;左移一次
SETB ADCLK
NOP
NOP
CLR ADCLK ;形成一次时钟脉冲
NOP
NOP
DJNZ R7,AD_13 ;循环8次
CJNE A,B,ADCONV ;数据校验
SETB ADCS ;清零/CS端
CLR ADCLK ;清零CLK端
SETB ADDO ;提高数据端,回到初始状态
RET 12
3.3数字滤波
数字滤波数字滤波
数字滤波程序设计
程序设计程序设计
程序设计 数字滤波方法可以有

效抑制信号中的干扰成分,消除随机误差,同时对信号进行必要
的平滑处理,以保证仪表及系统的正常运行。
其中中值滤波法比较适合用于去掉由偶然因素引起的波动和采集不稳定而引起的误
码等造成的脉冲干扰,对温度等缓慢变化的被测参数采用此法能收到良好的效果,其对应
的子程序软件流程图如图3.3所示:
图3.3 数字滤波程序流程图 数字滤波程序代码如下:
#include
#include
#define uchar unsigned char
#define count 5 /*设置采样值个数*/ 保护现场

读入采样次数N
存储单元首地址送Y
读采样值送存储单元Y
Y+1→Y , N-1→N
N=0?
调用冒泡法排序子程
计算中值所在单元地址
取中值送A
返回
恢复现场

是 13
unchart data median;
unchar filtering(void) /*中位值滤波子程序*/
{
unchar idata *addr;
int i,j;
unchar data buffer;
addr0x30; /*设置采样值存储单元首地址*/
for(j=0;j<=count-1;j++) /*冒泡排序法*/
for(i=0;i<=count-j;i++)
{
if((*addr+i)>*(addr+i+1))
{buffer=*(addr+i);(*addr+i)=*(addr+i+1);*(addr+i+1)=buffer;}
}
madian=*(addr+(count-1)/2); /*返回中值*/
}
3.4
温度设定及显示程序设计 该部分主要实现人机接口相互对话的功能,通过开键盘中断,键盘扫描判断有无键按
下,若有,则从高位到低位依次将按键值通过对应的4位数码管显示出来,完成温度设定
功能;若无,则继续键盘扫描。其程序流程图如图3.4所示。 14
图3.4 温度设定及显示程序流程图 温度设定及显示程序代码如下:

void Set_temp(void) //设定保温点
{ unsigned char i;

ch451_write(CH451_DIG0|showtemp[0]);//显示原来设定温度
ch451_write(CH451_DIG1|showtemp[1]);
ch451_write(CH451_DIG2|showtemp[2]);
//设定温度

ch451_write(CH451_TWINKLE|1); //闪烁
EX1=1; //允许键盘中断
while(flag==0); 入口

设定保温点并显示
开中断
数码管闪烁
保存数据、显示按键值
关中断
键盘扫描,有键按下?
A键按下
结束

否 15
EX1=0; //禁止键盘中断
flag=0;
showtemp[0]=ch451_key; //保存数据
ch451_write(CH451_DIG0|showtemp[0]); //显示键值
ch451_write(CH451_TWINKLE); //停止闪烁

ch451_write(CH451_TWINKLE|2);
EX1=1; //允许键盘中断
while(flag==0);
EX1=0; //禁止键盘中断
flag=0;
showtemp[1]=ch451_key;
ch451_write(CH451_DIG1|showtemp[1])

;
ch451_write(CH451_TWINKLE);

ch451_write(CH451_TWINKLE|4);
EX1=1; //允许键盘中断
while(flag==0);
EX1=0; //禁止键盘中断
flag=0;
showtemp[2]=ch451_key;
ch451_write(CH451_DIG2|showtemp[2]);
ch451_write(CH451_TWINKLE);

setb=0;
}



16
第4章 系统调试 4.1 硬件调试 每部分硬件电路设计完毕后,在protel dxp 上进行系统仿真,仿真确保无误之后表
明设计基本正确。按照所设计的电路图在PCB板上将元器件焊接完毕,然后检查元器件安
装是否正确,用万用表检测焊接线路是否正确,有无虚焊或短路现象,检查直至无误即表
明硬件调试完毕。 4.2 软件调试 将所设计的软件程序用程序编写软件写出来,进行查错,确定无误后用程序烧写软件
将程序下载到单片机最小系统,与硬件电路连接,将程序加载到单片机最小系统上之后,
上电后观察现象,可以观察到实时温度低于设定温度时,红灯亮;当实时温度高于设定温
度时,继电器工作,停止加热,红灯熄灭。如果现象正确,表明软件调试已完毕。 4.3 调试过程 通过硬件和软件调试,在调试过程中出现了一些问题,首先检查硬件电路是否连接正
确,焊接线路是否正确,检查无误后,用编程软件检查软件程序是否有语句错误,无误后,
再对应硬件电路观察现象检查程序能否实现对应功能,若那部分有问题则返回去修改对应
的程序直至无误为止。比如在调试过程中,上电后实时温度低于设定温度时红灯没有亮,
先检测硬件部分没有问题,再检测软件部分虽然程序中无语句错误但经过仔细检查发现是
主程序中对于控制继电器那一部分设计出现了逻辑上的错误,经改过来之后,发现现象能
够显示正常。







17
第5章 设计体会与小结 为了满足我们对智能仪器课程设计的实践需求,学校特地给我们提供了为期2周的课
程设计时间,这门课程将智能仪器技术基础、单片机技术基础理论与实际操作有机地联系
起来,意在加深我们对所学理论课程的理解。通过让我们运用已基本掌握的程序设计与调
试、不同功能的单元电路的设计、安装和调试方法,在单元电路设计的基础上,设计出具
有特定功能的电子装置。
通过这次课程设计,深化了我们所学理论知识,培养了综合运用能力,增强了独立分
析与解决问题的能力,训练培养了我们严肃认真的工作作风和科学态度。同时,它也培养
我们查阅资料的能力和学生的工艺素质,培养我们的组员合作精神以及综合设计和实践能
力。

同时训练我们撰写课程设计报告,为以后毕业论文打好基础。
经过两个周的方案论证、系统的硬件和软件的设计、系统的调试。查阅了大量的关于
传感器、单片机及其接口电路、以及控制方面的理论。经过了一番特殊的体验后,经历了
失败的痛苦,也尝到了成功的喜悦。运用所学的专业知识来解决问题,检查了自己的知识
水平,使我对自己有一个全新的认识。通过这次课程设计,不仅锻炼自己分析问题、处理
问题的能力,还提高了自己的动手能力。这些培养和锻炼对于我们这些即将走向工作岗位
的大学生来说,是很重要的。
这次课程设计基本地完成了任务书的要求,实现了温度的控制。通过测试表明系统的
设计是正确的,可行的。但系统中也存在一些不足,这也表明自己的知识水平还存在很大
的不足,这将更加激励我在以后的学习中能够更加深入的学习知识、勇于发现问题并思考
解决问题。






18
参考文献 1.《51系列单片机设计实例》 李光飞,楼然苗 编著 北京航空航天大学出版社, 2.《单片机微型计算机与接口技术》 李群芳,张士军,黄建 编著 电子工业出版社
3. 《单片机应用系统设计——入门向导与设计实例》 韩志军,沈晋源,王振波 编著
机械工业出版社
4.《智能仪器设计基础》 史健芳 编著 电子工业出版社
5.《智能仪器原理及应用》 赵茂泰 编著 电子工业出版社
6.《测控电路》(第3版) 张国雄 主编 机械工业出版社





























19
附录 系统硬件电路原理图




附图1 桥式测温电路

附图2 仪用放大电路

附图3 模拟滤波电路 20


附图4 A/D转换电路

附图5 人机接口电路

相关主题
文本预览
相关文档 最新文档