基于LM的温测量系统_第1页
基于LM的温测量系统_第2页
基于LM的温测量系统_第3页
基于LM的温测量系统_第4页
基于LM的温测量系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 设计指标 基本部分- 发挥部分-二单元电路设计2.1 系统结构- 2.2 温度传感器lm35电路设计- 2.3 lm741信号放大电路设计- 2.4 A/D0809电路设计-2.5 单片机系统设计-三程序c语言四总结与感想一 系统设计.设计任务 设计一个温度检测装置,系统结构框图如下:主控器能对温度进行检测和实时显示温度。具体设计制作任务是:被测温度检测电路主控器显示器键盘A/D1 设计制作温度检测器2 设计制作主控器.、设计要求    基本要求    检测的温度范围:099&#

3、160;  检测分辨率0.1   温度检测元件不能使用专用的具有数字输出的产品(如DS18B20)。.   发挥部分    能够设置上下限温度范围和超限报警功能。    提高温度检测器的测温范围和检测精度。   语音播报温度。   特色及创新。  二单元电路设计2.1 系统结构本测温系统由温度传感器电路、信号放大电路、AD转换电路、单片机系统、温度显示系统构成。其基本工作原理:温度传感器电路将测量到的温度信

4、号转换成电压信号输出到信号放大电路,与温度值对应的电压信号经放大后输出至AD转换电路,把电压信号转换成数字量送给单片机系统,单片机系统根据显示需要对数字量进行处理,再送温度显示系统进行显示。2.2温度传感器电路 温度传感器采用的是LM35,他具有很高的工作精度和较宽的线性工作范围,他的输出电压与摄氏温度线性成比例,且无需外部校准或微调,可以提供±14的常用的室温精度。LM35的输出电压与摄氏温度的线形关系可用下面公式表示,0时输出为0 V,每升高1,输出电压增加10 mV。其电源供应模式有单电源与正负双电源两种,其接法如图3与图4所示。正负双电源的供电模式可提供负温度的测量,单电源模

5、式在25下电流约为50 mA,非常省电。本系统采用的是单电源模式。2.3 lm741信号放大电路由于温度传感器LM35输出的电压范围为00.99 V,虽然该电压范围在AD转换器的输入允许电压范围内,但该电压信号较弱,如果不进行放大直接进行AD转换则会导致转换成的数字量太小、精度低。系统中选用通用型放大器lm741对LM35输出的电压信号进行幅度放大,还可对其进行阻抗匹配、波形变换、噪声抑制等处理。系统采取同相输入,电压放大倍数为5倍,电路图如图5所示。2.4 AD0809转换电路 AD转换电路选用8位AD转换器ADC0809。ADC0809是CMOS单片型逐次逼近式AD转换器,可处理8路模拟量

6、输入,且有三态输出能力。图5中运算放大器的输出电压V,送入ADC0809的模拟通道IN0。单片机AT89C52控制ADC0809的开始转换、延时等待AD转换结束以及读出转换好的8位数字量至单片机进行处理。2.5 单片机系统三程序c语言3.1 系统软件设计以及分析系统的软件部分用c语言编程,#include <reg51.h> unsigned char code dispbitcode=0xFE,0xFD,0xFB,0XF7; unsigned char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;

7、 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) ST=0; /赋初值 OE=0; /赋初值 EA=1; TMOD=0x12; TH0=0x216; TL0=0x216; TH1=(65536-4000)/256; TL1=(65536-4000)%256; /为高低电平给值 TR1=1; TR

8、0=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;/三态门打开,读出数据 OE=0; /赋初值 temp=getdata*100; temp=temp/51; /temp*(5/255) ,恢复原始电压值 temp=temp*10; /本是*1000,但是由于超出了整形变量的值,所以这样处理 /即分

9、两次乘,防止溢出 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; /取千位 led1=temp%1000/100; /取百位 led2=temp%1000%100/10; /取十位 led3=temp%10; /取个位 ST=1; /启动数模转换 ST=0; for(dispcount=0;dispcount<

10、;4;dispcount+) P0=dispcodeleddispcount;/他段选赋给P1端口 P2=dispbitcodedispcount;/ 赋P2位选 void t0(void) interrupt 1clk=clk; void t1(void) interrupt 3 TH1=(65536-4000)/256; TL1=(65536-4000)%256; P2=P2|0X0F; /消去余晖 if(dispcount=3) P0=0x39; dispcount+; /数据自加 if(dispcount=4) dispcount=0; /赋初值 3.2 单片机内部数据处理模块系统通过

11、ADC0809转换的数字量是与实际温度成正比的数字量,但系统最后显示的是实际温度值,因此需要对数据进行处理再通过8255输出到LED显示。设所测温度值为T,AD转换后的数字量为X,则有:VOUT=0.01 V×TVOUT为LM35的输出电压,即运放A741的输入电压,A741的输出电压用V1表示。因为A741的放大倍数为5,则有:V1=5×VOUT=0.05×T根据系统设置,温度传感器输出电压05 V对应于转换后的数字量0255,则有: 0.05T5=X255可以近似写为: 0.05T5=X256这样除以256可通过把被除数右移8位来实现,编程较简单。由此可以得出X和T的关系:T=100×X256四总结与感想该测温系统经过多次测试,工作稳定可靠,体积小、集成度高、灵敏度高、响应时间短、抗干扰能力强等特点。此外该系统成本低廉,器件均为常规元件,有很高的工程价值。如稍加改动,该系统可以很方便地扩展为集温度测量、控制为一体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论