[51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
main.c
1 #include<reg51.h> 2 #include"2401.h" 3 4 #define uint unsigned int 5 #define uchar unsigned char 6 7 sbit KEY8=P3^7; //发送按键 8 sbit beep=P2^3;//喇叭 9 sbit LED6=P1^6; ////接收到数据后的功能实现灯 10 11 void delay_ms(uint z) //延时函数 12 { 13 uint x,y; 14 for(x=z;x>0;x--) 15 for(y=110;y>0;y--); 16 } 17 void delayms(unsigned int x) 18 { 19 unsigned int i; 20 while(x--) 21 for(i=125;i>0;i--); 22 } 23 void main() 24 { 25 uchar Tx_Buf1[]={1};//发送的信息1 26 uchar Rx_Buf[32]; //接收到的数据暂存器,最多32字节数据 27 init_NRF24L01(); 28 LED6=1;//初始灯6熄灭 29 30 31 while(NRF24L01_Check()) //检查不到24l01则报警 32 { 33 beep=0; 34 delayms(200); 35 beep=1; 36 delayms(200); 37 } 38 while(1) 39 { 40 RX_Mode();//接收模式 41 while(!nRF24L01_RxPacket(Rx_Buf)) //等待接收数据 ,返回1则接收到数据 ,在等待接收数据期间,可以随时变成发送模式 42 { 43 if(KEY8==0) //按了按键8 则变成发送模式,发送对应数据,发送完后变成接收模式 44 { 45 delay_ms(5);//消抖动 46 if(KEY8==0) 47 { 48 while(!KEY8); 49 TX_Mode(); //发送模式 50 nRF24L01_TxPacket(Tx_Buf1); // 发送命令数据 51 LED6=0; 52 delay_ms(300); 53 LED6=1; 54 delay_ms(300); //发送后LED6闪一下 55 break; //退出最近的循环,从而变回接收模式,这句关键 56 } 57 58 } 59 } 60 if(Rx_Buf[0]==1) //若接收到对应的数据则实现对应功能 61 { 62 Rx_Buf[0]=0;//清空数据 63 LED6=0; 64 delay_ms(300); 65 LED6=1; 66 delay_ms(300);//接收到数据 后闪烁 67 } 68 } 69 }
[51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]相关推荐
- 基于Arduino单片机的nRF24L01+无线遥控装置设计(爆肝制作)
目录 前言 一.总体思路 二.硬件介绍 (一)主机 (二)从机 三.电路设计 (一)主机 (二)从机 四.程序代码 (一)主机 (二)从机 五.总结及改进 六.所用到的文献链接 前言 此文章只涉及单片 ...
- 12、基于51单片机多机 NRF24L01 无线温湿度 DHT11报警设计
毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序源码 七.资料包括 摘要 温度湿度在工农业生产中占有很重要的地位,是 ...
- nrf24l01无线通信模块与51单片机工作原理
资源获取码:aaaa . 实物测试成功 . . 功能描述: 1 本无线用了NRF24l01作为无线模块,进行发射与接收. 2 当左边板的一个按键按下不放,右边板一盏灯点亮. 3 当左边板的一个按键松开 ...
- 111、基于51单片机的电磁感应无线充电系统 手机无线充电器设计(程序+原理图+Proteus仿真+程序流程图+论文参考资料等)
方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度.非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通 ...
- STM32CubeMX系列08——SPI通信(W25Q64、NRF24L01无线模块)
文章目录 1. 准备工作 1.1. 所用硬件 1.2. SPI 简介 1.3. 生成工程 1.3.1. 创建工程选择主控 1.3.2. 系统配置 1.3.3. 配置工程目录 2. 读写EEPROM实验 ...
- 51单片机——SPI
单片机--SPI总线 宗旨:技术的学习是有限的,分享的精神是无限的. UART. I2C 和 SPI 是单片机系统中最常用的三种通信协议. 1.初步介绍 SPI 是一种高速的.全双工.同步通信总线,标 ...
- SPI存储器c语言51程序,AVR单片机SPI通讯实例程序 (C语言源代码)
AVR单片机SPI通讯实例程序 (C语言源代码) 来源:-- 作者:-- 浏览:213 时间:2016-08-10 14:18 标签: 摘要: AVR单片机SPI通讯实例程序 (C语言源代码) 一个S ...
- 外设驱动库开发笔记26:nRF24L01无线通讯驱动
现在无线在我们的生活中无处不在.而我们开发的物联网产品也大量使用无线通讯.在这一篇文章中,我们将讨论nRF24L01无线通讯模块驱动程序的开发与实现. 1.功能概述 nRF24L01是一款工作在2.4 ...
- STM32控制NRF24L01无线模块进行通信
一.NRF2401无线模块 1.模块介绍 功能介绍 (1)2.4Ghz 全球开放ISM 频段免许可证使 2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合 (3)126 ...
最新文章
- 什么是SAP FR?
- python 统计文件top IP
- 硬核!手写一个优先队列
- 如何查看一个现有的keil工程之前由什么版本的keil IDE编译
- linux卸载es,Ubuntu卸载elasticsearch
- JS 与Flex交互:html中的js 与flex中的actionScript通信
- 如何在验证集加噪声_如何使用Python构建机器学习模型
- HDU 3480 Division(斜率DP裸题)
- oracle 字段带数字,Oracle字符串中包含数字、特殊符号的排序
- 谷歌800多款开源字体
- 底层驱动 【One Day】gec6818开发板刷屏+secureCRT+tftpd32.334安装教程+SD启动卡教程
- html让方块往下移动,CSS3 方块上下交换和旋转动画
- Dreamweaver CS6安装教程
- python最小二乘法线性回归_python 分别用梯度下降法和最小二乘法求线性回归 | 学步园...
- python基础之布尔运算
- 误传了数千年的几个名句
- iPhone装Android版,在iPhone里装了真·Android系统 这事情已经很神奇了
- NRF51822裸机TIMER学习笔记
- 数据增强系列(2)如何使用Augly库进行数据增强
- 读取太阳紫外辐照谱数据
热门文章
- UIWebView捕获内部web点击事件
- Boost高性能网络编程
- 安装/卸载.deb文件
- (转载)tomcat5下jsp出现getOutputStream() has already been called for this
- 【截至2006.12.31】毒霸反间谍可清除的部分流氓软件清单
- 【cl】本地安装maven的jar包报错Artifact is already in the local repository
- java字符串的替换replace、replaceAll、replaceFirst的区别详解
- VS实用的几个快捷键
- 直接从Windows7RC版升级安装RTM版本的小窍门
- IDEA常用提升开发效率的插件及快捷键(持续更新)