zigbee的cc2530超声波测距.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
zigbee的cc2530超声波测距

(一)ZigBee通过超声波传感器水深采集 本模块主要实现通过单个zigbee终端节点驱动超声波模块采集液位深度信息回传到PC机上显示。 1.CC2530介绍 本创新项目使用的Zigbee芯片为CC2530,它集成了业界领先的高性能RF收发器、增强型工业标准的8051微控制器,具有接收灵敏度高和抗干扰性强的特点。CC2530根据需要有四种不同FLash版本:CC2530F32/64/128/256,本次选择Flash为256K的片子。它具有多种运行模式以及短的模式切换时间,保证了其超低功耗的特点。CC2530的结构大致可以分为三块:CPU和存储模块、电源时钟及外部设备模块、无线模块(图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个具有20 mA的电流吸收或电流 供给能力; (10).小尺寸QLP-40封装,6 mm×6 mm。 图2-1CC2530最小系统 2超声波测距模块简介 超声波模块使用的是US-100,本模块可实现2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。 主要技术参数: 超声波测距系统通过zigbee模块的cc2530芯片向通过串口超声波探头的引脚TX发送一个0x55的指令,超声波探头发射超声波,超声波向前传播。当超声波遇到障碍物时会反射回来,进行相关数据处理,RX引脚输出,将测得的距离的数据发送给zigbee模块。 为了验证测得数据是否准确,我们通过串口将RX输出的数据进行显示(图2-1为实测图)。 图2-1串口测试超声波模块 本模块有两种测距方式:电平触发测距,串口触发测距。我们选择的是串口触发测距方式。 在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。在此模式下只需要在Trig/TX管脚输入0X55(波特率9600),系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。 输出的距离值共两个字节,第一个字节是距离的高8位(HDate),第二个字节为距离的低8位(LData),单位为毫米。即距离值为(HData*256 +LData)mm(图2-1为US-100超声波模块时序图,图2-2为超声波模块实物图) 图2-1 US-100超声波模块时序图 图2-2 超声波测距模块实物图 系统的设计思路 : 图2-3系统框图 3.实验测试代码程序 #include ioCC2530.h #include 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 len); char temp; char flag=0; int data1,data2,data; char Txdata[5]; //存放数据 char str[5]; /**************************** 延时函数 *****************************/ void Delayms(uint xms) //i=xms 即延时i毫秒 (16M晶振时候大约数,32M需要修改,系统不修改

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档