nrf24l01毕业论文

1.nRF24L01无线模块的工作原理

发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。

如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便再次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。

接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。

若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。

2.求基于51单片机无线模块nrf24l01程序

刚好正在研究,网上找的,稍改了一下,2015.8.17晚试验 接收方应该没问题,但发送方上电一次只能发2 个数据,想再发,单片机复位也不行 必须重新给NRF24L01上电 有的网友则只能发一次 单片机用STC12C5A32S2,但硬件SPI不成功,用的是普通IO模拟SPI#include //#include "STC12C5A.H"#include #define uint unsigned int#define uchar unsigned char//****************************************IO端口定义*************************************** sbit CE=P0^0; sbit CSN=P0^1; sbit SCK=P0^2; sbit MOSI=P0^3; //管脚配置 sbit MISO=P0^4; sbit IRQ=P0^5; sbit diola=P2^5;//发光二极管锁存端 sbit duanla=P2^6;//段锁存端 tx-1c开发板 sbit weila=P2^7;//位锁存端//************************************按键*************************************************** sbit KEY1=P3^4; uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//*********************************************NRF24L01*************************************#define TX_ADR_WIDTH 5 // 5 uints TX address width#define RX_ADR_WIDTH 5 // 5 uints RX address width#define TX_PLOAD_WIDTH 20 // 20 uints TX payload#define RX_PLOAD_WIDTH 20 // 20 uints TX payload uchar TX_ADDRESS[TX_ADR_WIDTH]= {0x12,0x34,0x56,0x78,0x90}; //本地地址 uchar RX_ADDRESS[RX_ADR_WIDTH]= {0x12,0x34,0x56,0x78,0x90}; //接收地址//***************************************NRF24L01寄存器指令#define READ_REG 0x00 // 读寄存器指令#define WRITE_REG 0x20 // 写寄存器指令#define RD_RX_PLOAD 0x61 // 读取接收数据指令#define WR_TX_PLOAD 0xA0 // 写待发数据指令#define FLUSH_TX 0xE1 // 冲洗发送 FIFO指令#define FLUSH_RX 0xE2 // 冲洗接收 FIFO指令#define REUSE_TX_PL 0xE3 // 定义重复装载数据指令#define NOP 0xFF // 保留//*************************************SPI(nRF24L01)寄存器地址#define CONFIG 0x00 // 配置收发状态,CRC校验模式以及收发状态响应方式#define EN_AA 0x01 // 自动应答功能设置#define EN_RXADDR 0x02 // 可用信道设置#define SETUP_AW 0x03 // 收发地址宽度设置#define SETUP_RETR 0x04 // 自动重发功能设置#define RF_CH 0x05 // 工作频率设置#define RF_SETUP 0x06 // 发射速率、功耗功能设置#define STATUS 0x07 // 状态寄存器#define OBSERVE_TX 0x08 // 发送监测功能#define CD 0x09 // 地址检测 #define RX_ADDR_P0 0x0A // 频道0接收数据地址#define RX_ADDR_P1 0x0B // 频道1接收数据地址#define RX_ADDR_P2 0x0C // 频道2接收数据地址#define RX_ADDR_P3 0x0D // 频道3接收数据地址#define RX_ADDR_P4 0x0E // 频道4接收数据地址#define RX_ADDR_P5 0x0F // 频道5接收数据地址#define TX_ADDR 0x10 // 发送地址寄存器#define RX_PW_P0 0x11 // 接收频道0接收数据长度#define RX_PW_P1 0x12 // 接收频道0接收数据长度#define RX_PW_P2 0x13 // 接收频道0接收数据长度#define RX_PW_P3 0x14 // 接收频道0接收数据长度#define RX_PW_P4 0x15 // 接收频道0接收数据长度#define RX_PW_P5 0x16 // 接收频道0接收数据长度#define FIFO_STATUS 0x17 // FIFO栈入栈出状态寄存器设置 uchar sta; //状态标志#define RX_DR (sta & 0x40)#define TX_DS (sta & 0x20)#define MAX_RT (sta & 0x10)//*****************************************长延时***************************************** void Delay(unsigned int s) { unsigned int i; for(i=0; i for(i=0; i for(i=0; i for(i=0; i}//******************************************************************************************//***********毫秒延时程序********************/ void delayms(unsigned int count) { unsigned int i,j; for(i=0;i for(j=0;j}//****************************************************************************************//NRF24L01初始化 void init_NRF24L01(void) { delayms(1); CE=0; // chip enable CSN=1; // Spi disable SCK=0; // Spi clock line init high SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 写本地地址 SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); // 写接收端地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 频道0自动 ACK应答允许 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允许接收地址只有频道0 SPI_RW_Reg(WRITE_REG + RF_CH, 0); // 设置信道为2.4GHZ,收发必须一致 SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //设置接收数据长度,本次设置为32字节 SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); //设置发射速率为1MHZ,发射功率为最大值0dB }//***************************************************************************************************//函数:uint SPI_RW(uint uchar)//功能:NRF24L01的SPI写时序//***************************************************************************************************/ uchar SPI_RW(uchar byte) { 。

nrf24l01毕业论文

转载请注明出处众文网 » nrf24l01毕业论文

资讯

我国民营经济发展的主要问题及对策毕业论文

阅读(73)

本文主要为您介绍我国民营经济发展的主要问题及对策毕业论文,内容包括关于大力发展民营经济的毕业论文,求论文题目:我国民营企业发展存在的问题和对策也不知道好不好写,为什么研究我国民营经济发展问题。烟台地区民营经济的发展现状分析与对

资讯

九江学院商学院毕业论文

阅读(70)

本文主要为您介绍九江学院商学院毕业论文,内容包括九江学院的毕业论文怎么写,我是2016年九江学院函授毕业的,各项考试毕业论文都是优良以上,我是商学院的学生,论文要怎么写才出众。论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文

资讯

珍奥毕业论文

阅读(65)

本文主要为您介绍珍奥毕业论文,内容包括我要去大连珍奥集团干销售想征求一下大家的意见,我马上就要毕业,,毕业论文,急求毕业论文参考文献,不少于十个,年代是近五年左右的,题目是:。这公司还不错,以下是详细介绍: 大连珍奥集团股份有限公司成立

资讯

眼视光学毕业论文

阅读(69)

本文主要为您介绍眼视光学毕业论文,内容包括请问眼视光专业的毕业论文怎么写,眼视光毕业论文,谁可以指点一下眼视光考技师的论文改怎么写呢。视觉神经生理学教学方法的探讨 男子患2000度高度近视 结婚23年未看清妻子长相教育部公布专业设置

资讯

万科公司的会计报表分析毕业论文

阅读(60)

本文主要为您介绍万科公司的会计报表分析毕业论文,内容包括谁能发我个关于万科财务分析的论文哪急急急,写某一公司的财务报表分析的毕业论文应该怎样写从哪些方面着手,毕业论文财务报表分析怎么写。万科A公司偿债能力分析 万科A公司基本情

资讯

毕业论文任务书主要要求怎么写

阅读(70)

本文主要为您介绍毕业论文任务书主要要求怎么写,内容包括毕业论文任务书重的基本任务和要求怎么写,毕业论文任务书论文的主要内容怎么写,毕业论文任务书怎么写。你好毕业论文任务书怎么写 对大学毕业生来说,论文的写作相当重要,写好论文会给

资讯

微电影毕业设计论文

阅读(102)

本文主要为您介绍微电影毕业设计论文,内容包括毕业论文写微电影的研究求高手大虾推荐几本关于“微电影”的中外,能给我发一份关于微电影或者微电影营销/广告的毕业论文的写作概念或,微电影设计思路怎么写。《纪录电影的起源及演变》(拉法艾

资讯

社会工作毕业论文开题报告

阅读(65)

本文主要为您介绍社会工作毕业论文开题报告,内容包括跪求···本人今年在读研究生,社会工作专业,马上要开题报告了,,社会工作方面的论文,跪求~大学毕业论文《社会工作机构运行的现状,问题及对策研究》的。这个范围很宽啊,好多东西都可以写

资讯

会计学专科毕业论文范文

阅读(80)

本文主要为您介绍会计学专科毕业论文范文,内容包括会计毕业论文范文五篇,会计专业的毕业论文写什么好那个话题更好写,会计专业毕业论文范文。去百度文库,查看完整内容> 内容来自用户:阳荣辉 会计毕业论文范文五篇范文一【导语】:实习是每一个

资讯

德语毕业论文德国社会保险制度

阅读(97)

本文主要为您介绍德语毕业论文德国社会保险制度,内容包括德国社会保障制度的主要内容特点及评价,德语系学生毕业论文,德国医疗保险制度的概况。和德国社会保证制度以及本问题相关的论文如下: 德国社会保障制度的主要内容 德国社会保障制度

资讯

江门行政管理毕业论文题材

阅读(79)

本文主要为您介绍江门行政管理毕业论文题材,内容包括行政管理的毕业论文这么写谁能给我点题材谢谢,行政管理毕业论文提纲,行政管理学毕业论文什么题目好写点(只要题目和方向)。浅谈服务行政 摘要:政府的产生源于人民的公意达成和公意授权,这就

资讯

油气储运工程毕业论文

阅读(75)

本文主要为您介绍油气储运工程毕业论文,内容包括[毕业论文]急油气储运方面,[毕业论文]急油气储运方面,油气储运工程要做毕业设计了,文献除了中国知网还可以查哪个网,。论文题目:要求准确、简练、醒目、新颖。 2、目录:目录是论文中主要段落的

资讯

射频系统电路设计毕业论文

阅读(85)

本文主要为您介绍射频系统电路设计毕业论文,内容包括射频电路设计,RFID技术的原理要一篇论文在线等,手机射频方面的毕业设计。这个教材,确实难找,我的感觉是,先通过《微波技术基础》,了解传输线,s参数的概念,史密斯园图-主要是为了解一些电路匹配

资讯

南开大学毕业论文开题报告

阅读(73)

本文主要为您介绍南开大学毕业论文开题报告,内容包括正式的开题报告的格式及范文,开题报告格式,正式的开题报告的格式及范文。开题报告(文体形式) 课题名称: 姓 名: 年 级: 班 级: 成果形式: 完成时间: 指导老师: 研究的目的及其意义 二、研

资讯

我国民营经济发展的主要问题及对策毕业论文

阅读(73)

本文主要为您介绍我国民营经济发展的主要问题及对策毕业论文,内容包括关于大力发展民营经济的毕业论文,求论文题目:我国民营企业发展存在的问题和对策也不知道好不好写,为什么研究我国民营经济发展问题。烟台地区民营经济的发展现状分析与对

资讯

九江学院商学院毕业论文

阅读(70)

本文主要为您介绍九江学院商学院毕业论文,内容包括九江学院的毕业论文怎么写,我是2016年九江学院函授毕业的,各项考试毕业论文都是优良以上,我是商学院的学生,论文要怎么写才出众。论文题目:要求准确、简练、醒目、新颖。2、目录:目录是论文

资讯

珍奥毕业论文

阅读(65)

本文主要为您介绍珍奥毕业论文,内容包括我要去大连珍奥集团干销售想征求一下大家的意见,我马上就要毕业,,毕业论文,急求毕业论文参考文献,不少于十个,年代是近五年左右的,题目是:。这公司还不错,以下是详细介绍: 大连珍奥集团股份有限公司成立

资讯

眼视光学毕业论文

阅读(69)

本文主要为您介绍眼视光学毕业论文,内容包括请问眼视光专业的毕业论文怎么写,眼视光毕业论文,谁可以指点一下眼视光考技师的论文改怎么写呢。视觉神经生理学教学方法的探讨 男子患2000度高度近视 结婚23年未看清妻子长相教育部公布专业设置

资讯

万科公司的会计报表分析毕业论文

阅读(60)

本文主要为您介绍万科公司的会计报表分析毕业论文,内容包括谁能发我个关于万科财务分析的论文哪急急急,写某一公司的财务报表分析的毕业论文应该怎样写从哪些方面着手,毕业论文财务报表分析怎么写。万科A公司偿债能力分析 万科A公司基本情

资讯

毕业论文任务书主要要求怎么写

阅读(70)

本文主要为您介绍毕业论文任务书主要要求怎么写,内容包括毕业论文任务书重的基本任务和要求怎么写,毕业论文任务书论文的主要内容怎么写,毕业论文任务书怎么写。你好毕业论文任务书怎么写 对大学毕业生来说,论文的写作相当重要,写好论文会给

资讯

毕业论文网络检测与排除

阅读(79)

本文主要为您介绍毕业论文网络检测与排除,内容包括写以”网络故障诊断和排除”为题的论文,一般来说毕业论文检测分几次,毕业论文检测网上进行知网查重会被泄露吗。目前知网论文查重系统数据库中包含了互联网文献库,万方检测系统没有互联网文

资讯

上大自考毕业论文

阅读(84)

本文主要为您介绍上大自考毕业论文,内容包括自考大专用写毕业论文吗,山大自考毕业论文申请条件,山大自考毕业论文答辩难不难啊要怎么准备啊。去百度文库,查看完整内容> 内容来自用户:亦铭 自考本科论文写范文新一批自考准毕业生即将开始申报