当前位置:首页 >> 信息与通信 >>

无线环境监测系统


南京邮电大学 自动化 学院

实 验 报 告
实验名称: 无线环境参数测量系统

课程名称: 智能仪器设计基础 所在专业: 学生姓名: 班级学号: 任课教师: 测控技术与仪器 林若愚 B12050518 徐国政

2014 /2015 学年第 二 学期

实验地点:

5-214
1

实验学时:8

目录

摘要: .............................................................................................................................................. 2 一、 实验目的................................................................................................................................. 2 二、 实验内容................................................................................................................................. 2 三、实验设备................................................................................................................................... 2 四、 实验硬件介绍......................................................................................................................... 3 1. STC89C52RC ....................................................................................................................... 3 2. STC15W4K32S4 .................................................................................................................. 3 3. NRF2401 ............................................................................................................................... 4 4. LCD12864............................................................................................................................. 5 5. AM2320 ................................................................................................................................ 5 6. SD2068 ................................................................................................................................. 5 7. BMP180 ................................................................................................................................ 6 8. MQ135 .................................................................................................................................. 6 五、系统实现介绍........................................................................................................................... 6 1.系统结构................................................................................................................................ 6 1.模块功能说明................................................................................................................ 6 2.系统框图........................................................................................................................ 7 2. 电路图和实物图.................................................................................................................. 8 六、软件程序................................................................................................................................. 10 (1)软件功能说明+程序流程图......................................................................................... 10 (2) 软件具体实现............................................................................................................. 10 LCD12864.h 文件内容 ................................................................................................... 10 LCD12864.c 文件内容 ................................................................................................... 11 Main.c 内容 .................................................................................................................... 12 其他部分......................................................................................................................... 14 七、 实验数据及结果分析 ........................................................................................................... 15 八、总结及心得体会..................................................................................................................... 17

1

摘要:

无线环境参数测量系统

随着科技的发展, 人们对自己的生活环境越来越在意, 并且希望能直观的数字化参数化 地衡量当前的环境质量。 本系统虽然用的是传统传感器, 但是在和传感器相连的显示器上能 显示的基础之上增加了远程发送设备, 能实现在测量某一点的实时环境参数的同时, 在半径 几米之内的任意位置都能直接直观的查看到这些数据。 测量的参数包括温度湿度气压和空气 质量,能让人们对生活环境的认识更加数字化。且本系统节能省电,实现了可持续发展。

一、实验目的
1.了解并能使用 I2C 总线进行传感器数据获取 2.了解双机通信与无线通信 3.使用 labview 图形化编程软件进行上位机界面设计

二、实验内容
1.使用 STC15W4K32S4 单片机驱动多种传感器完成多参数测量 2.实现 STC15W4K32S4 与 STC89C52RC 之间的串口通信并使用 LCD12864 显示接受到的信息 3.实现 NRF24L01+进行信息无线收发 4.实现用 labview 制作上位机用来显示测量到的信息

三、实验设备
1.STC15W4K32S4 单片机 2.STC89C52RC 单片机 1只 2只

2

3.NRF24L01+ 4.LCD12864 5.计算机 6.AM2320 7.BMP180 模块

2只 1块 1台 1只 1个 1个 1个 若干

8.MQ-135 模块 9.SD2068 时钟模块 10.11.0592M 晶振、杜邦线、排针、电阻、电容、LED 灯

四、实验硬件介绍 1.STC89C52RC
STC89C52RC/RD+系列单片机具有成本低、性能高的特点,支持 ISP(在系统编程)及 IAP(在应用编程)技术。使用 ISP 技术可不需要编程器,而直接在用户系统板上烧录用户 程序,修改调试非常方便。利用 IAP 技术能将内部部分专用 Flash 当作 EEPROM 使用,实 现停电后保存数据的功能,擦写次数为 100000 次以上,可省去外接 EEPROM(如 93C46、 24C02 等)。而且与传统 8051 单片机程序兼容,硬件无需改动。

2.STC15W4K32S4
STC15W4K32S4 系列单片机是 STC 生产的单时钟/机器周期(1T)的单片机,是宽电压高 速高可靠低功耗超强抗干扰的新一代 8051 单片机, 指令代码完全兼容传统 8051 单片机, 但 速度快 8-12 倍。内部集成高精度 RC 时钟,ISP 编程时 5MHz-30MHz 宽范围可设置,可彻 底省掉外部昂贵的晶振和外部复位电路。 8 路 10 位 PWM,8 路高速 10 位 A/D 转换, 内置 4K 字节大容量 SRAM,4 组独立的高速异步串行通信口,1 组高速同步串行通信端口,针对多

3

串行口通信/电机控制/强干扰场合,内置比较器功能更强大。

3.NRF2401
NRF24L01 是一款工作在 2.4-2.5GHz 世界通用 ISM 频段的单片收发芯片,无线收发器 包括:频率发生器 增强型 SchockBurstTM 模式控制器 功率放大器 晶体放大器 调制器 解调器 输出功率频道选择和协议的设置可以通过 SPI 接口进行设置极低的电流消耗。支持 六路通道的数据接收。 1.低工作电压:1.9~3.6V 低电压工作 2.高速率:2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设 置 1Mbps 或者 2Mbps 的空中传输速率) 3.多频点:125 频点,满足多点通信和跳频通信需要 4.超小型:内置 2.4GHz 天线,体积小巧,15x29mm(包括天线) 5.低功耗: 当工作在应答模式通信时, 快速的空中传输及启动时间, 极大的降低了电流消耗。 6.低应用成本:NRF24L01 集成了所有与 RF 协议相关的高速信号处理部分,比如:自动重 发丢失数据包和自动产生应答信号等,NRF24L01 的 SPI 接口可以利用单片机的硬件 SPI 口 连接或用单片机 I/O 口进行模拟,内部有 FIFO 可以与各种高低速微处理器接口,便于使用 低成本单片机。 7.便于开发:由于链路层完全集成在模块上,非常便于开发。自动重发功能,自动检测和重 发丢失的数据包, 重发时间及重发次数可软件控制自动存储未收到应答信号的数据包自动应 答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程载波检测—固定频率检 测内置硬件 CRC 检错和点对多点通信地址控制数据包传输错误计数器及载波检测功能可用 于跳频设置可同时设置六路接收通道地址,可有选择性的打开接收通道标准插针 Dip2.54MM 间距接口,便于嵌入式应用.

4

4.LCD12864
带中文字库的 128X64 是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口方式,内 部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为 128×64, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符 集.利用该模块灵活的接口方 式和简单、 方便的操作指令, 可构成全中文人机交互图形界面。 可以显示 8×4 行 16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。 由该模块构成的液晶显示方 案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多, 且该模块的价格也略低于相同点阵的图形液晶模块。

5.AM2320
AM2320 数字温湿度传感器是一款含有己校准数字信号输出的温湿度复合型传感器。 采 用专用的温湿度采集技术, 确保产品具有极高的可靠性与卓越的长期稳定性。 传感器包括一 个电容式感湿元件和一个高精度集成测温元件, 并与一个高性能微处理器相连接。 该产品具 有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。 AM2320 通信方式采用单总线、标准 I2C 两种通信方式。标准单总线接口,使系统集 成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达 20 米以上,使其成为各类 应用甚至最为苛刻的应用场合的最佳选择。I2C 通信方式采用标准的通信时序,用户可直接 挂在 I2C 通信总线上,无需额外布线,使用简单。两种通信方式都采用直接输出经温度补偿 后的湿度、温度及校验 CRC 等数字信息,用户无需对数字输出进行二次计算,也无需要对 湿度进行温度补偿,便可得到准确的温湿度信息。两种通信方式可自由切换,用户可自由选 择,使用方便,应该领域广泛。产品为 4 引线,连接方便,特殊封装形式可根据用户需求而 提供。

6.SD2068
5

SD2068 是一种具有标准 IIC 接口的实时时钟芯片,CPU 可使用该接口通过 5 位地址寻址 来读写片内 32 字节寄存器的数据(包括时间寄存器、报警寄存器、控制寄存器、通用 SRAM 寄存器)。SD2068 内置单路定时/报警中断输出,报警中断时间最长可设至 100 年;内置时钟精 度数字调整功能, 可以在很宽的范围内校正时钟的偏差(-189ppm~+189ppm,分辨率 3.05ppm), 并通过外置的温度传感器可设定适应温度变化的调整值, 实现在宽温范围内高精度的计时功 能。该芯片可满足对实时时钟芯片的各种需要,为工业级产品,是在选用实时时钟 IC 时的 理想选择。

7.BMP180
BMP180 是一款高精度、小体积、超低能耗的压力传感器,可以应用在移动设备中。它 的性能卓越,绝对精度最低可以达到 0.03hPa,并且耗电极低,只有 3μ A。BMP180 采用强 大的 8-pin 陶瓷无引线芯片承载(LCC)超薄封装,可以通过 I2C 总线直接与各种微处理器 相连。

8.MQ135
MQ135 气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。 当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增 大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 MQ135 传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害的监测也很理想。这种传 感器可检测多种有害气体,是一款适合多种应用的低成本传感器。

五、系统实现介绍 1.系统结构
1.模块功能说明

6

(1)传感器数据收集模块
使用 STC15W4K32S4 单片机从四个传感器上用 I2C 以及 AD 采集方式获取响应的数据, 并通过串口以一定的格式向 STC89C52RC 发送,该部分由同组成员董鸿祥负责。

(2)串口收发及数据显示模块
使用 STC89C52RC 单片机收到数据,并使用 LCD12864 显示,并驱动 NRF24L01 向上 位机发送接收到的数据,主要由本人负责。

(3)无线接受及上位机显示模块
使用 STC89C52RC 单片机驱动 NRF2401 接收下位机发送而来的数据, 并通过串口将该 数据发送至计算机, 通过在 Labview 上用直观的图像和显示控件来显示接收到的数据。 该部 分由同组成员侯贺雨负责。

2.系统框图

图 1 整体系统框图

7

2.电路图和实物图

图 2 串口收发及数据显示模块电路图

图 3 串口收发及数据显示模块实物图

8

图 4 下位机整体实物图

图 5 上位机部分实物图
9

六、软件程序
(1)软件功能说明+程序流程图

图 6 模块实现流程图

(2)软件具体实现
LCD12864.h 文件内容 #ifndef _LCD12864_H_ #define _LCD12864_H_ #include <main.h> sbit RS=P2^2; //RS=0 为执行指令;RS=1 为执行数据; sbit RW=P2^1; //读写 sbit E=P2^0 ;//使能 sbit PSB=P2^3; //低电平(串口驱动);高电平(并口驱动)
10

sbit RST=P2^5; //LCD 复位 void Init_lcd(); //初始化液晶 void lcd_busy(); //忙标志查询 void delayus(uint z); //延时程序 void write(uchar x,uchar Data); //写单字节函数 void Show(uchar address,uchar L,uchar STR1[]); #endif LCD12864.c 文件内容 #include <LCD12864.h> uchar t,p; void delayus(uint z) //延时函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void lcd_busy(void) //判忙函数 { uchar busy; P0=0xff; RS=0; RW=1; do{ E=1; busy=P0; E=0; } while(busy>0x7f); } void write(uchar x,uchar Data) //写入函数,将写入数据和命令参数化写在一个函数中 { lcd_busy(); //忙查询 if(x==0) { RS=0; RW=0; //写单字节命令字 } else if(x==1) { RS=1; RW=0; //写单字节数据 } E=1;
11

P0=Data; E=0; P0=0xff; } void Init_lcd(void) //初始化 { delayus(20); //启动等待,等 LCM 讲入工作状态 PSB=1; //并口驱动模式 RST=0; delayus(4); RST=1; // 复位 LCD write(0,0x30); //8 位介面,基本指令集 write(0,0x0c); //显示打开,光标关,反白关 write(0,0x01); //清屏,将 DDRAM 的地址计数器归零 } void Show(uchar address,uchar L,uchar STR1[]) //显示函数 { uchar i; write(0,address); for(i=0;i<L;i++) { write(1,STR1[i]); } } Main.c 内容 #include <main.h> #include <LCD12864.h> #include <NRF24L01.h> uchar flag=0,i=0,j,c,receive[17]=0,temp[16]=0,adress=0; code uchar aq2[][4]={"优","良","中","差"}; code uchar empty[16]={0}; void UartInit(void) //9600bps@11.0592MHz { PCON = 0x00; //波特率不倍速 SCON = 0x50; //8 位数据,可变波特率 TMOD = 0x20; //设定定时器 1 为 8 位自动重装方式 TL1 = 0xfd; //设定定时初值 TH1 = 0xfd; //设定定时器重装值 ET1 = 0; //禁止定时器 1 中断 TR1 = 1; //启动定时器 1 } void dis(uchar a) {
12

switch(a) { case 0: adress=0x80;break;/*第一行显示内容*/ case 1: adress=0x90;break;/*第二行显示内容*/ case 2: adress=0x88;break;/*第三行显示内容*/ case 3: adress=0x98;break;/*第四行显示内容*/ default:return; } Show(adress,16,temp); } void main() { //首位置 第一行 0x80,第二行 0x90,第三行 0x88,第四行 0x98 uint result; //计算环境质量 UartInit(); //初始化串口 init_NRF24L01(); //初始化 2401 Init_lcd(); //初始化 12864 EA=1; //打开主中断 ES=1; //打开串口中断 LED = 0; LED1 = 0; Show(0x80,16,"系统初始化中.."); Delay(6000); while(1) { if(flag) //当接收到 17 个字符时, flag 置 1 并开始处理 { ES=0; for(j=0;j<15;j++) //把接受到的数除了标志位放进 temp temp[j]=receive[j+1]; switch(receive[0]) //用标志位判别显示内容 { case 's': dis(0); break; //显示时间 case 't': dis(1); Show(0x93,2,"° ");break; //显示温湿度和‘°’ case 'p': dis(2); break; //显示大气压 case 'a': dis(3); Show(0x9c,2," "); //显示空气质量 result=(temp[4]-'0')*1000+(temp[5]-'0')*100+(temp[6]-'0')*10+(temp[7]-'0'); if(result>700) Show(0x9e,2,aq2[3]); else if(result>300) Show(0x9e,2,aq2[2]); else if(result>64) Show(0x9e,2,aq2[1]); else
13

Show(0x9e,2,aq2[0]); break; default: break; } flag=0; nRF24L01_TxPacket(receive); Delay(600); ES=1; } } } void ser() interrupt 4 { c=SBUF; receive[i]=c; if(!(c=='s'||c=='t'||c=='p'||c=='a')&&(c==receive[0]))//如果接收到的不是标志就不接收 { RI=0; return; } i++; if(i>16) //连续接受 17 个字符 { flag=1;i=0; } RI=0; } 其他部分 由于篇幅原因,在本程序中非重点的 NRF2401.h 以及 NRF2401.c 省略 //显示完后将标志位清 0 //通过 2401 发送数据 //断延时

14

七、实验数据及结果分析

图 7 12864 显示效果 1

图 8 12864 显示效果 2
15

图 9 上位机显示效果 1

图 10 上位机显示效果 2

16

图 11 上位机显示效果 3 结果显示本系统采集数据精确,上下位机通信间并无乱码。

八、总结及心得体会
这次的实验让我觉得很有意义,因为第一次将这么多所学的知识都包含在一个系统内, 包括无线收发串口收发双机通信 LCD 显示和传感器的 AD 转换接受和 I2C 方式接受。这次 实验中的难点是对双机通信的数据匹配, 因为收发的程序并不是一个人写的, 因此在数据对 接上费了不少的工夫, 而且我们发现当用来做电源的电压不稳定的时候, 串口收发的误码率 会极高。不过这些问题在我们的努力下也解决了这个棘手的问题。 最后还是要感谢老师和各位同学, 在他们的帮助下我们小组才如此顺利的完成了整个项 目。

17


相关文章:
无线环境监测系统的设计
...12 外文页 -2- 无线环境监测系统的设计赵旭涛 无线环境监测系统由监测终端和探测节点组成,二者可进行点对点通信,又可构成具 摘要 有转发功能的通信网络,同时...
无线环境监测
无线监测技术广泛应用在各种控制系统中,诸如食品加 工,或是制药工业领域,都必须满足日益严格的数据监测及管理要求,因此 对于无线环境监测开发具有实际的意义。本设计...
无线环境监测模拟装置(完整版)
无线环境监测模拟装置(完整版)_信息与通信_工程科技_专业资料。此为2009年NEC杯...1 1 方案设计 1.1 理论分析整个系统分为三个部分,两个探测点,和一个监测...
无线环境监测系统
无线环境监测系统_信息与通信_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档无线环境监测系统_信息与通信_工程科技_专业资料。用多个单片机和LABVIEW做的...
无线环境监测模拟装置设计
无线环境监测模拟装置的设计 摘要:简要介绍一种无线环境监测模拟装置的设计方案,给出收 发电路、通信协议和系统软件的设计方法。该装置可对周边多点环 境温度、光照...
基于单片机的无线环境监测系统的设计 开题报告
设计(论文)题目:基于单片机的无线环境监测系统的设计 2. 研究领域:无线监测系统 3. 设计工作的理论意义和应用价值单片机全称单片微型计算(Single Chip Microcomputer)...
基于无线环境监测系统的设计
编号 淮安信息职业技术学院 毕业论文题目 基于 ATmega16 无线环境监测系统的设计学生姓名 学系专班号部业级 胡海洋 71095034 电子工程学院 电子信息工程技术 710950...
无线网络环境监控系统的构成及功能分析
无线网络环境保护监控系统主要由三大部分组成: 环保监控终端系统、 无线数据传输网 络平台、环保监控管理中心系统。 监控终端系统:由各种水质污染监测仪、大气污染监测...
无线环境监测模拟装置的设计
无线环境监测模拟装置的系统, 无线环境监测模拟装置具有对温度和光亮的检测功 能,并且可以通过无线网络传输数据。不仅能很好的检测环境变化,而且无线传输方便 实用。 ...
更多相关标签:
环境监测系统 | 智能环境监测系统 | 机房环境监测系统 | 室内环境监测中心 | 环境监测网站 | 环境检测价格 | 无线温湿度监测系统 | 物联网环境监测系统 |