首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 通信与网络
基于nRF24E01的无线温度采集系统设计(原创)
来源:本站整理  作者:佚名  2010-04-19 17:06:04




DSl8B20是DALLAS公司生产的单总线数字1-Wire温度传感器,可把温度信号直接转换成串行数字信号供单片机处理,采用1-Wire接口,数据端DQ通过4.7 kΩ的上拉电阻接NRF24E01。nRF24E01的任意IO端口都可通过程序模拟DQ通信信号,但需在编程时注意,这里接至P1端口。采集到的温度数据经过NRF24E01内部调制、混频无线传输到接收模块,接收模块可以显示或将所采集的数据通过串口发送至PC机进行处理。
4 系统软件设计
4.1 数据采集发送子程序
  数据采集发送部分上电后首先配置nRF24E01的相关寄存器.使其工作在发射状态,然后复位DSl8B20,向DSl8B20发送温度转换命令,读取已转换的温度值,然后由nRF24E01发送.由于 DSl8B20采用的是单线读写方式,需采用软件模拟实现 1-WIRE通信。因此应严格按照1-WIRE的时序要求编写。复位要求nRF24E01将数据线下拉500us,然后释放,当DS18B20收到信号后等待16~60us,后发出60~240us的存在低脉冲,主CPU收到此信号表示复位成功,其流程如图2所示。

 
图2 温度数据采集发送流程图
RF24E01的主要程序代码如下:
(1)nRF24E01对DSl8B20的数据读写是通过时间隙处理位和命令字来确认信息交换。根据" 单线复位脉冲时序和1-wire presence detect "的时序图设计程序如下:
uint get_temperature()
{
  float wendu;
  uchar a,b;
  ds_reset();
  delay(1);              //约2ms
  ds_write_byte(0xcc);
  ds_write_byte(0xbe);
  a=ds_read_byte();
  b=ds_read_byte();
  temp=b;   
  return temp; //返回温度相关数据
}

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:172,722.70000 毫秒