总成绩 评阅人
基于PT100的温度采集系统
学 生 姓 名 学 号 学 院
年 月
目录
一、 绪论........................................................... 2 二、 基本理论分析................................................... 3
2.1系统方案设计................................................. 3 2.2 器件的选择 .................................................. 4
2.2.1 单片机ATC51 ......................................... 4
三、 硬件电路设计................................................... 6
3.1 最小系统设计 ................................................ 6
3.1.1 时钟电路............................................... 6 3.1.2 复位电路............................................... 7 3.2 PT100驱动电路设计........................................... 8 3.3 ADC0809驱动电路设计......................................... 9 3.4 电源电路设计 ................................................ 9 四、 程序设计...................................................... 10
4.1 中断服务程序设计 ........................................... 10 4.2 主函数程序设计 ............................................. 11 4.3 数码管显示程序设计 ......................................... 11 五、 结论.......................................................... 12
1
【摘要】 本系统设计以C51微控制器作为数据处理与控制单元,PT100作为温度传感器,将温度变化转化为电阻大小的变化,再通过驱动电路将其转化为电压信号,单片机通过控制AD采集芯片ADC0809采集电压信号,通过实验测量将其转化问实际温度值,单片机数据处理之后,将温度信息显示到到数码管上。本系统可以实现多路温度信号采集,通过进行温度数据的运算处理,将所采集到的温度显示出来。
【关键字】 C51单片机 PT100 温度 AD采集 数码管显示
一、绪论
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。单片机在测控领域中具有十分广泛的应用,它既可以测量电信号,又可以测量温度湿度等非电信号。由单片机构成的温度检测、温度控制系统可广泛应用于很多领域。单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。今天,我们的生活环境和工作环境有越来越多称之为单片机的小电脑在为我们服务。时下,家用电器和办公设备的智能化、遥控化、模糊控制化己成为世界潮流,而这些高性能无一不是靠单片机来实现的。
人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域。
温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器
2
正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据采集之后,通过进行温度数据的运算处理,将当前温度信息发送到数码管进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,将实际温度值显示到数码管上。
二、基本理论分析
2.1系统方案设计
根据系统的设计要求,当温度传感器PT100把所测得的温度通过驱动电路转换成电压信号,C51通过控制ADC0809对AD值尽心采集并进行处理,把温度数码管上显示。
利用C51芯片控制温度传感器PT100进行实时温度检测并显示,能够实现快速测量环境温度。
系统框图如下图:
模拟电压信号数字电压信号实际温度PT100 采集温度信号ADC0809采集温度显示C51
3
图1.1 系统框图
2.2 器件的选择 2.2.1 单片机ATC51
ATC51作为温度测试系统设计的核心器件。该器件是INTEL公司生产的MCS—5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术。具有高性能的8位单片机,属于标准的MCS-51的CMOS产品。片内含8Kbytes的可贩毒擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件兼容标准的MCS-51指令系统。片内置通用8位处理器(CPU)和Flash存储单元。结合了HMOS的高速和高密度技术及CHMOS的低功耗特征。
其具有如下性质:
(1)与MCS-51 产品指令系统完全兼容 (2)4K字节可重擦写Flash闪烁存储器。 (3)寿命:1000写/擦循环。 (4)数据保留时间:10年。 (5)全静态工作:0Hz-24Hz。 (6)三级程序存储器锁定。 (7)128*8位内部RAM。 (8)32可编程I/O线。 (9)两个16位定时器/计数器。 (10)8个中断源。 (11)可编程串行通道。 (12)低功耗的闲置和掉电模式。 (13)片内振荡器和时钟电路。
ATC51单片机提供以下标准功能:4k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2
4
级中断结构,全双工串行口,片内晶振及时钟电路。另外,ATC51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2.2 温度传感器PT100
PT100温度系数为3.9×10-3/℃,0℃时 ,电阻值为100Ω,电阻变化率为0.3851Ω/℃。铂电阻温度传感器精度高,稳定性好,应用温度范围广,是中低温区(-200℃~650℃)最常用的一种温度检测器,不仅广泛应用于工业测温,而且被制成各种标准温度计。
PT100温度传感器的主要技术参数如下:
1) 测量范围:-200℃~+850℃;
2) 允许偏差值C:A级±(0.15+0.002│t│), B级±(0.30+0.005│t│);
3) 热响应时间30s;
4) 最小置入深度:热电阻的最小置入深度200mm 5) 允通电流5mA。
另外,Pt100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。
2.2.3 电压采集芯片ADC0809
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。 其主要特性:
1)8路输入通道,8位A/D转换器,即分辨率为8位。 2)具有转换起停控制端。
3)转换时间为100μs(时钟为0kHz时),130μs(时钟为500kHz时) 4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。 6)工作温度范围为-40~+85摄氏度
5
7)低功耗,约15mW。
转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式
对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式
A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式
把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。
不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
三、硬件电路设计
3.1 最小系统设计
51单片机最小系统由复位电路、输入输出设备、晶振电路、电源电路构成。
3.1.1 时钟电路
XTAL1 和XTAL2 是的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。本实验中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说
6
晶振可以在1.2 ~ 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的12M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。
图2 内部时钟配置电路
3.1.2 复位电路
5l 系列单片机的复位引脚RST( 第9 管脚) 出现大于10ms的高电平时单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。 复位操作通常有两种基本形式:上电自动复位和开关复位。本实验所用的的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。
7
图3 复位电路
3.2 PT100驱动电路设计
采用一个分压电阻与PT100串联,串联后分压电阻及PT100两端分别与电源正负极相连。串联的电阻大小选用3.3k,使其通过的电流不得过大,从而导致PT100发热导致测量不准确。
分压输出点电压,也就是PT100两端的电压,可以反映温度的高低,温度越高,输出电压越高。输出点连接一个窗口比较器,当输出电压高于比较器上限时,输出高电平,低于比较下限时,输出低电平,输出电压在上限和下限之间时,比较器输出维持。比较器的上限电压对应温度上限,下限电压对应温度下限。 采用窗口比较器是为了避免温度微小波动或电源电压微小波动或遇到干扰导致输出电压微小波动时,比较器输出电平频繁变化。为了增加抗干扰能力,在分压输出点接滤波电容至地。
电路右边是一个放大10倍的差动放大电路,将PT100两端的电压信号放大,使其利于AD采集。
8
3.4 电源电路设计
3.3 ADC0809驱动电路设计
图4 PT100驱动电路
的是单片机的一个普通I/O口,通过检测标志位来判断数据是否采集完成。
由于我们采用的是CPU查询的方式来判断AD是否采集完成,所以,EOC口连接
本系统中,CLK时钟信号,开始转换信号,端口选择信号都由单片机提供,
图5 ADC0809电路
本实验采用三端稳压芯片7805作为单片机以及温度采集模块提供5V电源。
9
图6 电源电路
四、程序设计
4.1 中断服务程序设计
定时器/计数器0服务程序主要完成的是CLK引脚也就是P1.3引脚的取反,从而生成驱动ADC0809所需要的始终信号。
进入中断进入中断设定定时器初值CLK端口取反退出中断
10
图7 中断程序流程图
4.2 主函数程序设计
主函数里面对定时器以及ADC0809进行初始化,然后通过P3口采集ADC0809电压值,并将其进行处理,转化为实际温度,最后将其显示到数码管上。
开始定时器初始化ADC0809初始化等待AD转换结束否是数据处理数据显示结束
图8 主程序流程图
4.3 数码管显示程序设计
11
本实验用的是四个共阴极的数码管,公共端位阴极,程序执行时,单片机首先选中其中一位,并关闭另外三位,将第一位要显示的数据通过P0口写到数码管中,关掉第一位和第三位、第四位数码管,并打开第二位,然后将第二位要显示的数据写到数码管中,然后依次类推,从而将四个数码管的数据显示完整。
开始显示选择第一位关闭其他位选择第三位关闭其他位P0口给数码管数据P0口给数码管数据选择第二位关闭其他位选择第四位关闭其它位P0口给数码管数据P0口给数码管数据结束显示
图9 数码管显示流程图
五、结论
本次课程设计完成了一个基于51单片机的温度采集装置,在这次难得的课
程设计过程中,锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。
12
参考文献:
【1】.贾好来主编.MCS-51单片机原理及应用.北京:机械工业出版社,2006. 【2】.江太辉,石秀芳主编. MCS-51单片机原理及应用.广东:华南理工大学出版社,2004.
【3】.曹龙汉,刘安才主编. MCS-51单片机原理及应用.重庆:重庆出版社,2004. 【4】.劳动和社会保障部教材办公室主编.单片机应用技术(汇编语言).北京:中国劳动社会保障出版社,2006.
【5】.何立民主编. MCS-51单片机应用系统设计.北京:北京航天航空大学出版社,1990.
【6】.朱定华主编.单片机原理及接口技术实验.北京:北京大学出版社,2002.
13
附录:程序源代码
#include 14 #define unit unsigned int uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管段码共阴// uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit CLK=P1^3;//时钟信号 sbit ST=P1^2;//启动信号 sbit EOC=P1^1;//转换结束信号 sbit OE=P1^0;//输出使能 sbit C3=P1^4; sbit C2=P1^5; sbit C1=P1^6; void DelayMS(unit ms)//毫秒级延时函数 { unchar i; while(ms--) { for(i=0;i<60;i++); } } void Display_Result(unchar d)//温度显示函数 { unchar m,n,l; m=d%10; n=d%100/10; l=d/100; P2=0xf7; P0=DSY_CODE[m];//个位 DelayMS(2); P2=0xfb; P0=DSY_CODE[n];//十位 DelayMS(2); 15 P2=0XFD; P0=DSY_CODE[l];//百位 DelayMS(1); } void main() { unchar T; unchar T1; ST=0; OE=0; //P1=0x0f;//选择ADC0809通道3 TMOD=0x02;//选择定时器TO模式2 TH0=0xfe;//定时器初始值设置 TL0=0Xfe;//改变这TH0和TL0改变定时器的周期 //TMOD=0x02; //TH0=0xff; //TL0=0xff; TR0=1;//定时器开 ET0=1;//开中断 EA=1;//开电源 while(1) { ST=0; //DelayMS(1); ST=1; C3=0; C2=0; //DelayMS(1); 16 ST=0;//以上三步启动AD转换 while(EOC==0);//等待转换完成 OE=1; T1=P3; OE=0; T=T1*2-117;//经实测的温度函数 Display_Result(T); } } /*void TIME_0(void)interrupt 1 using 0 { EA=0;//关电源 TR0=0;//定时器关 TH0=0Xfe; TL0=0xfe; CLK=~CLK; TR0=1;//定时器开 EA=1;//电源开 } */ void TIME_0(void)interrupt 1 using 0 { TH0=0xfe;//定时器初始值设置 TL0=0xfe;//改变这TH0和TL0改变定时器的周期 CLK=~CLK; } 17 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.com 版权所有 蜀ICP备2023022190号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务