当前位置:文档之家› 基于PT100传感器的单片机温度检测系统

基于PT100传感器的单片机温度检测系统

大连民族学院机电信息工程学院
自动化系

检测技术课程设计报告


题 目
基于PT100的热电阻温
度检测系统设计
专 业 测控技术与仪器
班 级 测控092班
学生姓名 韦魏 刘宝琪
指导教师 谢春利

设计完成日期 2012年 6月29日

目 录 1 设计任务 ........................................................................................................................ 1 1.1任务要求 .............................................................................................................. 1 1.2任务内容 .............................................................................................................. 1 2 系统方案设计 ................................................................................................................ 2 2.1总系统方案 .......................................................................................................... 2 2.1.1温度检测与处理 ....................................................................................... 2 2.1.2模数转换 ................................................................................................... 2 2.1.3温度显示 ................................................................................................... 2 2.2系统方案图 .......................................................................................................... 2 3 硬件设计 ........................................................................................................................ 4 3.1温度检测模块的设计 .......................................................................................... 4 3.1.1PT100温度传感器简介 ............................................................................ 4 3.1.2温度检测及信号处理电路 ....................................................................... 4 3.2模数转换 .............................................................................................................. 5 3.2.1 ADC0809简介 ......................................................................................... 5 3.2.2模数转换电路图 ....................................................................................... 6 3.3 LED显示电路的设计 ......................................................................................... 7 3.3.1 LED数码管编码 ...................................................................................... 7 3.3.2 LED数码管显示方式选择 ...................................................................... 8 4 软件设计 ........................................................................................................................ 9 4.1程序设计语言的选用 .......................................................................................... 9 4.2软件程序的

设计 .................................................................................................. 9 4.2.1总体程序流程 ........................................................................................... 9 4.2.2温度信号采集处理 ................................................................................. 10 5 系统调试 ...................................................................................................................... 12 结 论 ............................................................................................................................ 14 参考文献 .......................................................................................................................... 15 附录A系统总电路图 ..................................................................................................... 16 附录B元件清单 ............................................................................................................. 17 附录C系统源程序 ......................................................................................................... 18 基于PT100的热电阻温度检测系统设计 –1– 1 设计任务 1.1任务要求 给定温度传感器热电阻、热敏电阻等和单片机最小系统学习使用单片机最小
系统设计温度测量电路和模拟量输入通道完成相关的软件设计并实现温度测量显示。 1.2任务内容 通过传感器对温度进行检测设计的检测电路将其转换成相应的电压值又通过过程通道A/D模数转换器将传感器的电压值的模拟信号转换为数字信号然后所转换的
数字量接到单片机89C52的P0口最后单片机对接入的数字信号做出反应显示出温
度值。























基于PT100的热电阻温度检测系统设计 –2– 2 系统方案设计 2.1总系统方案 该电阻温度检测系统由三部分组成温度检测与处理模数转换温度显示。
2.1.1温度检测与处理
电阻式温度计是利用物质在温度变化时本身电阻也随着发生变化的特性来测量温
度的。当被测介质中有温度阶梯存在时所测得温度是感温元件所在范围介质中的平均
温度。尽管导体或半导体材料的电阻值对温度的变化都有一定的依赖关系但适用于制
作温度检测元件的并不多。
由电阻温度传感器检测的信号不稳定进入测量电路的除了传感器输出的测量信号
外往往还有各种噪声。而传感器的输出信号一般又很微弱为了将测量信号从含有噪
声的信号中分离出来我采用了仪用放大器AD623进行信号放大及低通滤波将噪声去除。
2.1.2模数转换
A/D转换器的作用就是把模拟量转换成数字量以便于单片机进行处理。电

阻温度
计将测量温度以电信号的形式传递给ADC0809逐次比较型将电压信号转换成单片
机可接收的数字信号。
2.1.3温度显示
这部分模块由四位八段共阳极的数码管组成段选部分直接与单片机相连。 2.2系统方案图 系统方案图如图1.1所示。 基于PT100的热电阻温度检测系统设计 –3– 图2.1 系统方案图




















热电阻传感器
模数转换
复位电路
STC89C52

显示电路 基于PT100的热电阻温度检测系统设计 –4– 3 硬件设计 3.1温度检测模块的设计 3.1.1PT100温度传感器简介
① 测量范围-200℃+850℃
② 允许偏差值℃ A级
 0.15 0.002t  B级  0.30 0.005t 
③ 响应时间30s
④ 最小置入深度热电阻的最小置入深度≥200mm
⑤ 允通电流≤5mA。
另外PT100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。
鉑热电阻的线性较好在0100摄氏度之间变化时最大非线性偏差小于0.5摄氏
度。鉑热电阻阻值与温度关系为
① -200℃t0℃时 2 3100 1 * 100RtR At Bt Ct t
 
     
  ② 0℃≤t≤850℃时 2100 1RtR At Bt
    式中A=0.00390802B=-0.000000580C=0.0000000000042735。可见PT100在常
温0100摄氏度之间变化时线性度非常好其阻值表达式可近似简化为 100 1RtR At
  当温度变化1℃PT100阻值近似变化0.39。
3.1.2温度检测及信号处理电路
热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测
量的。通常将其放在电桥的桥臂上温度变化时热电阻两端的电压信号被送到仪器放
大器AD623的输入端经过仪器放大器放大后的电压输出送给A/D转换芯片从而把
热电阻的阻值转换成数字量。
AD623是一款集成式单电源仪表放大器采用3 V至12 V电源供电时提供轨到轨
输出摆幅。它可以通过单一增益设置电阻进行编程并遵照8引脚工业标准引脚排列配
置赋予用户出众的灵活性。不接外部电阻时AD623采用单位增益配置(G = 1)连接
外部电阻时AD623可通过编程实现最高增益1000。 基于PT100的热电阻温度检测系统设计 –5– AD623具有优异的交流共模抑制比(CMRR)并且随着增益提高而增大因此可确
保误差极小。由于CMRR在最高200 Hz时仍然保持稳定因此线路噪声和线路谐波均
得到抑制。AD623具有宽输入共模范围可以放大共模电压低于地电压150 mV的信号。
虽然AD623设计针对单电源供电进行了优化但采用双电源(±2.5 V至±6.0 V)供电时
AD623

仍能提供出色的性能。
温度检测电路图如3-1所示。 R16100R17100R1810044%RV11k
3
2
64
7
1
5
8U2AD62350%RV21k50%RV31k
图3.1 温度检测电路图
3.2模数转换 3.2.1 ADC0809简介
本次设计模数转换部分用ADC0809。ADC0809是8位逐次逼近型A/D转换器。它
由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组
成见图3。多路开关可选通8个模拟通道允许8 路模拟量分时输入共用A/D 转
换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量当OE 端为高电平时
才可以从三态输出锁存器取走转换完的数据。
ADC0809的内部逻辑结构如图3.2所示。
基于PT100的热电阻温度检测系统设计 –6– 图3.2 ADC0809的内部逻辑结构
ADC0809工作方式1ADC0809 内部带有输出锁存器可以与AT89S51 单片
机直接相连。2初始化时使ST 和OE信号全为低电平。3送要转换的哪一通
道的地址到ABC 端口上。4在ST 端给出一个至少有100ns 宽的正脉冲信号。
5是否转换完毕我们根据EOC 信号来判断。6当EOC变为高电平时这时给
OE 为高电平转换的数据就输出给单片机了。
其引脚结构如图3.3所示

图3.3 AD0809引脚图 3.2.2模数转换电路图
模拟转换原理图3.4所示。
基于PT100的热电阻温度检测系统设计 –7– 2 -1MSB
21
ADD B
24
ADD A
25
ADD C
23
VREF(+)
12
VREF(-)
16
IN3
1
IN4
2
IN5
3
IN6
4
IN7
5
START
6
2 -5
8
EOC
7
OUTPUT ENABLE
9
CLOCK
10
VCC
11
2 -2
20
GND
13
2 -7
14
2 -6
15
2 -8LSB
17
2 -4
18
2 -3
19
IN2
28
IN1
27
IN0
26
ALE
22U1ADC0809
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U3AT89C5150%RV21k 图3.4 模拟转换原理图 3.3 LED显示电路的设计 在单片机应用系统中如果需要显示的内容只有数码和某些字母使用LED数码
管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活与单片机接口简单
易行。
3.3.1 LED数码管编码
LED数码管是由发光二极管作为显示字段的数码型显示器件。图3.5(a)所示为0.5
英尺LED数码管的外形和引脚图其中七只发光二极管分别对应ag笔段构成“ ”
字形另一只发光二极管dp作为

小数点。因此这种LED显示器称为七段数码管或八段数
码管。










图3.5 led数码管
LED数码管按电路中的连接方式可以分为共阴极和共阳极两大类如图3.5b所
示。共阳型是将各段发光二极管的正极连在一起作为公共端COM公共端COM接基于PT100的热电阻温度检测系统设计 –8– 高电平ag、dp各笔段通过限流电阻接控制端。某笔段控制端低电平时该笔段发光
高电平时不发光。控制这几段笔段发光就能显示出某个数码或字符。共阴型是将各数
码发光二极管的负极连在一起作为公共端COM接地某笔段通过限流电阻接高电平
时发光。


3.3.2 LED数码管显示方式选择
LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。
本设计选动态显示方式。LED数码管显示电路如图3.6所示。
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27U3AT89C51R1100R2100R8100R3100R6100R4100R7100R5100R91kR101kR111kR121kQ1ZTX753Q2ZTX753Q3ZTX753Q4ZTX753

图3.6 LED数码管显示电路 基于PT100的热电阻温度检测系统设计 –9– 4 软件设计 4.1程序设计语言的选用 本设计采用C51高级语言编写因为其提供了库函数包含许多标准子程序具有较
强的数据处理能力关键字及控制转移方式更接近人的思维方式且 本身并不依赖于
机器硬件系统移植方便。 4.2软件程序的设计 4.2.1总体程序流程
程序主要由主程序和子程序两部分构成。
主程序主要实现系统的初始化 A/D转换显示数据。
系统的初始化包括寄存器的初始化控制寄存器、堆栈、中断寄存器等通信的
初始化串口的初始化ADC0809的初始化通信缓冲区的初始化LED显示的初
始化输出端口的初始化采集、累计数据的初始化。
显示数据包括数据转换主要实现将各类参数、测量数据、计算累计值等转换成
LED显示所需的数据类型和显示屏的刷新
子程序主要由温度信号采集程序组成。
主程序流程图如图4.1所示。 基于PT100的热电阻温度检测系统设计 –10– 图4.1主程序流程图 4.2.2温度信号采集处理
单片机通过写信号使START有效启

动AD转换AD转换结束后ADC0809通
过INT0向CPU发出转换结束信号引起CPU中断可在中断程序中读取AD转换的
结果。分别对8路模拟信号轮流采集一次转换结果依次存放在片外数据RAM中。
AD转换子程序流程图如图4.2所示。



调用AD0809函数
开始
调用显示函数
初始化 基于PT100的热电阻温度检测系统设计 –11–
图4.2 AD转换子程序流程图
由ADC00809进行标度变换后信号送给单片机显示显示部分由一个四位数码管
单片机及其最小系统构成。四位数码管的显示原理都相同因此列出其中一个的程序流
程图即可
显示程序流程图如图4.3所示。
图4.3 显示程序流程图
读取数据
子程序入口
启动ADC0809
P1口数据送入adat变量
标度变换
数据处理
子程序入口
显示
模除数据 基于PT100的热电阻温度检测系统设计 –12– 5 系统调试 整个温度检测系统由测控电路、放大电路数模转换电路以及显示部分构成其中
显示部分用的是单片机学习板所以电路的设计主要是测控、信号放大、数模转换的部
分。

1.测控电路
为了消除线电阻采用的是两线制接法的桥式电路。根据桥式电路原理电路中的
电阻应采用热电阻传感器在0℃时的阻值为100Ω。为了能达到测试的目的所以在
桥式电路中应该接入传感器的位置放入一个100Ω的可调电阻并使之与两个100Ω
的色环电阻串联。这样可调的阻值范围可以从50Ω到150Ω这个范围大于传感器在
0℃到100℃的阻值进而达到在调试过程中模拟传感器变化的目的。

2.放大电路
由桥式电路的两个桥臂分别接入AD623仪用放大器的两个输入引脚2和3,1脚和8
脚接入可调电阻为了调节放大倍数。7脚与VCC相连4脚接GND引脚5接入参
考电压。接法是用一个可调电阻电阻的中间管脚与引脚5相连电阻的两端分别接
VCC和GND。为了保护芯片所以进入芯片的电流应该越小越好换言之可调电阻
的阻值越大越好。我们使用的是一个10K可调电阻使用的参考电压为3V接入的阻
值为2.5KΩ那么电流的大小是2mA不会烧坏芯片。

3.AD通道
23、24、25脚接地给低电平信号。信号由IN0输入。经数模转换信号从D0~D7
送入单片机P1.0~P1.7。

4.调试
把测控电路和放大电路连接起来组合调试。把测控电路的可调电阻调整为100Ω
那么两桥臂的阻值相等输出的电压都是2.5V,压差为0那么AD623的输出也为0。
调节测控部分的可调电阻、AD623的两个可调电阻仪用放大器的输出都会呈线性变化
如果出现这样的现象那么说明

电路是正确的。在实际的焊接过程中并没有这么顺利。
桥式电路的输出电压是正确的可是电路连入放大部分的时候不管怎样调节电阻输基于PT100的热电阻温度检测系统设计 –13– 出都是呈饱和状态不管接入参考电压与否。这个问题到最后也没查出原因只好把这
两部分电路重新焊接了一遍。焊接后的电路现象正确。、
把AD623的输出电压接到ADC0809并接入显示电路设计一个显示程序把
AD623输出的电压显示到数码管上。显示的结果是正确的但如果调节焊接电路的可调
电阻数码管的显示不会更新检查电路后发现其中一个管脚焊接断开了把断开部
分用焊锡接上以后电路的调试通过换上铂热电阻。
与温度传感器连接通电后可以实现测量温度的基本功能通过led显示读出温度
值但是由于理论与实际并不能完全对应测出的温度值有很大误差经过调试分析
将放大倍数等稍作修改可以控制其偏差在2度以内并不影响正常的指标分析可以
说精度还算高。

最后调试完毕后的硬件显示温度图如图5.1所示。


图5.1 温度显示电路图






基于PT100的热电阻温度检测系统设计 –14– 结 论 本课题以STC89C52单片机系统为核心对单点的温度进行实时检测。采用模拟温
度传感器PT100对温度进行检测采用模数转换器ADC0809进行A/D转换把温度信号
调解转换为电压信号与STC89C52单片机接口设置LED八段数码管实时显示温度值。
本设计包括温度传感器、A/D转换模块、数据传输模块、温度显示模块四个部分。在设
计过程中遇到了许多问题如设计初始阶段目的不明思绪混乱经过认真思考和老
师的指导才使自己思路明确抓住重点不懂就问在很短的时间内系统有序的完成。
大学三年多的时间都是在学习测控与仪器方面的专业知识并未真正的应用和实
习。虽然在上个学期有单片机课程设计练习积累了一定的知识并融合到具体的实物
当中。但是经过这次检测技术课程设计我接触到了更多平时没有接触到的仪器设备、
元器件以及相关的使用调试经验发现了自己很多不足之处。我还体会到了所学理论知
识的重要性知识掌握得越多设计的就更全面、更顺利、更好。
了解进行一项相对比较大型的设计所必不可少的几个阶段。课程设计能够从理论设
计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结
合等方面全面的培养学生的全面素质。我经过这次系统的课程设计熟悉了对一项课题
进行研究、设计

和实验的详细过程。这些在我将来的工作和学习当中都会用很大的帮助。
学回来怎样查阅资料和利用工具书。平时课堂上所学的知识大多比较陈旧作为测
控技术专业的学生由于专业特点自己要更积极查阅当前最新电子信息资料。一个人不
可能什么都学过什么都强因此当你在设计过程中需要用一些不曾学过的东西时
就要去有针对性的查找资料然后加以吸收利用以提高自己的应用能力而且还能增
长自己见识补充最新的专业知识。
与队友的合作更是一件快乐的事情只有彼此都付出彼此都努力维护才能将作品
做的更加完美。而团队合作也是当今社会最提倡的。
虽然课程设计结束了也留下了很多遗憾因为由于时间的紧缺和许多课业的繁忙
并没有做到最好但是最起码我们没有放弃它是我们的骄傲相信以后我们会以更
加积极地态度对待我们的学习、对待我们的生活。



基于PT100的热电阻温度检测系统设计 –15– 参考文献 [1] 胡汉才. 单片机原理及其接口技术[M]. 北京清华大学出版社1996274-279
[2] 沙占友王彦朋孟志永. 单片机外围电路设计[M]. 电子工业出版社2003135-137
222-226
[3] 童诗白华成英. 模拟电子技术基础[M]. 北京北京高等教育出社2001312-330387-391
408-411446-451
[4] 黄继昌张海贵郭继忠. 实用单元电路及其应用[M]. 人民邮电出社2002
[5] 谢宜仁. 单片机实用技术问答[M].人民邮电出版社2003
[6] 张福学. 传感器应用及其电路精选[M]北京北京电子工业出版社1991
[7] 余载泉李玉和. PROTEL实战演练[J]. 20007-115-08613-3
[8] 何立民. 单片机应用系统设计[M]. 北京北京航空航天大学出版社1994
[9 ] 何立民. 单片机高级教材[M]. 北京航空航天大学出版社2000
[10] 康光华. 电子技术基础模拟部分[M]. 北京高等教育出版社2000
[11] 胡宴如. 电子技术基础模拟部分[M]. 北京中国电力出版社2001
[12] 马净李晓光宁伟. 常用温度传感器的原理及发展[J].中国仪器仪表200424(6):1-2
[13] 王红萍. 铂电阻温度传感器测温研究[J]. 抚顺石油学院学报200323(2):17-19
[14] Leoj.scanlon:“Assembly Language programming with the IBM PC AT”Brady Communica Yion
Company.Inc,1986:39-57.
[15] Donna N.Tabler:“IBM PC Assembly language” John Wiley&Sons.Inc, 1985:86-98.
[16] https://www.doczj.com/doc/2b4507790.html,/













基于PT100的热电阻温度检测系统设计 –16– 附录A系统总电路图 2 -1MSB
21
ADD B
24
ADD A
25
ADD C
23
VREF(+)
12
VREF(-)
16
IN3
1
IN4
2

IN5
3
IN6
4
IN7
5
START
6
2 -5
8
EOC
7
OUTPUT ENABLE
9
CLOCK
10
VCC
11
2 -2
20
GND
13
2 -7
14
2 -6
15
2 -8LSB
17
2 -4
18
2 -3
19
IN2
28
IN1
27
IN0
26
ALE
22U1ADC0809XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27U3AT89C51R16
100R17100R1810044%RV11kR1100R2100R8100R3100R6100R4100R7100R5100R91kR101kR111kR121kQ1ZTX753Q2ZTX753Q3ZTX753Q4ZTX7533
2
64
7
1
5
8U2AD623
50%RV21k50%RV31k 基于PT100的热电阻温度检测系统设计 –17– 附录B元件清单 元件清单表
元件清单
序号 名称 封装 型号 数量
1 芯片(仪用放大器) DIP8 AD623 1
2 芯片插座 DIP8 1
3 色环电阻 100Ω 5
4 可调电阻 100Ω 1
5 可调电阻 10kΩ 2
6 芯片AD转换 DIP28 ADC0809 1
7 芯片插座 DIP28 1
8 排针 PIN40 1
9 排母 PIN40 1
10 杜邦线 PIN40 1














基于PT100的热电阻温度检测系统设计 –18– 附录C系统源程序 #include
#define uchar unsigned char
#define uint unsigned int
sbit st=P3^4;
sbit oe=P3^6;
sbit eoc=P3^5;
sbit CLK=P3^3;

//sbit dian=P0^7;
uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值
0123456789
void display(int dat);//显示程序
void delaynms(uint x);//nms延时程序
int ad0809();
void int_adc(); //以上几个语句都是在定义函数

void delaynms(uint x)
{
uchar i;
while(x-->0)
{
for(i=0;i<125;i++)
{;}}}
void display(int dat)
{

P0=tab[dat/1000]; //P0模除1000
P2=0x00; //送1位显示
delaynms(2); //延时


P0=tab[dat/100%10];//模除1000后模除100
P2=0x01; //送给2位显示 基于PT100的热电阻温度检测系统设计 –19– delaynms(2); //延时

P0=tab[dat/10%10];//模除100后模除10
P2=0x02; //送给3位显示
delaynms(2); //延时


P0=tab[dat%10]; //模除10后除10要余数
P2=0x03; //送第4位显示
delaynms(2); //延时



}


int ad0809()
{
int adat;


oe=0;//以下三条指令为起动AD0809
st=0;
st=1;
st=0;
//delaynms(1);
while(!eoc);//等待转换结束
oe=1;//取出读得的数据
adat=P1;//送相关通道数组
adat=adat*19.531 ;
adat=(adat-3000)/1000.0*39; //这是一个算

法得出的结果即为当时的温度值
oe=0; //关闭oe等待下一轮读数
return (adat); //返回循环
基于PT100的热电阻温度检测系统设计 –20– }

void int_adc() //ADC0809芯片的初始化
{
TMOD=0X02;
TH0=0Xd0;
TL0=0Xd0;
IE=0X82;
TR0=1;
}


void main()
{
int aa;

int_adc();
while(1)
{
aa=ad0809();//调AD0809 启动子程序
display(aa);//调显示




}
}
void Timer0_INT() interrupt 1 //ADC0809芯片时钟信号
{

CLK=!CLK;
}

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