多路高精度温度采集系统

上传人:小** 文档编号:62378836 上传时间:2018-12-20 格式:DOC 页数:11 大小:125.50KB
返回 下载 相关 举报
多路高精度温度采集系统_第1页
第1页 / 共11页
多路高精度温度采集系统_第2页
第2页 / 共11页
多路高精度温度采集系统_第3页
第3页 / 共11页
多路高精度温度采集系统_第4页
第4页 / 共11页
多路高精度温度采集系统_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《多路高精度温度采集系统》由会员分享,可在线阅读,更多相关《多路高精度温度采集系统(11页珍藏版)》请在金锄头文库上搜索。

1、目录1摘要 12引言13总体设计方案13.1温度测量系统硬件 13.2数字温度传感器 23.3AT89C51单片机33.4 3位数码管驱动电路设计 43.5超温报警电路设计 64温度测量系统软件 64.1初始化子程序设计 74.2 WRITE子程序74.3READ子程序 85结语 9参考文献 10附录 10多路高精度温度采集系统摘要:温度测量与控制在工业、农业、国防等行业有着广泛的应用。利用单片机技术的温度测控系统以其体积小,可靠性高而被广泛采用。本文对该测控系统进行了分析设计。首先,本文针对系统所使用的单片机的性能和发展情况做了简单介绍;对系统使用的模/数转换芯片ADC0809做了性能方面的

2、简单说明。其次,本文重点对测控硬件、软件的组成进行了分项、模块化逐步分析设计。对各部分的电路一一进行了介绍,最终实现了该系统的硬件电路。绘制了电路原理图,绘制了印制电路板图,并将制成的线路板焊接上了元件,完成了硬件调试。根据硬件的设计和测控系统所要实现的功能,本设计对软件也进行了一一设计,并经过反复的模拟运行、调试,修改简化了软件系统,最后形成了一套完整的程序系统。关键词:单片机、DS18B20、软件系统、硬件系统l引 言温度的测量和控制在激光器、光纤光栅的使用及其他的工农业生产和科学研究中应用广泛。温度检测的传统方法是使用诸如热电偶、热电阻、半导体PN结之类的模拟温度传感器。信号经取样、放大

3、后通过模数转换,再交自单片机处理。被测温度信号从温敏元件到单片机,经过众多器件,易受干扰、不易控制且精度不高。因此,本文介绍一种新型的可编程温度传感器DS18B20,他能代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度采集和数据处理。DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。2 总体设计方案2.1温度测量系统硬件系统结构图如图1所示。这里通过上拉电阻直接驱动LED显示。以增加线路复杂度为代价,减少芯片数量。DS18B20VCC DQ GNDVCCAT89C51P1.7P1.0P1.1P1

4、.2P1.3P1.4P3.3 P1.5P1.6XTAL2 P3.0P3.1XTAL1 P3.2LED3LED2LED1图122数字温度传感器DS18B20是美国DALLAS公司推出的单总线数字测温芯片。他具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。采用数字信号输出提高了信号抗干扰能力和温度测量精度。他的工作电压使用范围宽(3055 V),可以采用外部供电方式,也可以采用寄生电源方式,即当总线DQ为高电平时,窃取信号能量给DS18B20供电。他还有负压特性,电源极性接反时,DS18B20不会因接错线而烧毁,但不能正常工作。可以通过编程实现912位的温度转换精度设置。由表

5、12可见,设定的分辨率越高,所需要的温度数据转换时间就越长,在实际应用中要将分辨率和转换时间权衡考虑。DS18B20采用3脚TO-92封装,形如三极管,同时也有8脚SOIC封装,还有6脚的TSOC封装。测温范围为55+125,在一1085范围内,精度为05。每一个DS18B20芯片的ROM中存放了一个64位ID号:前8位是产品类型编号,随后48位是该器件的自身序号,最后8位是前面56位的循环冗余校验码。又因其可以采用寄生电源方式供电。因此,一条总线上可以同时挂接多个DS18B20,实现多点测温系统。另外用户还可根据实际情况设定非易失性温度报警上下限值TH和TL。DS18B20检测到温度值经转换

6、为数字量后,自动存入存储器中,并与设定值TH或TL进行比较,当测量温度超出给定范围时,就输出报警信号,并自动识别是高温超限还是低温超限。内部结构图如图2DQ存储器和控制器64位ROM和总线内部VDD图温度传感器高温控制器高温触发器TH低温触发器TL电源配置寄存器IDQ8位CRC发生器图2 内部结构图 2.3 AT89C51单片机AT89C51单片机是ATMEL公司生产的高性能8位单片机,主要功能特性如下:兼容MCS-51指令系统;32个双向I/O口,两个16位可编程定时/计数器;1个串行中断,两个外部中断源;可直接驱动LED;低功耗空闲和掉电模式;4 kB可反复擦写(1 000次)FLASI

7、ROM;全静态操作O24 MHz;1288 b内部RAM。该款芯片的超低功耗和良好的性能价格比使其非常适合嵌入式产品应用。其图如图3图32.4 3位LED数码管驱动电路的设计在单片机系统中,常用的显示器有:发光二极管显示器,简称 LED(LightEmittingDiode),液晶显示器,简称LCD(LiquidCrystalDisplay);荧光管显示器。近年来也开始使用简易的CRT接口,显示一些汉字及图形。前三种显示器都有两种显示结构;段显示(7段,“米”字型等)和点阵显示(5X?,5X8,8X8点阵等)。而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分

8、等。 三种显示器中,以荧光管显示器亮度最高,发光二极管次之,而液晶显示器最弱,为被动显示器,必须有外光源。 LED显示块是由发光二极管显示字段组成的显示器,有8字段和“米”字段之分。显示块都有dp显示段,用于显示小数点。7段LED的字型码,由于只有7个段发光二极管,所以字型码为一个字节。“米”字段LED的字型码由于有15个段发光二极管,所以字型码为两个字节。这种显示块有共阳极和共阴极两种。共阴极LED显示块的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳板LED显示块的发光二极管的阳极连接在一起,通常此公共阳极接正电

9、压。由N片LED显示块可拼接成N位LED显示器。本设计是4位LED显示器的结构,N位LED显示器有N根位选线和8XN(或16XN)根段选线。根据显示方式的不同,位选线和段选线的连接方法也各不相同。段选线控制显示字符的字型,而位选线则控制显示位的亮、暗; LED显示器有静态显示和动态显示两种显示方式,一是LED静态显示方式、二是动态显示。 LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5v),每位的段选线(adp)分别与一8位的锁存输出相连。之所以称为静态显示,是由于显示器中的各位相互独立,而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字

10、符为止。也正因为如此,静态显示器的亮度都较高。本设计用的是串行控制的LED显示器接口电路。此电路利用串行口外围芯片74HC164就可构成多LED显示器驱动。74HC164与LED现实电路如图4图474HC164是串行输入,并行输出移位寄存器,并带有清除端。其引脚如图5图5 Q0Q7:并行输出端 A、B:串行输入端 :清除端,零电平时,使74LS164输出清0。 CLK:时钟脉冲输入端,在脉冲的上升沿实现移位。当CLK=0、CLR=1时,74HC164保持原来的数据状态。 采用串行口扩展显示器节省了I/O口,但传送速度较低;扩展的芯片越多,速度越低。2.5.超温报警电路的设计声音是由震动所产生的

11、,一定频率的震动就产生了一定频率的声音。这个实验是喇叭里发出滴答一长一短的报警声音,送出的端口是p2.7输出1khz,2khz变频信号报警,每一秒交换一次。 接线方法:用一根1PIN数据线一端插入CPU部分JP53(P2口)的P2.7另外一端插入小喇叭部分的输入端JP16。3温度测量系统软件DS18B20简单的硬件接口是以相对复杂的接口编程为代价。由于DS18B20通过单总线与单片机进行通讯,所以其通讯功能是分时完成的。他与单片机的接口协议是通过严格的时序来实现的,只有在特定的时隙,才能实现DS18B20数据的写入和读出。这里以AT89C51和一个DS18B20通讯为例,列出部分通讯的汇编语言

12、代码。软件流程图如图6LED显示Ds18b20初始化N数据处理初始化完毕?Y读取温度数据跳过ROM匹配图6 软件流程图31 初始化子程序(RESET)与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480s,最多不能超过960s。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待1560s才发出应答脉冲。应答脉冲能保持60240s。单片机从发送完复位脉冲到再次控制总线至少要等待480 s。程序代码如下:RESET:CLR DQMOV R7,#33LCALL DELAY15S

13、ETB DQMOV R7,#4LCALL DELAY15CLR FLAGJB DQ,RETISETB FIAGMOV R7,#28LCALL DELAY15SETB DQRETI:RET32 WRITE子程序写时隙需要1575 s,且在2次独立的写时隙之间至少需要1s的恢复时间。写时隙起始于单片机拉低总线。以要把单片机A中的数据发给DS18B20为例,程序代码如下:WR1820:CLR C MOV R1,#8 WR1820:CLR DQ MOV R7,#1 LCALL DELAY15 RRC A MOV DQ,C MOV R7,#1 LCALL DELAY15 SETB DQ NOP DJNZ R1,WR18201 SETB DQ RET33 READ子程序读时隙需1560 s,且在2次独立的读时隙之间至少需要1 s的恢复时间。读时隙起始于单片机拉低总线至少1 s。DSl8820在读时隙开始15s后开始采样总线电平。以单片机读取2 B的数据为例。程序代码如下:RD1820:CLR C

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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