温度检测系统_第1页
温度检测系统_第2页
温度检测系统_第3页
温度检测系统_第4页
温度检测系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、长 安 大 学智 能 仪 器 课 程 设 计(温度检测系统)专 业 电子信息工程 班 级 61090801 姓 名 许一楠 指导教师 冯晓明 日 期 _2012-3-20_第1节 随着计算机技术和传感器技术的飞速发展, 在科研、生产和日常活动中, 人们对温度、压力、流量等模拟物理量的测量要求越来越高。而这些物量中温度的应用是最为广泛的。如何将温度通过传感器变成电信号, 再经过处理转换成计算机能够识别的数字量, 输入到计算机中, 由计算机将采集到的数字量进行不同的处理, 然后在显示器显示出来,并进行实时监控。这已经为当前计算机测量与控制领域的一个重要研究方向。鉴于此, 本文提出一种基于89C52

2、和DS18B20的低成本、远距离传输的温度检测系统设计方案。1.1系统原理及基本框图如图1.1所示,为系统的基本框图。图1.1系统基本方框图 该系统由六部分组成:STC89C52RC核心单片机,温度采集电路,LED显示电路,报警警电路,复位电路,晶振等,其中温度采集主要由DS18B20组成,在短时间内把热力学温度信号数字,送入单片机,由单片机控制显示电路显示,并且判断是否达到设定温度,若达到设定温度,由单片机启动报警电路,报警。1.2 设计任务利用单片机与AD转换器设计一个八路温度巡回检测系统,对某粮库或冷冻厂八点(八个冷冻室或八个粮仓)进行温度巡回检测。能够测量-30+50oC的温度范围,检

3、测精度要求不大于±1oC。采用数码管显示测量值;单片机和AD转换器型号自选(如单片机可选AT89S51或AT89C51等;AD转换器可选ADC0809或ADC0804等)。(本文均基于一路温度检测系统设计)。第二节 硬件设计介绍2.1 STC89C52RC2.1.2 STC89C52RC介绍 单片机自问世以来,以其极高的性价比受到人们的重视和关注,应用很广,发展很快。单片机的体积小,重量轻,抗干扰能力强,环境要求不高,价格低,可靠性强,灵活性好,开发较为容易。基于以上的优点,单片机已经广泛的应用在工业自动化控制,自动检测,智能仪器仪表,机电一体化等各个方面,所以本系统采用单片机做为控

4、制器。单片机中51/52系列最具有代表性。本设计核心采用了STC89C52RC单片机。STC89C51/52单片机系列是在MCS51/52系列的基础上发展起来的,STC89C52RC 完全兼容MCS-51 系列单片机的所有功能,并且本身带有2K 的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU 外加EPROM为核心的单片机系统在硬件上具有更加简单方便等优点,其外形如图2.1所示。图2.1 STC89C52RC芯片2.1.3 STC89C52引脚介绍图2.2 STC89C52引脚图单片机的引脚功能说明:电源引脚VCC(40 脚):电源端,工作电压为5V。GND

5、(20脚): 接地端。时钟电路引脚XTAL1(19 脚)和XTAL2(18 脚)复位 RST(9 脚).输入输出(I/O)引脚 P0.0-P0.7(39脚-32脚):输入输出脚,称为P0 口,是一个8 位漏极开路型双向I/O 口,内部不带上拉电阻。 P1.0-P1.7(1脚 - 8脚):输入输出脚,称为P1 口,是一个带内部上拉电阻的8 位双向I/0 口。 P2.0-P2.7(21脚28脚): 输入输出脚,称为P2 口,是一个带内部上拉电阻的8 位双向I/O 口, P3.0-P3.7 (10脚17脚):输入输出脚,称为P3 口,是一个带内部上拉电阻的8 位双向I/O 口。P3 端口具有复用功能

6、。表2.1 P3口端口引脚与复用功能表P3 引脚 兼用功能 P3.0串行通讯输入(RXD)P3.1 串行通讯输出(TXD)P3.2外部中断0( INT0)P3.3 外部中断1(INT1)P3.4 定时器0 输入(T0)P3.5 定时器1 输入(T1)P3.6外部数据存储器写选通(WR)P3.7外部数据存储器读选通(RD)2.2 DS18B20 2.2.1 DS18B20性能DS18B20是Dallas公司推出的单线集成数字温度采集系统,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。其实物如图2.3所示。图2.3 DS18B2

7、0 DS18b20内部主要有三个数字部件:64位激光ROM、温度传感器、非易失性温度报警触发器TH和TL。DS18B20 的性能特点如下:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;多个DS18B20可以并联在唯一的三线上,实现多点组网功能;无需外部器件;可通过数据线供电,电压范围:3.05.5V;测温范围-50300,在-10+85时精度为±0.5零待机功耗温度以9或12位数字量读出;用户可定义的非易失性温度报警设置;具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数值;负电压特性,电源极性接反

8、时,温度计不会因发热而烧毁,但不能正常工作;适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温。8PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。数字量的转换精度及转换时间可通过简单的编程来控制:9位精度的转换时间为9375 ms:10位精度的转换时间187.5ms:12位精度的转换时间750ms。2.2.2 DS18B20引脚图本文用的DS18B20的常用封装为3脚,如图2.4所示。:图2.4 DS18B20引脚图各脚功能描述如下: DQ:数字信号输入输出端。GND:电源地端。VDD:外接供电电源输入端(在寄生电源接线时此脚应接地)。2.3 三极管90

9、12三极管的工作原理 三极管是一种控制元件,主要用来控制电流的大小,以共发射极接法为例(信号从基极输入,从集电极输出,发射极接地),当基极电压UB有一个微小的变化时,基极电流IB也会随之有一小的变化,受基极电流IB的控制,集电极电流IC会有一个很大的变化,基极电流IB越大,集电极电流IC也越大,反之,基极电流越小,集电极电流也越小,即基极电流控制集电极电流的变化。但是集电极电流的变化比基极电流的变化大得多,这就是三极管的放大作用。IC 的变化量与IB变化量之比叫做三极管的放大倍数(=IC/IB, 表示变化量。),三极管的放大倍数一般在几十到几百倍。 三极管在放大信号时,首先要进入导通状态,即要

10、先建立合适的静态工作点,也叫建立偏置,否则会放大失真。9012是一种最常用的普通三极管。它是一种低电压,大电流,小信号的PNP型硅三极管:· 集电极电流Ic:Max -500mA · 集电极-基极电压Vcbo: -40V · 工作温度:-55 to +150 · 和9013(NPN)相对 · 主要用途: o 开关应用 o 射频放大 2.4 共阴极数码管 数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 9、字符A F、H、L、P、R、 U、Y、符号“-”及小数点“.”。数码管的外形结构如下图2.5所示。数码管又分为共阴

11、极和共阳极两种结构。图2.5 共阴极四位一体数码管共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。使用时,既可以用半导体三极管驱动,也可以直接用TTL与非门驱动。需要加限流电阻。数码管的工作电压一般为1.5至3伏,工作电流只需几到十几毫安。且寿命长,响应速度快。2.5 硬件部分电路图2.5.1复位电路在振荡器运行时

12、,有两个机器周期(24 个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,52 芯片便循环复位。复位后P0P3 口均置1 引脚表现为高电平,程序计数器和特殊功能寄存器SFR 全部清零。当复位脚由高电平变为低电平时,芯片为ROM 的0000H 处开始运行程序。该芯片的复位脚为9脚,所以复位电路接STC89C52RC的9脚,具体电路如下图2.6所示。当采用的晶体频率是6 MHZ时,可取C=22UF,R=1K;当采用的晶体频率为12MHZ时,可取C=10UF,R=8.2K。不过这都是最佳的组合,也可以有其它大小的电容电阻,只要符合电路要求就可以,如本文就采用22UF的电容

13、和10K的电阻,经试验也满足要求。图2.6 复位电路2.5.2 晶振为了产生时钟信号,在8052 内部设置了一个反相放大器,XTAL1 是片内振荡器反相放大器的输入端,XTAL2 是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端。当使用自激振荡方式时,XTAL1 和XTAL2 外接石英晶振,使内部振荡器按照石英晶振的频率振荡,就产生时钟信号。晶振一般使用石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。使用石英晶体时C1、C2为C1=C2=30(±10)pF,使用陶瓷滤波器时,C1=C2=40(±10)pF。本系统用12MHZ的石英

14、晶振,接STC89C52RC的18和19脚,具体电路如图2.7所示。图2.7 时钟信号电路(晶振)2.5.3 一路传输电路在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,本文采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的

15、测温效果。DS18B20有三个引脚。VDD管脚接 5V电压给传感器供电。DQ管脚为数据线 ,与STC89C51RC的 P1.0连接的同时,还要接一个 47K的上拉电阻,并接到 5V的电源上,使数据线在空闲状态下能自动上拉为高电平。GND管脚接地。具体电路如图2.8所示。之所以接P1口,是因为P1口的驱动力最强,完全可以驱DS18B20的正常运行。图2.8 一路传输电路2.5.4 LED显示电路显示电路采用静态显示,4位LED数码管。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于比划段字形代码。这样单片机只要把显示的字形代码发送到接口电路,就不用管它了,直到要显示显示新

16、的数据时,再发送心的字形码,因此,使用这种方法,单片机中的CPU的开销小。本文的显示电路如图2.9所示。其中P0口作为7断码和小数点的选择,P2口作为位码的选择,在断码和P0口之间还需加上1K的上拉电阻,以保证LED灯的正常显示。. 图2.9 LED显示电路2.5.5 报警电路本文中当某一通道的温度测量值超出预先设定的上、下限报警值或系统运行出现故障时, 系统发出声光报警以提醒用户注意。报警电路中光报警采用发光二极管, 声报警采用蜂鸣器来设计,蜂鸣器电路中, 9012晶体管起开关作用, P2.6输出低电平时, 管脚输出电压经过lK限流电阻分压后, 到达9012基极的电压为使得晶体管发射结正偏,

17、集电结反偏, 晶体管导通, 蜂鸣器上电而产生声响。发光二极管电路中, 主要是限流电阻的设计,由于发光二极管工作电流是3 mA-30 mA, 导通压降为1.8 V; 而单片机工作在5 V电压时, I/O口输出低电平的最大灌入电流是16 mA, 输出的低电平是Vss+0.6 V 这样在限流电阻上的压降就是5-1.8-0.6=2.6 V, 而电流要限定在8 mA左右, 所以电阻阻值为2.6 V/8 mA=325欧姆, 在实际电路中选用330欧姆的电阻即能满足要求。具体电路如图2.10所示。图2.10 报警电路2.5.6下载程序电路本文中将PC机上的程序拷贝到单片机中是通过如图2.11所示的,连接单片

18、机的10和11脚串行接口到插件上,再和PC机之间进行通讯。.图2.11 下载程序电路2.5.7 完整电路图2.12 完整电路第三节 软件设计介绍3.1 程序流程图和实物图系统程序主要包括主程序,读出温度子程序,温度转换命了子程序,计算温度子程序,显示刷新温度子程序等。3.1.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值。温度测量每1S进行一次,这样可以在1S 之内测量一次被测温度,其程序流程见图3.1所示。图3.1 系统主程序流程3.1.2 显示电路框图 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高位显示为0时将符号显示位移

19、入下一位。程序流程图如图3.2所示。图3.2 显示电路框图3.1.3 读出温度子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1S显示程序延时法等待转换的完成。温度转换命令子程序流程图如图3.3所示。图3.3 温度转换流程图3.1.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图3.4所示。图3.4 计算温度流程图3.2 调试3.2.1 硬件调试硬件调试是利用开发系统、基本测试仪器(万用表、显示器)等,检查系统硬件中存在的故障。静态调试 静态调试是在系统未工作时的一种

20、调试。步骤如下:第一步:目测。检查外部的各种原器件或者是电路是否有断点。第二步:用万用表检测。先用万用表复核目测中有疑问的连接点,在检测各种电源线与接地线之间是否有短路现象。第三步:加电检测。给电路板加电,检测所有的插座或者是硬件的电源是否符合要求的值。第四步:联机检查。因为只有单片机开发系统才能完成对用户系统的调试。动态调试 动态调试是在用户系统工作的情况下发现和排除系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查,动态调试的一般方法是由近及远、由分到合。由近及远 是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仞采用去掉无关元件的方法,逐

21、层调试下去,就会定位故障元件了。由分到合 是指首先按照逻辑功能将系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,再对各块电路功能及各电路之间可能存在的相互联系进行调试,3.2.2 软件调试软件调试是通过对程序的汇编(或者C语言)、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程,查看程序是否有逻辑的错误。在对硬件调试后再对软件进行,因为先对硬件检查没问题的情况下再对软件进行调试,编译软件可以通过编译去检查程序上的语法错误,然后可以在它的基础上在对它进行一些修改达到没

22、有错误为止,然后将软件拿到硬件上去运行。通过仿真后,如无误,方可将程序灌输如单片机中。3.2.3 实物图3.5 调试前电路板图3.6 调试时电路板图3.7 调试后温度显示个人体会 通过这次课程设计,让我对我所学的知识有了再一次的熟悉。以前知识了解一个表面,但是现在慢慢地看到了一些本质。在这次课程设计中,让我更熟悉了操作软件,也让我清楚的了解了电子设计大体分三个阶段:设计与计算阶段(预设计阶段)、安装与调试阶段、撰写总结报告阶段。通过所提出的原理方案,利用已有的各种理论知识,以便作出更合理的选择。再通过对元器件进行选择,对提出的问题进行分析,对参数进行估算。通过课程设计的实际操作,将课堂理论学习

23、贯穿其中,全面系统的把所学的知识联系在一起,并且做到融会贯通。通过这次机会的锻炼,使我学习和巩固了新、老知识,同时也训练了自己综合运用知识的能力、分析解决新问题的能力。在课程设计过程中,我发现了自己的不足,以后我会通过加强学习,让自己所学的理论与实践相结合,把所学的知识应用于实际当中。 参考文献1 李朝青.单片机原理及接口技术(第3版)M.北京:航空航天大学出版社,20052 陈世和.电工电子实习教程M. 北京:航空航天大学出版社,20073 孙进生等.电子产品设计实例教程M. 北京:冶金工业出版社,20044 张伟等.Protel 99SE实用教程 M.北京:人民电邮出版社,20085 白瑞

24、青,金功伟.单片机温度巡回监测系统J.测试技术学报,98年第12卷第3期6 李红刚,方佳,王强,钱双艳.基于At89C51的八路温度巡回检测系统设计J.热带农业工程,2010年第34卷第1期附录附1表1 元件清单序号型号个数1STC89C51(52)RC12DS18B2013排阻(1K)14排针(4)15.排针(2)16按键17LED显示灯(8×4)18蜂鸣器1912晶振101K电阻114.7K电阻11210K电阻130.47K电阻11430PF电容21522UF电容116S9012三极管117发光二极管1注:封装都为标准封装图1 一路传输温度测量系统完整电路图附3源程序#inclu

25、de "reg52.h"#include "intrins.h" /_nop_();延时函数用#define Disdata P0 /段码输出口#define discan P2 /扫描口#define uchar unsigned char#define uint unsigned intsbit DQ=P10; /温度输入口sbit DIN=P07; /LED小数点控制uint h; uint temp;/*温度小数部分用查表法*/uchar code ditab16=0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0

26、x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;/uchar code dis_712=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf; uchar code scan_con4=0xFE,0xFD,0xFB,0xF7; /列扫描控制字uchar data temp_data2=0x00,0x00; /读出温度暂放uchar data display5=0x00,0x00,0x00,0x00,0x00; /显示单元数据,共4个数据和一个运算暂用/*11us延时函数*/void delay(ui

27、nt t) for (;t>0;t-);/*显示扫描函数*/scan() char k; for(k=0;k<4;k+) /4位LED扫描控制 Disdata=0XFF-dis_7displayk; /数据显示 if (k=1)DIN=1; /小数点显示 discan=scan_conk; /位选 delay(300);/*DS18B20复位函数*/ow_reset(void)char presence=1;while(presence) while(presence) DQ=1;_nop_();_nop_();/从高拉倒低 DQ=0; delay(50); /550 us DQ=

28、1; delay(6); /66 us presence=DQ; /presence=0 复位成功,继续下一步 delay(45); /延时500 us presence=DQ; DQ=1; /拉高电平/*DS18B20写命令函数*/向1-WIRE 总线上写1个字节void write_byte(uchar val) uchar i; for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); /从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val&0x01; /最低位移出 delay(6); /66 u

29、s val=val/2; /右移1位 DQ=1; delay(1);/*DS18B20读1字节函数*/从总线上取1个字节uchar read_byte(void)uchar i;uchar value=0;for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); value>>=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); /4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0x80; delay(6); /66 usDQ=1;return(value);/*读出温度函数*/read_temp() ow_reset(); /总线复位 delay(200); write_byte(0xcc); /发命令 write_byte(0x44); /发转换命令 ow_reset(); delay(1); write_byte(0xcc); /发命令 write_byte(0xbe); temp_data0=rea

温馨提示

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

评论

0/150

提交评论