新型智能温度计系统设计文档格式.docx
- 文档编号:6641819
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:21
- 大小:690.94KB
新型智能温度计系统设计文档格式.docx
《新型智能温度计系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《新型智能温度计系统设计文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
Rt=Ro(1+At+Bt2),式中:
Ro系温度为0℃时的电阻值。
A=3.9684×
10-3/℃,B=-5.847×
10-7/℃。
热响应时间是在阶跃温度作用下,热电阻的输出变化值相当于阶跃变化的50%时,所需的时间,用τ0.5来表示。
2.1.1PT100铂电阻的温度和阻值对应关系
温度
1
2
3
4
5
6
7
8
9
(℃)
电阻值(Ω)
-20
92.04
91.64
91.24
90.84
90.44
90.04
89.64
89.24
88.84
88.44
-10
98.03
95.63
95.23
94.83
94.43
94.03
93.63
93.24
92.84
92.44
-0
100.00
99.60
99.21
98.81
98.41
98.01
97.62
97.22
96.82
96.42
100.40
100.79
101.19
101.59
101.98
102.38
102.78
103.17
103.57
10
103.96
104.36
104.75
105.15
105.54
105.94
106.33
106.73
107.12
107.52
20
107.91
108.31
108.70
109.10
109.49
109.88
110.28
110.67
111.07
111.46
30
111.85
112.25
112.64
113.03
113.43
113.82
114.21
114.60
115.00
115.39
40
115.78
116.17
116.57
116.96
117.35
117.74
118.13
118.52
118.91
119.31
50
119.70
120.09
120.48
120.87
121.26
121.65
122.04
122.43
122.82
123.21
图2.1.1
2.2ADC0809模数转换器
本次设计采用的是ADC0809进行模数转换。
ADC0809是八位逐次逼近式CMOS单片A/D转换器。
以下介绍各引脚的功能:
ADDA,ADDB,ADDC:
地址选择信号。
ALE:
地址锁存允许信号,高电平有效,上升沿将ADDA,ADDB,ADDC锁存,若ALE一直接高电平,
则多路模拟开关中的某一路就成为直通方式,一直接通。
START:
启动转换信号,高电平有效,上升沿清除A/D转换电路中的逐次逼近寄存器,下降沿启动内部控制逻辑,开始转换。
常将STAR与ALE短接,由同一脉冲信号进行控制。
EOC:
转换结束信号,START的下降沿启动转换后,经过一定的延迟,EOC由高变低,在转换结束时,再低变高。
OE:
输出允许信号,高电平有效时,使三态缓冲器脱离三态,将转换后的数字量送至外部数据总线(D0~D7)。
Vref+,Vref-:
参考电压正端和副端,它们是内部八位A/D转换电路中电阻网络两端所需外加的参考电压端。
D0~D7:
外部数据输入总线,与CPU的数据总线相连。
IN0~IN7:
模拟电压输入端,根据需要输入电压可以加到一路或若干路,也可以全加,但转换时每次只选择一路进行。
CLOCK:
时钟信号输入端
Vcc:
电源电压输入端,接+5V。
GND:
接地端。
表2.2.1ADC0809
2.3AT89C52单片机
本次设计采用的单片机是AT89C52(图3),其引脚功能如下所述。
P0口:
p0口是一组8位漏极开型双向I/O口。
作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据线复用,在访问期间激活内部上拉电阻。
P1口:
P1是一个带内部上拉电阻的的8位双向I/O口,P1的输入缓冲级可驱动四个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。
P1.0和P1.1还可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
P2口:
P2是一个带内部上拉电阻的的8位双向I/O口,P2的输入缓冲级可驱动四个TTL逻辑门电路。
在访问外部程序存储器或16位地址的数据存储器时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器时,P2口送出P2锁存器的内容。
P3口:
P3口是一组带有拉电阻的8位双向I/O口。
P2的输入缓冲级可驱动四个TTL逻辑门电路。
Vcc为电源正端,Vss为接地。
Vcc接典型值5V
RST:
复位引脚,输入高电平使89C52复位,返回低电平退出复位。
/VP:
运行方式时,
为程序存储器选择信号,
接地时CPU总是从外部存储器中取指令,
接高电平时CPU可以从内部或外部取指令;
flash编程方式时,该引脚为编程电源输入端VP(+5V或12V)。
:
外部程序存储器读选通信号,CPU从外部存储器取指令时,从
引脚输出读
选通信号(负脉冲)。
运行方式时,ALE为外部存储器低八位地址锁存信号,flash编程方式时,该引脚为编程脉冲输入端。
X1,X2:
内部振荡器电路(反相放大器)的输入端和输出端,外接晶振电路。
P0,P1,P2:
八位输入输出口。
RXD,TXD:
串口输入输出。
,
外部中断0,1的输入线。
T0,T1:
定时器T0,T1外部计数脉冲输入线。
外部数据存储器写,读脉冲输出线。
图2.3.1
2.4运算放大器
本次设计采用的运算放大器是LM324N。
LM324N为四运放集成电路,采用14脚双列直插塑料封装。
内部有四个运算放大器,有相位补偿电路。
电路功耗很小,LM324N工作电压范围宽,可用正电源3~30V,或正负双电源±
1.5V~±
15V工作。
它的输入电压可低到地电位,而输出电压范围为O~Vcc。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。
每一组运算放大器可用如图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;
Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
图2.4.1运算放大器
2.5LED数码显示管
设计选用七段LED数码管,这种数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点。
这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);
共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。
设计采用共阳极数码管,如图7所示。
图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控
实际的数码管的引脚排列.对于单个数码管来说,从它的正面看进去,左下角那个脚为1脚,以逆时针方向依次为1~10脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。
3脚和8脚是连通的,这两个都是公共脚。
2.67805稳压管
因为设计的单元电路需要稳定的5V电压作为电源,所以选用三端稳压集成电路7805,以便输出需要的电压。
7805这种三端稳压用的集成电路只有三条引脚输出,分别是输入端、接地端和输出端。
它的样子象是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装。
用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,所以电子制作中经常采用。
3单元电路设计
3.1电源电路
根据芯片资料,稳压管7805输入输出与地之间应当接0.33微法和0.11皮法的电容,但由于器件的限制,实际电路中直接用9V电池的正极作为稳压管7805的输入,电池负极接地,实测输出电压为5.01V,符合要求。
3.2晶振电路
AT89C52等COMS型单片机内部有一个可控的反相器,引脚XTAL1,XTAL2为反相放大器的输入端和输出端,在XTAL1,XTAL2上外接晶振和电容便组成振荡器。
设计时电容C1,C2选用27皮法。
振荡器的频率主要取决于晶振的频率,设计选用的晶振频率为12MHz。
晶振电路如图10所示。
3.3上电复位电路
在RST引脚上输入2个机器周期以上的高电平,机器便进入复位状态,此时ALE、PSEN、P0、P1、P2、P3输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作。
上电复位电路如图11所示。
3.4正前端信号测量电路
电桥电路如图12所示。
其中R9、R10为1千欧的电阻。
Rt1为PT100铂电阻温度传感器,传感器在100摄氏度时的理论接入阻值为92.16欧,实际电路的R3的接入阻值为90欧。
RT即为铂电阻PT100,其电阻值随温度的变化而变化,具体见铂电阻分度表。
电桥输出电压U。
的表达式如下:
Uo=5/(Rpt/(1000+Rpt)-92/1092)
此需要将电桥电路输出的电压通过差动放大电路放大到或接近5V。
通过计算差动放大电路需要放大约30倍。
经运放放大后输出电压Uo`的表达式如下:
Uo`=150/(Rpt/(1000+Rpt)-92/1092)
4整体电路设计及说明
本设计是采用AT89C52单片机作为主控电路,其中P0口为A/D转换器的通信端口,P0口接数码管的段码,P2口接数码管的片选端,用于对数码管进行片选
5软件程序设计
5.1系统软件设计说明
进行微机测量控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个测量对象的实际需要设计应用程序。
因此,软件设计在微机测量控制系统设计中占重要地位。
对于本系统,软件设计更为重要。
在单片机测量控制系统中,大体上可分为数据处理、过程控制两个基本类型。
数据处理包括:
数据的采集、数字滤波、标度变换等。
过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便达到测量控制目的。
软件设计主要是对温度进行采集、显示,因此,整个软件可分为温度采集子程序、显示子程序、及系统主程序。
5.2系统流程和清单
主程序
#include<
reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharcodetable[]={
0x0c0,0x0f9,0x0a4,0x0b0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x0bf};
uchardisp[4];
//定义数组变量
sbitST=P3^0;
//定义START引脚
sbitOE=P3^1;
//定义OE引脚
sbitEOC=P3^2;
//定义EOC引脚
sbitp17=P1^7;
//定义数码管小数点
intgetdata,temp;
voiddelay(uintz);
voiddisplay();
voidmain()
{//A/D启动转换程序:
while
(1)
{OE=0;
//刚开始禁止将转换结果输出
ST=0;
ST=1;
//启动AD转换开始
while(EOC==0);
//等待转换结束
OE=1;
//允许转换结果输出
//平均值滤波程序:
voidaverage()
{for(i=0;
i<
8;
i++)
{sum=0;
sum=sum+P0;
sum=sum/8;
}
getdata=sum;
//将转换结果赋值给变量getdata
sum=0;
delay
(1);
OE=0;
//禁止转换结果输出
//数据转换程序:
temp=getdata*1.0/255*500;
//将得到的数据进行处理
if(temp<
113)
{temp=(112.7-temp)/0.46;
disp[0]=temp%10;
//取得个位数
disp[1]=temp/10%10;
//取得十位数
disp[2]=temp/100;
//取得百位数
disp[3]=10;
//取得千位数
display();
}//调用显示子程序
else
{temp=(temp-113)/0.45;
disp[3]=0;
}
//延时程序:
voiddelay(uintz)
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
//显示程序:
voiddisplay()//将显示结果在数码管中显示
{P2=0x07;
P1=table[disp[0]];
P2=0x0B;
P1=table[disp[1]];
p17=0;
P2=0x0D;
P1=table[disp[2]];
P2=0x0E;
P1=table[disp[3]];
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新型 智能 温度计 系统 设计