基于LM35的温度测量系统

上传人:博****1 文档编号:507632068 上传时间:2023-01-22 格式:DOC 页数:11 大小:251KB
返回 下载 相关 举报
基于LM35的温度测量系统_第1页
第1页 / 共11页
基于LM35的温度测量系统_第2页
第2页 / 共11页
基于LM35的温度测量系统_第3页
第3页 / 共11页
基于LM35的温度测量系统_第4页
第4页 / 共11页
基于LM35的温度测量系统_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于LM35的温度测量系统》由会员分享,可在线阅读,更多相关《基于LM35的温度测量系统(11页珍藏版)》请在金锄头文库上搜索。

1、温度检测系统本文介绍了一种温度传感器选用LM35、单片机选用AT89s52得温度测量系统。该系统得温度测量范围为0100,可以精确到、,可适用于工业场合及日常生活中。关键词:温度测量;范围1100;精确0、1;This text introduces a kind of temperature which consists of LM35 and AT89s52、 The arrangement of this systerm is about 0100, which can 0、1 、 read It is suitable to be used in indurstries and peo

2、ples life、目录一 系统设计 1、1 设计指标 1、1、1 基本部分 1、1、2 发挥部分二单元电路设计2、1 系统结构 2、2 温度传感器lm35电路设计 2、3 lm741信号放大电路设计 2、4 A/D0809电路设计2、5 单片机系统设计三程序c语言四总结与感想一 系统设计、设计任务 设计一个温度检测装置,系统结构框图如下:主控器能对温度进行检测与实时显示温度。具体设计制作任务就是:被测温度检测电路主控器显示器键盘A/D1 设计制作温度检测器2设计制作主控器、设计要求 基本要求 检测得温度范围:099 检测分辨率0、1 温度检测元件不能使用专用得具有数字输出得产品(如DS18B

3、20)。、 发挥部分 能够设置上下限温度范围与超限报警功能。 提高温度检测器得测温范围与检测精度。语音播报温度。特色及创新。二单元电路设计2、1 系统结构本测温系统由温度传感器电路、信号放大电路、AD转换电路、单片机系统、温度显示系统构成。其基本工作原理:温度传感器电路将测量到得温度信号转换成电压信号输出到信号放大电路,与温度值对应得电压信号经放大后输出至AD转换电路,把电压信号转换成数字量送给单片机系统,单片机系统根据显示需要对数字量进行处理,再送温度显示系统进行显示。2、2温度传感器电路 温度传感器采用得就是LM35,她具有很高得工作精度与较宽得线性工作范围,她得输出电压与摄氏温度线性成比

4、例,且无需外部校准或微调,可以提供14得常用得室温精度。LM35得输出电压与摄氏温度得线形关系可用下面公式表示,0时输出为0 V,每升高1,输出电压增加10 mV。其电源供应模式有单电源与正负双电源两种,其接法如图3与图4所示。正负双电源得供电模式可提供负温度得测量,单电源模式在25下电流约为50 mA,非常省电。本系统采用得就是单电源模式。2、3 lm741信号放大电路由于温度传感器LM35输出得电压范围为00、99 V,虽然该电压范围在AD转换器得输入允许电压范围内,但该电压信号较弱,如果不进行放大直接进行AD转换则会导致转换成得数字量太小、精度低。系统中选用通用型放大器lm741对LM3

5、5输出得电压信号进行幅度放大,还可对其进行阻抗匹配、波形变换、噪声抑制等处理。系统采取同相输入,电压放大倍数为5倍,电路图如图5所示。2、4 AD0809转换电路 AD转换电路选用8位AD转换器ADC0809。ADC0809就是CMOS单片型逐次逼近式AD转换器,可处理8路模拟量输入,且有三态输出能力。图5中运算放大器得输出电压V,送入ADC0809得模拟通道IN0。单片机AT89C52控制ADC0809得开始转换、延时等待AD转换结束以及读出转换好得8位数字量至单片机进行处理。2、5 单片机系统三程序c语言3、1 系统软件设计以及分析系统得软件部分用c语言编程,#include unsign

6、ed char code dispbitcode=0xFE,0xFD,0xFB,0XF7; unsigned char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; unsigned char led4; unsigned char dispcount=0; unsigned char getdata; unsigned int temp; unsigned char i; sbit ST=P30; sbit OE=P31; sbit EOC=P32; sbit clk=P33; void main(void)

7、 ST=0; /赋初值 OE=0; /赋初值 EA=1; TMOD=0x12; TH0=0x216; TL0=0x216; TH1=(655364000)/256; TL1=(655364000)%256; /为高低电平给值 TR1=1; TR0=1; ET0=1; /启动定时器 ET1=1; /启动定时器 ST=1; /与之前得ST=0形成正脉冲,启动数模转换 ST=0; while(1) unsigned int j=3000; while(j); /延时 if(EOC=1) /转换结束信号输出查询,说明转换结束 OE=1; /由低电平变高电平,允许输出数据 getdata=P1;/三态门

8、打开,读出数据 OE=0; /赋初值 temp=getdata*100; temp=temp/51; /temp*(5/255) ,恢复原始电压值 temp=temp*10; /本就是*1000,但就是由于超出了整形变量得值,所以这样处理 /即分两次乘,防止溢出 temp=temp/3; /原先用模拟得办法在外部放大3倍,所以现在除3 if(temp%10=6) /根据我在显示得统计规律,当第4位得变化规律就是0、3、6 temp=1645; /当为0、3 时,整数部分显示准确 temp=temp+10; /当为6时,整数部分显示差1,所以我用程序弥补了不足 led0=temp/1000; /

9、取千位 led1=temp%1000/100; /取百位 led2=temp%1000%100/10; /取十位 led3=temp%10; /取个位 ST=1; /启动数模转换 ST=0; for(dispcount=0;dispcount4;dispcount+) P0=dispcodeleddispcount;/她段选赋给P1端口 P2=dispbitcodedispcount;/ 赋P2位选 void t0(void) interrupt 1clk=clk; void t1(void) interrupt 3 TH1=(655364000)/256; TL1=(655364000)%2

10、56; P2=P2|0X0F; /消去余晖 if(dispcount=3) P0=0x39; dispcount+; /数据自加 if(dispcount=4) dispcount=0; /赋初值 3、2 单片机内部数据处理模块系统通过ADC0809转换得数字量就是与实际温度成正比得数字量,但系统最后显示得就是实际温度值,因此需要对数据进行处理再通过8255输出到LED显示。设所测温度值为T,AD转换后得数字量为X,则有:VOUT=0、01 VTVOUT为LM35得输出电压,即运放A741得输入电压,A741得输出电压用V1表示。因为A741得放大倍数为5,则有:V1=5VOUT=0、05T根

11、据系统设置,温度传感器输出电压05 V对应于转换后得数字量0255,则有: 0、05T5=X255可以近似写为: 0、05T5=X256这样除以256可通过把被除数右移8位来实现,编程较简单。由此可以得出X与T得关系:T=100X256四总结与感想该测温系统经过多次测试,工作稳定可靠,体积小、集成度高、灵敏度高、响应时间短、抗干扰能力强等特点。此外该系统成本低廉,器件均为常规元件,有很高得工程价值。如稍加改动,该系统可以很方便地扩展为集温度测量、控制为一体得产品,具有一定工程应用价值。如对该系统进一步扩展,还可以实现利用USB协议标准与PC机进行数据通信,能够把监测到得温度值保存到PC机中在这里,我要非常感谢师兄得帮助,因为您们不厌其烦地指导,我学到了很多,更学会了在困难面前不要轻易放弃,虽然这次做得不就是很成功,但我已经很努力地去做了,并且坚持到现在,所以即便我被淘汰了,我也没有什么太大得遗憾。师兄们,谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号