无线传感网技术与应用报告.docx
《无线传感网技术与应用报告.docx》由会员分享,可在线阅读,更多相关《无线传感网技术与应用报告.docx(14页珍藏版)》请在冰豆网上搜索。
![无线传感网技术与应用报告.docx](https://file1.bdocx.com/fileroot1/2022-12/13/04e63d5a-993b-4ac1-9b6e-218afa24213f/04e63d5a-993b-4ac1-9b6e-218afa24213f1.gif)
无线传感网技术与应用报告
重庆航天职业技术学院
实训报告
教师:
课程:
无线传感网技术及应用学号:
姓名:
班级:
物联网
日期:
2016/6/16
1/17
评阅页
课程设计题目:
温度采集DS18B20同组成员:
学生自评:
设计方案由讨论组完成,大家一起做硬件DS18B20温度显示,再由大家分工把报告完成。
指导教师评语:
成绩:
指导老师签名:
2016年06月24
2/17
前言
ZigBee简介ZigBee技术是一种近距离、低功耗、低速率、低成本的无线通信技术,兼具经济、可靠、易于部署等优势,已成为无线传感器网络中最具潜力和研究价值的技术,在工业控制、环境监测、智能家居、医疗护理、安全预警、目标追踪等应用场合已展现出广阔的市场前景。
本设计利用TI公司CC2530单片机,采用DS18B20数字温度传感器,完成温度采集并通过液晶显示器显示测量温度值,测温电路简单,适合于-50~150摄氏度温度的测量。
3/17
一、设计题目1
二、硬件设计方案1
2.1CC2530芯片简介:
1
2.2芯片概述2
三、CC2530模块说明2
3.1CPU和内存2
3.2中断控制器2
3.3外设3
3.4调试接口3
3.5无线设备3
四、DS18B204
4.1DS18B20工作原理4
4.2DS18B20的主要特性5
五、软件设计方案5
5.1程序流程图5
5.2所需用到的部分C语言程序7
5.3实验过程及结果12
六、总结13
七、参考文献13
1/17
一、设计题目
本次的设计题目要求是基于DS18B20的温度采集显示系统,
该系统要求包含温度采集模块、温度显示模块等。
其中温度采集
模块所选用的是DS18B20数字温度传感器进行温度采集,温度显
示模块用液晶显示屏显示。
二、硬件设计方案
2.1CC2530芯片简介:
CC2530结合了领先的RF收发器的优良性能,业界标准的增
强型8051CPU,系统内可编程闪存,8-KBRAM和许多其它强大
的功能。
CC2530有四种不同的闪存版本:
CC2530F32/64/128/256,
分别具有32/64/128/256KB的闪存。
CC2530具有不同的运行模
式,使得它尤其适应超低功耗要求的系统。
运行模式之间的转换时间短进一步确保了低能源消耗。
其引脚如图1.1所示。
图2.1CC2530芯片
1/17
2.2芯片概述
如图1.2所示是CC2530的方框图,图中模块大致可以分为三类:
CPU和内存相关的模块;外设、时钟和电源管理相关的模块,以及无线电相关的模块。
图2.2CC2530的方框图
三、CC2530模块说明
3.1CPU和内存
CC253x芯片系列中使用的8051CPU内核是一个单周期的
8051兼容内核。
它有三种不同的内存访问总线(SFR,DATA和
CODE/XDATA),单周期访问SFR,DATA和主SRAM。
它还包括一个
调试接口和一个18输入扩展中断单元。
3.2中断控制器
2/17
总共提供了18个中断源,分为六个中断组,每个与四个中
断优先级之一相关。
当设备从活动模式回到空闲模式,任一中断
服务请求就被激发。
一些中断还可以从睡眠模式(供电模式1-3)
唤醒设备。
3.3外设
CC2530包括许多不同的外设,允许应用程序设计者开发先
进的应用。
3.4调试接口
执行一个专有的两线串行接口,用于内电路调试。
通过这个
调试接口,可以执行整个闪存存储器的擦除、控制使能哪个振荡
器、停止和开始执行用户程序、执行8051内核提供的指令、设
置代码断点,以及内核中全部指令的单步调试。
使用这些技术,
可以很好地执行内电路的调试和外部闪存的编程。
设备含有闪存存储器以存储程序代码。
闪存存储器可通过用
户软件和调试接口编程。
闪存控制器处理写入和擦除嵌入式闪存
存储器。
闪存控制器允许页面擦除和4字节编程。
3.5无线设备
CC2530具有一个IEEE802.15.4兼容无线收发器。
RF内核
控制模拟无线模块。
另外,它提供了MCU和无线设备之间的一个
接口,这使得可以发出命令,读取状态,自动操作和确定无线设
备事件的顺序。
无线设备还包括一个数据包过滤和地址识别模块。
3/17
四、DS18B20
4.1DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的
温度值的位数因分辨率不同而不同,且温度转换时的延时时间由
2s减为750ms。
DS18B20测温原理如图所示。
图3.1中低温度系
数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信
号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,
所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器
被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶
振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,
温度寄存器的值将加1,计数器1的预置将重新被装入,计数器
1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测
温过程中的非线性,其输出用于修正计数器1的预置值。
图3.1DS18B20测温原理图
4/17
4.2DS18B20的主要特性
①、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
②、测温范围-55℃~+125℃,固有测温误差1℃。
③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
④、工作电源:
3.0~5.5V/DC(可以数据线寄生电源)
⑤、在使用中不需要任何外围元件
⑥、测量结果以9~12位数字量方式串行传送
⑦、不锈钢保护管直径Φ6
⑧、适用于DN15~25,DN40~DN250各种介质工业管道和狭小空间设备测温
⑨、标准安装螺纹M10X1,M12X1.5,G1/2"任选
⑩、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。
五、软件设计方案
5.1程序流程图
程序流程图如图4.1所示。
5/17
开始
初始化,设置
常量
调用DS18B20初
始化子程序
读取温度转换
值
调用数据处理
子程序
生成显示码
显示温度值
图4.1程序流程图
6/17
5.2所需用到的部分C语言程序
(1)Main()
/***************************************************************
*文件名:
main.c
*功能描述:
DS18B20温度传感器值测试程序
*日期:
2013/11/15
*作者:
*******************************************************
*********/
#include"smartrfeb.h"#include
boolbread;
intcount;
externuint16readTemp();
/******************************************************
*************************
*函数名称:
CalcTempture
*
*功能描述:
DS18B20温湿度转换计算函数
*
*入口参数:
val:
温度读取值
*******************************************************
***********************/
//
voidCalcTempture(uint16val)
{
uint16tmp;
floattemp;
chars[16];
temp=((float)val)*0.625;//放大10倍
7/17
tmp=(uint16)temp;
sprintf(s,(char*)":
%d.%dC",((uint16)(tmp/10)),((uint16)(tmp%10)));
PutString(50,35,s);//在LCD屏上显示湿度值
if(tmp>=220&&tmp<240){LED1=1;LED2=0;LED3=0;LED4=0;}if(tmp>=240&&tmp<260){LED1=1;LED2=1;LED3=0;LED4=0;}if(tmp>=260&&tmp<280){LED1=1;LED2=1;LED3=1;LED4=0;}if(tmp>=280&&tmp){LED1=1;LED2=1;LED3=1;LED4=1;}
}
/*******************************************************************************
*函数名称:
main
*
*功能描述:
DS18B20测试主函数
*
******************************************************************************/
voidmain(void)
{
SET_CLOCK_SOURCE(CRYSTAL);//设置主时钟
while((CLKCONSTA&0xC0)!
=0);//等待时钟稳
定
SET_CLOCK_CLKSPD
(1);
SET_CLOCK_TICKSPD(16);//32M--16分频
=2MHz
TIMER1_CLOCK_DIVIDE(32);//2M--32分频
=62.5KHz
TIMER_MODE_SELECT(1,T_MODE_FREE);//定时器1自由计数65535/(62.5*1000)=1.04856秒
8/17
INIT_LED1();
LCD_Init();//初始化LCD
SetBackLight(50);//设置背光
ClrScreen();
FontSet_cn(1,1);//设置显示字体
PutString_cn(30,10,"温度测量");
PutString_cn(0,35,"温度值:
");
FontSet(1,1);
IEN1|=(0x01<<1);//开定时器中断;
EA=1;//开总中断;
count=0;
IO_DIR_PORT_PIN(1,1,IO_OUT);
IO_DIR_PORT_PIN(1,2,IO_OUT);
IO_DIR_PORT_PIN(1,3,IO_OUT);
IO_DIR_PORT_PIN(2,0,IO_OUT);
LED1=1;LED2=1;LED3=1;LED4=1;
while
(1)
{
if(bread==1)
{
bread=0;
CalcTempture(readTemp());
}
}
}
(2)LCD
//========================================================================
//文件名:
LCD_Dis.c
//日期:
2009/02/10
//描述:
MzLH04-12864LCD显示模块驱动V1.0版
//基本功能接口函数集
//
9/17
//参考:
无
//版本:
//2009/02/10FirstversionMzDesign
//========================================================================
#include"hal.h"
#defineDis_X_MAX
128-1
#defineDis_Y_MAX
64-1
unsignedcharX_Witch=6;
unsignedcharY_Witch=10;
unsignedcharX_Witch_cn=16;
unsignedcharY_Witch_cn=16;
unsignedcharDis_Zero=0;
//#defineSPI_RES
P0_0
#define
SPI_SCK
P1_5
#define
SPI_SDA
P1_6
#define
SPI_CS
P1_4
voidLcdPortInit()
{
IO_DIR_PORT_PIN(0,0,IO_OUT);
IO_DIR_PORT_PIN(1,4,IO_OUT);
IO_DIR_PORT_PIN(1,5,IO_OUT);
IO_DIR_PORT_PIN(1,6,IO_OUT);
}
//========================================================================
//函数:
voidLCD_Init(void)
//描述:
LCD初始化程序,主要在里面完成端口初始化以及LCD模块的复
位
//参数:
无
//返回:
无
//备注:
10/17
//版本:
//2009/02/10FirstversionMzDesign
//==============================================================
==========
voidTimeDelay(unsignedintTimers)
{
unsignedinti;
while(Timers)
{
Timers--;
for(i=0;i<100;i++);
}
}
voidLCD_Init(void)
{
LcdPortInit();
//SS和SCK预先设置为高电平
SPI_SCK=1;
SPI_CS=1;
//复位LCD模块
//SPI_RES=0;
TimeDelay(50);
//保持低电平大概2ms左右
//SPI_RES=1;
TimeDelay(80);//延时大概10ms左右
}
11/17
5.3实验过程及结果
如图5.3.1所示,将程序按照一定的步骤下载到开发板上。
图5.3.1程序下载
其结果显示如图5.3.2所示。
用手捏住温度传感器,可以观
察到温度值逐渐上升,松手,温度值逐步下降。
图5.3.2温度测量结果显示
12/17
六、总结
七、参考文献
【1】王小强,欧阳俊,黄宁淋,ZigBee无线传感器网络设计与实现【M】.北京:
化学工业出版社,2014.
【2】李文仲,等.ZigBee2007/PRO协议栈实验与实践【M】.北
京:
北京航空航天大学出版社,2009.
【3】瞿雷,刘盛德,胡咸斌,ZigBee技术及应用【M】.北京:
北京航空航天大学出版社,2007.
13/17