设计与开发

单片机无线收发 单片机无线通信模块——NRF24L01

小编 2024-11-24 设计与开发 23 0

单片机无线通信模块——NRF24L01

这是一个NRF24L01模块,如图1,它是一款2.4GHz的无线收发一体模块,我们使用它来实现单片机之间的无线通信。这个模块的核心元器件就是中间的这颗NRF24L01芯片,这颗芯片是欧美品牌,而外围模块则是中国制造。

图1 NRF24L01模块

它有着迷你的外形尺寸,使用起来非常方便。板载蛇行天线最大传输距离为100米。支持一对六数据通信。这个模块通过八个直插引脚与外界进行连接,供电电压为1.9至3.6伏,其他数据引脚可以直接连接3.3V或5V单片机。空中传输速率有2M、1M和250KHz可选。它与主控芯片之间的通信方式为4线SPI通信,最高速率为10MHZ。

图2 NRF24L01的电性能

这是模块的PCB布线图,第1、2引脚为电源引脚。第3引脚为模块的低电平使能引脚。第4引脚用于控制模块的片选,用于开始一个SPI通信。第5、6、7、8为模块的SPI通信口,他们依次为SPI总线时钟、主器件输出从器件输入、主器件输入从器件输出和中断信号输出引脚。如图3.

图3 引脚功能描述

这是两颗单片机借助NRF24L01实现无线通信的接线原理图,他们的连接非常简单。这个模块会占用单片机的6个引脚,我们使用单片机的2个普通IO端口连接模块的片选和使能引脚,用单片机的SPI引脚或普通IO口模拟SPI总线连接模块的SPI引脚即可实现数据交换。如图4.

图4 接线原理图

单片机入门-C51语言用单片机串口实现双向数据收发的双机通信

单片机入门-C51语言用单片机串口实现双向数据收发的双机通信视频教程如下:

视频教程

一、单片机串行口简介

串行通信是指构成信息的二进制字符的各位数据一位一位顺序地传送的通信方式,串行通信又分为两种基本通信方式,即异步通信和同步通信。

AT89C51串行口,主要由发送器、接收器和串行控制寄存器组成。串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。代码段中SBUF = table[i] 都是CPU向SBUF写入数据,同时表示此时是发送状态, temp=SBUF 是CPU从SBUF读出数据存放在temp变量,同时表示此时是接收状态。也即0x99H这个重叠的地址靠读/写指令区分。

二、用单片机串口实现双工方式的双机通信硬件电路设计:

用单片机串口实现双工方式的双机通信,简单起见,这里两块单片机都具有收发功能,它们具有相同的电路,双机互相发送0~9,各自在数码管上循环显示。设计电路图如下:

双工通信

三、用单片机串口实现双工方式的双机通信软件设计:

软件编写的设计步骤如下:

1.设置通信速度(定时器TMOD/TH/TL/TR)

9600bit/s 11.0592MH

2.利用串口发送数据

(1)设置SCON

(2)发送数据放在SBUF

(3)查询TI,TI=1则清0,TI=0则等待

3.利用串行中断来接收数据:

(1)设置SCON,允许接收

(2)设置中断ES/EA

(3) 编写中断函数,完成设定的任务。

4.总体代码如下:

#include<reg51.H>

#define uchar unsigned char

#define uint unsigned int

uchar code buff[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay_1s(void)

{

uint i;

for(i=50000;i>0;i--);

}

void serial() interrupt 4 using 1

{

ES=0;

RI=0;

P0=SBUF; //用P0口驱动LED数码管

ES=1;

}

void main()

{

uchar i;

TMOD=0X20;//0X20=B(0010,0000),定时器1工作在方式2

TH1=0XFD;

TL1=0XFD;//设置初值为253,两机的波特率就是9600bit/s

SCON=0X50;//0x50=B(0101,0000),串口工作在方式1,允许接收

EA=1;//使能总中断

ES=1;//开启串行口中断

RI=0;

TR1=1;//启动定时器1

while(1)

{

for(i=0;i<10;i++)

{

SBUF=buff[i];//发送的内容送SBUF

while(!TI);//等待发送

TI=0;

delay_1s();

}

}

}

相关问答

利用 单片机 向wifi模块发送数据,电脑通过wifi网络段接收数据...

建议先用串口工具去测试wifi模块与手机或者电脑进行数据收发,设置好想用的参数,然后再将他接到单片机的串口上,因为串口转wifi模启动都是透传的,串口wifi模块TL...

单片机 上网, 单片机 如何连接到 无线 网络,并且能发送和接收数据?

某宝上WIFI模块很多,可以通过单片机串口发送AT指令实现网络通信,但是效率不高某宝上WIFI模块很多,可以通过单片机串口发送AT指令实现网络通信,但是效率不高

单片机 同时 收发 串口怎么解决?

一样的设置,,一样的东西,就是高级了一点,按普通设置就OK了一样的设置,,一样的东西,就是高级了一点,按普通设置就OK了

单片机 控制程序( 单片机 控制 无线收发 芯片NRF401)?

。。。一定要用汇编写吗,如果是C写的话我倒能给你讲,前段时间刚做完无线模块。。。一定要用汇编写吗,如果是C写的话我倒能给你讲,前段时间刚做完无线模块

无线单片机 的发展?

为了适应无线通信和无线网络节点的要求,实行较小的体积,极低的功耗,更低的价格,无线片上系统(SOC)近年来得到了快速发展,这种无线片上系统将微控制器,存储...

手机蓝牙与 单片机 的通信如何实现?

本篇回答,前半部分简单介绍一下,后半部分很详细!欢迎大家关注:电气电子视界手机蓝牙与单片机的通信实现方式如下。使用蓝牙转串口模块连接51单片机的RX和TX...

传感器与 单片机 无线 通信实现过程?

使用时直接先将设计的转接板与开发板相连,然后将接收模块的主机节点与两个发送模块的移动节点分别通过USB供电,实现组网功能。同时启动设计的上位机软件,并通...

stc 单片机 如何单线接收信号?

你好,STC单片机可以通过单线接收信号的方式来实现通信。具体步骤如下:1.准备一个IO口作为接收信号的引脚。可以选择任意一个IO口,但需注意引脚的电平兼容性...

51 单片机 肿么接收电脑发送的16位数据?-ZOL问答

51单片机是8位的,一次只能接一个字节,你这16位的,要分两次的。电脑串口也是按两次来发送,也就是把这个16位的拆成两个字节,所以每个字节发送都是遵循串口协议的...

ManBetX官网在线登录(官方)APP下载安装/网站网页通用版入口

要使用某一通讯方式,单片机和电脑必须具有相应的通讯接口,个人电脑一般有RS232、USB、以太网、蓝牙等通讯方式。假设使用RS232通讯,电脑自带有RS23...

猜你喜欢