环境温度监测系统方案

上传人:桔**** 文档编号:559668347 上传时间:2023-07-23 格式:DOCX 页数:14 大小:102.91KB
返回 下载 相关 举报
环境温度监测系统方案_第1页
第1页 / 共14页
环境温度监测系统方案_第2页
第2页 / 共14页
环境温度监测系统方案_第3页
第3页 / 共14页
环境温度监测系统方案_第4页
第4页 / 共14页
环境温度监测系统方案_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《环境温度监测系统方案》由会员分享,可在线阅读,更多相关《环境温度监测系统方案(14页珍藏版)》请在金锄头文库上搜索。

1、课题三、环境温度监测系统一、设计要求环境温度监测系统广泛地用于住宅小区、楼宇建筑和设备内部等。其主要功能和指标如下:1、可以监测8点环境温度信号,可以扩充;2、 测量范围为0.00 C99.9 C,可以扩充到55C+ 125C,精度为土 0.5 C;3、 用4位数码管进行循环显示,其中 最高位显示通道提示符 AH,低3位显示实际温度 值,每秒切换一个通道进行轮流显示;4、 可以随时查看指定通道的温度值(扩充功能)。二、设计指导1、方案选择该系统主要由温度检测和数据采集两部分组成。下面列举两种实现方案:方案一:温度检测可以使用低温热偶或铂电阻, 数据采集部分则使用带有 A/D通道的单片 机。考虑

2、到一般的A/D输入通道都只能接收大信号,所以还应设计相应的放大电路。 此方案的 软件简单,但硬件复杂,且检测点数追加时,成本会有较大增长幅度。方案二:使用单片机和单总线温度传感器构成。单总线温度传感器可以采用DALLAS公司生产的DS18B20系列,这类温度传感器直接输出数字信号,且多路温度传感器可以挂在1条总线上,共同占用单片机的1条I/O线即可实现接口。在提升单片机I/O线驱动能力的前提下,理论上可以任意扩充检测的温度点数。比较两个方案后可以发现,方案二更适合于用作本系统的实施方案。尽管方案二不需要A/D,但考虑到系统扩充等因素,单片机可以选用ADUC812,以便于在需要的时候扩充参数存储

3、、D/A输出、温度控制等功能。2、硬件设计采用方案二的硬件设计比较简单,系统构成如图1所示,原理图如图 5所示。单片机的P0 口用作4位数码管的段码线,P3.4P3.7用作4位数码管的位选线 (ADUC812的P3有允许8mA的灌电流,可以不加驱动)。P2.4用作 DS18B20的数据输入/输出线。DS18B20的引脚定义和封图1温度监测系统组成框图DS18B20的光刻ROM中存有64位序列号,它可以 看作是该DS18B20的地址序列码。64位光刻ROM的排 列是:开始8位(28H)是产品类型标号,接着的 48 位是该DS18B20自身的序列号,最后 8位是前面56 位的循环冗余校验码(CRC

4、=X8+X5+X4+)。光刻 ROM 的作用是使每一个 DS18B20拥有惟一的地址序列码,L 12 3 1(BOTTOM VIEW)TO-92(DS1XB2O)图2 DS18B20引脚与封装装形式之一如图2所示。DQ为数字信号输入/输出端;GND为电源地;VDD为外接电源。以确保在一根总线上挂接多个DS18B2QDS18B20内部集成了暂存寄存器(或称为暂存RAM和EEPROM两类存储器。暂存 RAM为9个字节,其地址分配及其相关说明如表1所示。单片机通过命令实现对 DS18B20的控制,其支持的主要命令如表 2所示。DS18B20的复位操作、读写操作都必须遵从严格的时序,其复位时序、读写时

5、序分别如图3和图4所示。关于DS18B2 0的详细介绍和使用方法可以参考其数据手册。表1 DS18B20暂存RAM地址分配及其说明寄存器名称地址说明温度低字节0温度测量值的低 8位,即b7 b6 b5 b4 b3 b2 b1 b0温度咼字节1温度测量值的高 3位及符号位,即 S S S S S b10 b9 b8温度咼限2温度报警上限,也可以用作自定义字节温度咼限3温度报警下限,也可以用作自定义字节配置寄存器4格式为 0 R1 R0 1 1 1 1 1, R1 和 R0 为 00、01、10、11 对应的分辨率分别为 9、10、11和12位(包括符号位)保留5未定义保留6未定义保留7未定义校验

6、码8按X8 + X5+ X4+ 1对前8个字节进行CRC校验表2 DS18B20主要命令及其功能说明命令码功能说明命令码功能说明33H读ROM中的64位地址序列码BEH读9字节暂存寄存器55H只有地址码匹配的DS18B2才能接受后续的命令4EH写入温度上/下限,紧随其后是2字节数据,对应上限和下限值F0H锁定总线上 DS18B20的个数和识别其ROM中的64位地址序列码48H将9字节暂存寄存器的第 3和4字节复制到EEPRO中ECH只有温度超过上限或下限的DS18B20才做出响应B8H将EEPROM的内容恢复到暂存寄存器的第3和4字节44H启动DS18B20进行温度转换,结果存入9字节的暂存寄

7、存器B4H读供电模式,寄生供电时DS18B20发送0,外接电源时DS18B20发送 1CCH忽略地址序列码,适合单片DS18B206ND1 WIRE BUSLINE TYPE LEGEND (Figure 2 白nd Figure 3)Bus master pulling low 518x20051822 pulling low Resistoir pillup图3 DS18B20复位时序4TVITQF SLOTtTARTC* SLOTWRITE SLOTWRITE 1SLOT* 1 p 寺 Tpj_、C4PI7/APC7DHPDQVTDFCD/MsD Pfil/AlM 咖血 PClADSPI

8、U.lAlb3M 1WADG P(RiAD7P2fl/AWAUi PHHAWhl? F 盈lAJQUd 卩切施】肚甘 怜爪MM F2AJA2L 总2魚A羔 P祠山屈口QNP DQ VtDi;wn.iMajaziriB PClt/T.PO!/5PO4zaPOj/3TO/1IFIJT jFiS-IPESQ VD&EAppFJEFT All图5系统原理图FIO/HXOPHCTsD 曲丽 pjjyTWTiHiso pmtt pismjcaHVCT ph两SCLOCKgotDiAClOfrf Vrrf賊陆 DVDP DVDP BVDDQL忙“ DOWD PQKO DGMDXTALIXTALJHr 叫 V

9、DJ卩昭y欣/p珂/DNPDQ VMC63、软件设计1、软件模块的划分该系统的控制软件可以分为单片机初始化程序、定时中断服务程序和DS18B20接口程序等 模块。单片机初始化程序由主函数实现,主要完成定时器TO、T1的初始化、中断系统的初始化等功能。定时器T0(p3.4)中断函数每隔5ms执行1次,动态显示1位数码管;定时器T1(p 3.5) 中断函数每隔50ms中断1次,每中断20次(1秒)即读取1路DS18B20的温度代码,转换为 温度值,再拆分成单个数码后送入显示缓冲区。DS18B20接口程序主要由 复位函数、读位函数、读字节函数、写位函数、写字节函数、读温度函数等组成。2、参考程序#i

10、n elude #in clude vintrin s.hsbit ledO=P3A4;P3.4 P3.7用作4位LED的位选线sbit led 仁 P3A5;sbit led2=P3A6;sbit led3=P3A7;sbit DQ = P2A4;P2.4 用作 DS18B20的数据线 DQfloat data TMP2=0,0;/读取后的2个温度值,将其除以2即可得出实际温度;???unsigned char data f2=0,0; /结果是否为负温,0为正温,1为负温。un sig ned char data disp_buf4=0,0,0,0; 4位数码管对应的值放入该缓冲区un s

11、ig ned char data dot_positi on=0;unsigned char data chno=0;/ 对应某路 DS18B20/存各路DS18B20的地址序列号,为便于调试,只设计了2路,可以扩充到8路或更多unsigned char code SN28= 16, 62,148,60,0,0,0, 247,16,229,146,60,0,0,0,87 ;/数字09和通道提示符 AH的段码un sig nedcharcodeseg_table =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0

12、x5e,0x79,0x71,0x6f,0x76;un sig ned char code CH =10,11,12,13,14,15,16,17; /通道提示符的段码偏移量/将0.00999之间的浮点数转为单个数码,并送显示缓冲区和返回小数点的位置void ftochar(float valp)if(valp=10.0) &(valp=100.0)&(valp1000.0) dot_position=3;disp_buf1=(i nt)valp/100;disp_buf2=(i nt)valp%100)/10;disp_buf3=(i nt)valp%100)%10;/延时15微妙的函数void delay (un sig ned char n)do 的头文件为_n op_();_nop_() ;_n op_() ;_n op_();_ nop_();_nop_();_n op_()intrin s.h_n op_();_nop_() ;_n op_();_ no p_() ;_n op_();_nop_() ;_n op_();n-;while( n);/DS18B20复位函数,按复位时序进行设计void ow_reset(void)DQ = 0;/ DQ置为低电平delay(36);/ 保持 4

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

当前位置:首页 > 学术论文 > 其它学术论文

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