ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:268.96KB ,
资源ID:7106076      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7106076.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于PT热敏电阻的数字温度计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于PT热敏电阻的数字温度计.docx

1、基于基于 PT 热敏电阻的数字温度计热敏电阻的数字温度计 基于 PT热敏电阻的数字温度计 作者:日期:嵌入式设计 基于热敏电阻的数字温度计设计 院(系)专 业 班 级 指导老师 学生姓名 成 绩 2015年 7 月 10日 第一章 绪论 随着以知识经济为特征的信息化时代的到来人们对仪器仪表的认识更加深入,温度作为一个重要的物理量,是工业生产过程中最普遍,最重要的工艺参数之一。随着工业的不断发展,对温度的测量的要求也越来越高,而且测量的范围也越来越广,对温度的检测技术的要求也越来越高,因此,温度测量及其测量技术的研究也是一个很重要的课题。目前温度计按测使用的温度计种类繁多,应用范围也比较广泛,大

2、致可以包括以下几种方法:1,利用物体热胀冷缩原理制成的温度计 2,利用热电效应技术制成的温度检测元件 3,利用热阻效应技术制成的温度计 4,利用热辐射原理制成的高温计 5,利用声学原理进行温度测量本系统的温度测量采用的就是热阻效应。温度测量模块主要为温度测量电桥,当温度发生变化时,电桥失去平衡,从而在电桥输出端有电压输出,但该电压很小。将输出的微弱电压信号通过 OP07 放大,将放大后的信号输入 AD转换芯片,进行 A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。第二章 设计要求及构思 2.1设计要求 1.系统硬件设计(1)使用热敏电阻 PT100;(2)单

3、片机采用 MCS51 系列;(3)LED数码管显示温度。2.系统软件设计(1)温度可以通过 PT100 热敏电阻实调程序;(2)AD转换芯片检测温度的模拟量程序;(3)LED显示程序;3.系统功能 (1)测量温度范围50110;(2)精度误差小于 0.5;(3)LED数码管显示。2.2设计构思(1)本题目使用铂热敏电阻 PT100,其阻值会随着温度的变化而改变,PT100后的 100即表示它在 0时阻值为 100 欧姆,在 110时它的阻值约为 142.29 欧姆,在-50它的电阻值为 80.31 欧姆。厂家提供有 PT100 在各温度下电阻值值的分度表,在0到 110电阻的变化率为(142.

4、29-100)/110 0.3845/,在-50 到 0电阻的变化率为(100-80.31)/50=0.3938/。向 PT100输入稳恒电流,使 PT100 输出的电压与其内部电阻成线性关系变化。(2)其输出的的电压是模拟信号,需要进行模数转换后才能被有效显示。查找相关模数转换元器件后暂选 ADC0808 进行模数转换,其有效电压为 05V。向 PT100输入稳恒电流,再通过 A/D 转换后测 PT100两端电压,即得到 PT100的电阻值,进而算出当前的温度值。(3)由于 0.385相对于 100多欧姆的电阻来说很小,即温度变化 1时输出的电压变化量很小,这么小的电压不能改变 ADC080

5、8 输出的一个数字信号。所以要对PT100输出的电压进行放大。放大倍数是根据最大测量温度确定的,即 110时输出的电压不能超过+5V,否则测量不到 110的温度,最终经调试后取放大倍数为 36。再将放大后的电压输入 ADC0808 模数转换器。(4)综上所述。采用 2.49V的电压与运算放大器搭建成的恒流源对 PT100进行供电,然后用运算放大器 OP07 搭建的同相放大电路将其电压信号放大 36 倍后输入到ADC0808 中。ADC0808 根据输入 0到 5V的电压,转换成对应的十进制 0到 255 数字。再利用电阻变化率的特性,计算出当前温度值,数码管直接显示温度。由于本设计要求测量的最

6、大温度为 110,所以本人设计时使+5V的电压对应温度110。通过电压变化量求出电阻的变化量,再通过电阻变化率的特性求出温度的变化量,然后用 110与温度变化量相比较即可求得当前的温度。第三章 总体程序流程图 0.2ms 0255 第四章 原理框图 4.1PT100铂热电阻:图 4-1 PT100 铂热电阻 pt100 是铂热电阻,它的阻值会随着温度的变化而改变。PT后的 100 即表示它在0时阻值为 100 欧姆,在 100时它的阻值约为 138.5 欧姆。4.2信号放大电路:图 4-2 放大电路图 采用 OP07 搭建成仪表运算放大器,Vout=(V2-V1)x(1+2R5/R4 x(R9

7、/R7),其中R5=R6,R7=R8,R9=R10。本设计的放大倍数为 36。4.3A/D转换电路 图 4-3 ADC0808 电路图 ADC0808 是采样分辨率为 8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个 8通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8路模拟输入信号中的一个进行 A/D 转换。模拟信号输入 0到 5V电压,8位数字输出端口输出二进制 00000000到 11111111,即十进制 0到 255,所以分辨率为 5V/2550.0196V。例如输入的信号为+5V电压时,其输出为数字 255。ADC0808 芯片有 28 条引脚,采用双列直插式封装,

8、如图 4-3所示。各引脚功能如下:15和 2628(IN0IN7):8路模拟量输入端。8、14、15和 1721:8 位数字量输出端。22(ALE):地址锁存允许信号,输入,高电平有效。6(START):A/D 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 A/D转换)。7(EOC):A/D转换结束信号,输出,当 A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。9(OE):数据输出允许信号,输入,高电平有效。当 A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。10(CLK):时钟脉冲输入端。要求

9、时钟频率不高于 640KHZ。12(VREF(+)和 16(VREF(-):参考电压输入端 11(Vcc):主电源输入端。13(GND):地。2325(ADDA、ADDB、ADDC):3位地址输入线,用于选通 8 路模拟输入中的一路 ADC0 808/0809 工作时序图如下:图 4-4 ADC0808 转换时序示意图 当 START 上收到一个启动转换命令(正脉冲)后,8位 A/D转换器开始对输入端的信号进行转换,100us 后转换结束,转换结果 D(028-1)存入三态输出锁存缓冲器,转换结束信号 EOC 由低电平变为高电平,通知 CPU可以读结果。CPU 可用查询方式(将 EOC 信号接

10、至一条 I/O线上)或中断方式(EOC 信号作为中断请求信号导入中断逻辑)了解 A/D转换过程是否结束。4.4主芯片电路图 图 4-5 8051 电路图 采用 8051单片机作为主芯片,由于 P0口内部没有上拉电阻,所以 P0口作为输出要接上拉电阻。4.5 四位数码管 图 4-6 七段四位数码管图 本设计最大显示为三位小数和一位小数,所以采用七段四位共阴数码管,其中段接 8051的 P0 口,位接 8051的 P2.0P2.3 口。第五章 仿真电路图 图 5-1 温度为 110显示的温度 图 5-2 温度为 112显示的温度 本设计测量的最大温度为 110,当温度大于 110时依然显示为 11

11、0。这是因为温度为 110时输入 ADC0808 的电压为最大值,即+5V,当温度大于 110时,输入ADC0808 的有效电压依然为+5V。图 5-3 温度为 91 度时显示的温度 随机选择-50110的一个温度,实际为 91的温度,测量值为 91.1,符合要求的 0.5度的范围内。图 5-4 温度为 0 时显示的温度 温度为 0时,检测的温度为-0.2。线性关系好,符合设计要求。图 5-5-26度时所显示的温度 实际温度为-26 度时,测量的温度为-25.8度,符合设计要求。图 5-6 温度为-50时所显示的温度 图 5-7 温度为-51所显示的温度 本设计测量的最小温度为-50,当温度低

12、于-50时,输出数码管的值无效,显示为 0。第六章 心得体会 参考文献 1黄勤,单片机原理及应用,北京,清华大学出版社,2006年。2郭天祥,51单片机 C 语言教程,北京,电子工业出版社,2012年。附录 程序代码#include#include#define uchar unsigned char sbit STAR=P24;sbit EOC=P26;sbit CLOCK=P25;sbit OE=P27;sbit P20=P20;sbit P21=P21;sbit P22=P22;sbit P23=P23;uchar getdata;double change;long int temp;

13、uchar dispbuf6;uchar code table1=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40;/无小数点 09,-uchar code table2=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef;/带小数点09;/*定时器初始化程序*/void TimeInitial()TMOD=0 x10;/定时器 1选择 216 TH1=(65536-200)/256;/赋初值,定时 0.2 毫秒 TL1=(65536-200)%

14、256;EA=1;/开中断允许 ET1=1;TR1=1;/开定时器 1 /*延时程序*/void Delay(uchar i)unsigned int j;for(;i0;i-)for(j=0;j125;j+);/*定时/计数器 1程序*/void t1(void)interrupt 3 using 0/选用 0组工作寄存器 TH1=(65536-200)/256;TL1=(65536-200)%256;CLOCK=CLOCK;/取反,0.2ms 给 ADC0808 一个时钟脉冲 /*数码管显示程序*/void Display()/P0=table1dispbuf3;/显示百位 P20=0;P

15、21=1;P22=1;P23=1;Delay(8);P0=0 x00;P0=table1dispbuf2;/显示十位 P20=1;P21=0;P22=1;P23=1;Delay(8);P0=0 x00;P0=table2dispbuf1;/显示个位 P20=1;P21=1;P22=0;P23=1;Delay(8);P0=0 x00;P0=table1dispbuf0;/显示小数位 P20=1;P21=1;P22=1;P23=0;Delay(8);P0=0 x00;/*计算温度*/void PT100()double PR,aveT,aT,deal,U,aR;/电阻值,温度对电阻的变化量(/C)

16、,温度变化量,结果,电压,电阻变化量 U=5.0/255.0*getdata;/计算某一刻的电压值 aR=(5.0/255.0*getdata)/(5.0/142.29);/计算某一刻的电阻值 PR=142.29-aR;/计算电阻变化量,110 C 阻值为 142.29 aveT=42.29/110.0;/1 C=42.29/110()aT=PR/aveT;/温度变化量 deal=10*(110.0-aT);/所得温度 x10 temp=(long int)deal;/最终温度取整(实际值 x10 倍)if(U2.82)/计算并显示-500的温度 aveT=(100.0-80.31)/50.0

17、;/PR=100.0-aR;aT=10*(PR/aveT);temp=(long int)aT;dispbuf0=temp%10;/计算小数位 dispbuf1=temp/10%10;/计算个位 dispbuf2=temp/100%10;/计算十位 dispbuf3=10;/使显示-号 /if(temp%2=0)/temp=temp-5;else /计算并显示 0110的温度 dispbuf0=temp%10;dispbuf1=temp/10%10;dispbuf2=temp/100%10;dispbuf3=temp/1000;/显示百位 Display();/调用显示函数 /*主函数*/void main()TimeInitial();while(1)STAR=0;/关闭转换 OE=0;/关闭输出 STAR=1;/开启转换 STAR=0;/关闭转换 while(EOC=0)OE=1;/开启数据输出允许 Delay(10);/延时 getdata=P1;/模数转换后的值赋给 getdata OE=0;PT100();/调用温度计算函数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1