zigbee的cc2530超声波测距_第1页
zigbee的cc2530超声波测距_第2页
zigbee的cc2530超声波测距_第3页
zigbee的cc2530超声波测距_第4页
zigbee的cc2530超声波测距_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、(一) ZigBee 通过超声波传感器水深采集本模块主要实现通过单个 zigbee 终端节点驱动超声波模块采集液位深度信 息回 传到 PC 机上显示。1.CC2530 介绍本创新项目使用的 Zigbee 芯片为 CC2530 ,它集成了业界领先的高性能 RF 收 发器、增强型工业标准的 8051 微控制器, 具有接收灵敏度高和抗干扰性强的 特点。CC2530根据需要有四种不同 FLash版本:CC2530F32/64/128/256 , 本次选择 Flash 为 256K 的片子。它具有多种运行模式以及短的模式切换时间, 保证了其超低功耗的 特点。CC2530的结构大致可以分为三块:CPU和存

2、储模块、电源时钟及外部设备模块、 无线模块(图 1-1 为 CC2530 最小系统) 。主要特 点如下:(1) . 高性能、低功耗的 8051 微控制器内核;(2) . 适应 2.4 GHz IEEE 802.15.4 的 RF 收发器;(3) .电源电压范围宽 (2.0 ? 3.6 V );(4) . 看门狗、电池监视器和温度传感器;(5) .具有 8 路输入 8? 14位 ADC ;(6) .2 个支持多种串行通信协议的 USART, 1 个红外发生电路;(7) .个通用的 16 位和 2 个8 位定时器;(8) .高级加密标准(AES)协处理器;(9) .1 个通用 I/O 引脚, 2

3、个具有 20 mA 的电流吸收或电流 供给能力;(10).小尺寸 QLP-40 封装,6 mm X6 mm-r .廿丁 i iTt LLI *d 卜卜.LI jL-;尸 1BL |»1 弓“I“占IHl让IJsL _iy 、丄_图2-1CC2530最小系统2超声波测距模块简介超声波模块使用的是US-100,本模块可实现2cm4.5m的非接触测距功能,拥有2.45.5V的宽电压输入范围,静态功耗低于2mA自带温度传感器对测 距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。主要技术参数:T作申”用UJ5 >00起独刑”碑?擁決EK" K?

4、4VA5. F>VSrn ASO"-*-70 理审十亘览 UARTv罔匕孕阳T卷捋A于1.目伦Hur JL tjCJuin0 : 3um-i- 直%T ART悻农半1=1冃己首衣恵半垄 OfiOO ?龙忌殆伶1何.停1.1位1位*戦如f立JB位*兀超声波测距系统通过zigbee模块的cc2530芯片向通过串口超声波探头的引脚TX发送一个0x55的指令,超声波探头发射超声波,超声波向前传播。当超声波遇到障碍物时会反射回来,进行相关数据处理,RX引脚输出,将测得的距离的数据发送给zigbee模块。为了验证测得数据是否准确,我们通过串口将 RX输出的数据进行显示(图2-1为实测图)图

5、2-1串口测试超声波模块本模块有两种测距方式:电平触发测距,串口触发测距。我们选择的是串口触发测距方式。在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。在此模式下只需要在Trig/TX管脚输入0X55 (波特率9600),系统便可发出8个40KHZ勺 超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。输出的距离值共两个字节,第一个字节是距离的高8位(HDate)第二个字节为距离的低8位(LData)单位为毫米。即距离值为(HData*256+LData ) mm (图2

6、-1为US-100超声波模块时序图,图2-2为超声波模块实物图)序 n-<!,L波傅+術 oft? K蝎壮1位*浮止杭|蹩*s无甜誤枝? ?无X抻制|連过Y拠送0廉坯d MtHL/* i fl i繪E1I冋晌估弓电热比權块肩对蛊吨传吗0蔣汛it和 对祖怙星逬行整.文轩电子吐肘挥k笈出用号an11. ah同哺粤干旌厦只是葛 雪关?与師Q度无英?图2-1 US-100超声波模块时序图raraa .f -EDS* E38 J HgE3E3E3 .-IrHiiJEOEn 三tKl&ULJ a(wbj 704 OP Q9Ch TOfJ « H buljsfP示式表融电 型跳在 卑

7、工一英agar>3JediJ凹【辽系统的设计思路:图2-2超声波测距模块实物图OLED试示图2-3系统框图3.实验测试代码程序#in elude <ioCC2530.h>#i n elude <string.h>#define uint unsigned int#define uchar unsigned char#define RX0 P0_2#define TX0 P0_3/ 函数声明void Delayms(uint xms); / 延时函数void InitUart(); / 初始化串口void UartSend_String(char *Data,int

8、 len);char temp;char flag=0;int data1,data2,data;char Txdata5; /存放数据char str5;/*延时函数*/void Delayms(uint xms) /i=xms即延时 i 毫秒 (16M 晶振时候大约数,32M 需要修改,系统不修改默认使用内部 16M)uint i,j;for(i=xms;i>0;i-)for(j=587;j>0;j-);串口初始化函数void Ini tUart()while(CLKCONSTA & 0x40);CLKCONCMD &= 0x40; /设置系统时钟源为CLKCO

9、NCMD &= 0x47;32MHZ晶振/等待晶振稳定/设置系统主时钟频率为32MHZPERCFG = 0x00;P0SEL = 0x3c;P2DIR &=0 XC0;U0CSR |= 0x80;U0GCR |= 8;U0BAUD |= 59;UTX0IF = 0;/ 位置1 P0 口P0_2,P0_3,P0_4,P0_5 用作串口 ,第二功能/P0 优先作为UART0,优先级/UART方式/U0GCR 与 U0BAUD 配合/波特率设为115200/UART0 TX中断标志初始置位1 (收发时候)U0CSR |= 0X40;/允许接收IEN0 |= 0x84;/ 开总中断,接

10、收中断/*/ 主函数*void main(void)InitUart();while(1)/ 禁止接 收U0CSR &= 0x40;发送完成标志位U0DBUF = 0x55;while(UTX0IF = 0);/ 允许接收UTX0IF = 0;U0CSR |= 0x40;while(!flag);发送完成标志位flag=0;/ U0DBUF=temp;data1=temp*256;/ while(UTX0IF = 0);/ while(!flag);flag=0;/ U0DBUF=temp;data2=data1+temp;/ while(UTX0IF = 0); / 发送完成标志位/ UTX0IF = 0;data=(int)data2;str0=(char)(data/1000)+0x30;/ 十进制显示 str1=(char)(data/100%10)+0x30;str2=(char)(data/10%10)+0x30;str3=(char)(dat

温馨提示

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

评论

0/150

提交评论