• 大小: 68KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: nRF24L01  

资源简介

nRF24L01--2.4G无线通信模块(1)(51单片机和51单片机通信)博客所用的完整代码压缩包 博客地址:https://blog.csdn.net/Kevin_8_Lee/article/details/95667604

资源截图

代码片段和文件信息

/******************************************************************************************************
 *【文件名称】   : main.c
 *【文件描述】   : nRF24L01 2.4G无线通信模块发射端代码
 *【文件功能】   : 51单片机 2.4G模块代码发射端功能
 *【版权声明】   : 版权所有(C)李光辉。保留所有权利
     Copyright (C) Kevin_Lee.All Rights Reserved
 *【主控芯片】   : STC89C52
 *【实验平台】   : 51单片机开发板
 *【编写环境】   : Keil V3
 *【编写时间】   : 2019-07-12
 *【作    者】   : 李剀(KevinLee)
 *【历史记录】   :  


PS:该注释禁止删除
*******************************************************************************************************/



#include “reg52.h“
#include “string.h“

// 宏定义
#define     uchar       unsigned char 
#define     uint        unsigned int 

#define     TX_ADR_WIDTH    5  // 5字节宽度的发送/接收地址
#define     TX_PLOAD_WIDTH  4  // 数据通道有效数据宽度

// LED灯及按键位定义
sbit LED = P1^0;
sbit KEY1 = P3^0;
sbit KEY2 = P3^1;

uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0x340x430x100x100x01};  // 定义一个静态发送地址

uchar RX_BUF[TX_PLOAD_WIDTH];
uchar TX_BUF[TX_PLOAD_WIDTH];
uchar flag;
uchar DATA = 0x01;
uchar bdata sta;
sbit  RX_DR     = sta^6;
sbit  TX_DS     = sta^5;
sbit  MAX_RT    = sta^4;

// NRF24L01 模块引脚位定义
sbit CE  =  P1^2;
sbit CSN =  P1^3;
sbit SCK =  P1^7;
sbit MOSI= P1^5;
sbit MISO= P1^6;
sbit IRQ = P1^4;



/********************** 下面的指令设置 和 寄存器地址设置     ***********************
 * ******************* 参考深圳市云佳科技有限公司给的PDF文档 ***********************
 * *******************           NRF24L01模块说明书        ***********************
 */
/*  
    SPI(nRF24L01) 指令设置
    指令格式
    <命令字  : 由高位到低位(每字节)>
    <数据字节: 低字节到高字节,每一字节高位在前>
 */
#define READ_REG    0x00  // Define read command to register
#define WRITE_REG   0x20  // Define write command to register
#define RD_RX_PLOAD 0x61  // Define RX payload register address
#define WR_TX_PLOAD 0xA0  // Define TX payload register address
#define FLUSH_TX    0xE1  // 清除 TX FIFO寄存器  应用于发射模式下
#define FLUSH_RX    0xE2  // 清除 RX FIFO寄存器  应用于接收模式下。
#define REUSE_TX_PL 0xE3  // 重新使用上一包有效数据。 当CE=1,数据包被不断重新发射 发射过程中必须禁止数据包重利用功能
#define NOP         0xFF  // 空操作。可以用来读状态寄存器

/*  
    SPI(nRF24L01) registers(addresses)
    一下寄存器都是默认只使用 数据通道0 不开启其他通道
 */
#define CONFIG      0x00  // ‘Config‘ register address
#define EN_AA       0x01  // ‘Enable Auto Acknowledgment‘ register address
#define EN_RXADDR   0x02  // ‘Enabled RX addresses‘ register address
#define SETUP_AW    0x03  // ‘Setup address width‘ register address
#define SETUP_RETR  0x04  // ‘Setup Auto. Retrans‘ register address
#define RF_CH       0x05  // ‘RF channel‘ register address
#define RF_SETUP    0x06  // ‘RF setup‘ register address
#define STATUS      0x07  // ‘Status‘ register address
#define OBSERVE_TX  0x08  // ‘Observe TX‘ register address
#define CD          0x09  // ‘Carrier Detect‘ register address
#define RX_ADDR_P0  0x0A  // ‘RX address pipe0‘ register address
#define RX_ADDR_P1  0x0B  // ‘RX address pipe1‘ register address
#define RX_ADDR_P2  0x0C  // ‘RX address pipe2‘ register address

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-07-12 22:38  2.4G无线通信模块\
     目录           0  2019-06-14 09:06  2.4G无线通信模块\2.4G无线通信\
     目录           0  2019-06-14 09:06  2.4G无线通信模块\2.4G无线通信(接收端)\
     文件       14765  2019-06-12 21:24  2.4G无线通信模块\2.4G无线通信(接收端)\2.4GReceiver
     文件         187  2019-06-13 21:14  2.4G无线通信模块\2.4G无线通信(接收端)\2.4GReceiver.plg
     文件       55208  2019-06-13 21:16  2.4G无线通信模块\2.4G无线通信(接收端)\2.4GReceiver.uvopt
     文件       13234  2019-06-12 12:45  2.4G无线通信模块\2.4G无线通信(接收端)\2.4GReceiver.uvproj
     文件       55212  2019-06-13 21:09  2.4G无线通信模块\2.4G无线通信(接收端)\2.4GReceiver_uvopt.bak
     文件           0  2019-06-12 11:30  2.4G无线通信模块\2.4G无线通信(接收端)\2.4GReceiver_uvproj.bak
     文件        2236  2019-06-12 21:24  2.4G无线通信模块\2.4G无线通信(接收端)\2.hex
     文件          48  2019-06-12 21:24  2.4G无线通信模块\2.4G无线通信(接收端)\2.lnp
     文件       15226  2019-06-12 21:24  2.4G无线通信模块\2.4G无线通信(接收端)\2.M51
     文件       14066  2019-07-12 22:37  2.4G无线通信模块\2.4G无线通信(接收端)\main.c
     文件       20225  2019-06-12 21:24  2.4G无线通信模块\2.4G无线通信(接收端)\main.LST
     文件       16455  2019-06-12 21:24  2.4G无线通信模块\2.4G无线通信(接收端)\main.OBJ
     文件       12684  2019-07-12 22:35  2.4G无线通信模块\2.4G无线通信\main.c
     文件       18591  2019-06-12 21:26  2.4G无线通信模块\2.4G无线通信\main.LST
     文件       16204  2019-06-12 21:26  2.4G无线通信模块\2.4G无线通信\main.OBJ
     文件       14488  2019-06-12 21:26  2.4G无线通信模块\2.4G无线通信\NRF24L01
     文件        2261  2019-06-12 21:26  2.4G无线通信模块\2.4G无线通信\NRF24L01.hex
     文件          44  2019-06-12 21:26  2.4G无线通信模块\2.4G无线通信\NRF24L01.lnp
     文件       15507  2019-06-12 21:26  2.4G无线通信模块\2.4G无线通信\NRF24L01.M51
     文件         175  2019-06-13 21:09  2.4G无线通信模块\2.4G无线通信\NRF24L01.plg
     文件       55281  2019-06-13 21:14  2.4G无线通信模块\2.4G无线通信\NRF24L01.uvopt
     文件       13230  2019-06-12 10:08  2.4G无线通信模块\2.4G无线通信\NRF24L01.uvproj
     文件       55279  2019-06-13 21:07  2.4G无线通信模块\2.4G无线通信\NRF24L01_uvopt.bak
     文件           0  2019-06-11 22:13  2.4G无线通信模块\2.4G无线通信\NRF24L01_uvproj.bak

评论

共有 条评论