欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STC89C52RC單片機的NRF24L01無線通信程序,收發一體,由串口調試助手發送信息OLED屏幕
[打印本頁]
作者:
花開再會
時間:
2019-7-24 10:07
標題:
STC89C52RC單片機的NRF24L01無線通信程序,收發一體,由串口調試助手發送信息OLED屏幕
本設計由兩塊STC89C52RC單片機組成,通過NRF24L01實現最廉價的無線通信。
每塊單片機都是集收發于一體,先初始化會在OLED上顯示是否初始化成功,
然后通過按鍵可選擇收發模式,并在OLED屏幕上顯示出來
最后選擇串口調試助手,打開串口給單片機發送信息,單片機接收到后再通過NRF24L01向另一塊單片機發送
接收成功后會將接收到的信息顯示在OLED上。
OLED顯示屏較1602液晶顯示屏清楚,可現實的內容豐富,可以建立自己的字庫
并且占用的引腳較少
單片機源程序如下:
#include "reg52.h"
#include "oled.h"
#include "bmp.h"
#include "nrf24l01.h"
#include "delay.h"
#include "uart.h"
#include "key.h"
sbit LED0=P0^7;
u8 *content;
u8 *content1;
u8 UART_BUFFER[64]={0};
//u8 UART_BUFFER1[64];
u8 RF24L01RxBuffer[64]={0};
void main(void)
{
u32 num=0;
u8 i,flag1=1,flag2=1;
drv_spi_init( ); //SPI初始化
drv_uart_init();
NRF24L01_Gpio_Init( ); //RF24L01引腳初始化
OLED_Init(); //初始化OLED
OLED_Clear();
NRF24L01_check( ); //檢測nRF24L01
RF24L01_Init( );
OLED_ShowString(0,0,"Init success");
while(flag1)
{
if(KEY1==0)
{
delay_ms(5);
if(KEY1==0)
{
RF24L01_Set_Mode( MODE_TX );
flag1 = 0;
flag2 = 0;
OLED_ShowString(12*9+1,0,"TX");
// OLED_ShowString(0,3,UART_BUFFER);
}
}
if(KEY2==0)
{
delay_ms(5);
if(KEY2==0)
{
RF24L01_Set_Mode( MODE_RX );
OLED_ShowString(12*9+1,0,"RX");
flag1 = 0;
flag2=1;
}
}
}
if(flag2==1)
{
OLED_ShowString(0,2,"receive message:");
while(1)
{
RF24L01_Set_Mode( MODE_RX );
if(NRF24L01_RxPacket( RF24L01RxBuffer ))
{
OLED_ShowString(0,4,RF24L01RxBuffer);
LED0=~LED0;
delay_ms(500);
LED0 = ~LED0;
}
}
}
if(flag2==0)
{
/*while(1)
{
if(KEY3==0)
{
num = drv_uart_rx_bytes();
if(num)
{
content = UART_BUFFER;
for(i=0;i<=num;i++)
{
*(content+i) = UART_BUFFER[i];
}
NRF24L01_TxPacket(content, num ); //模式1發送固定字符,1S一包
LED0 = ~LED0;
delay_ms(500);
LED0 = ~LED0;
}
}
}*/
while(1)
{
num = drv_uart_rx_bytes();
if(num)
{
content = UART_BUFFER;
// content1 = UART_BUFFER;
// OLED_ShowString(0,4,content1);
for(i=0;i<num;i++)
{
*(content+i) = UART_BUFFER[i];
}
// *(content+i+1)='\0';
NRF24L01_TxPacket(content, num ); //模式1發送固定字符,1S一包
// for(i=0;i<64;i++)
// {
// UART_BUFFER1[i]=UART_BUFFER[i];
// }
LED0 = ~LED0;
delay_ms(500);
LED0 = ~LED0;
}
// OLED_Clear();
// OLED_ShowString(0,3,"wlma;cm");
// OLED_ShowString(0,3,content);
}
}
}
復制代碼
所有程序51hei提供下載:
NRF24L01TX-RX.zip
(115.53 KB, 下載次數: 138)
2019-7-24 10:07 上傳
點擊文件名下載附件
收發一體源程序
下載積分: 黑幣 -5
作者:
雷文浩
時間:
2019-7-25 16:02
沒原理圖頂不住啊
作者:
花開再會
時間:
2019-7-28 22:36
雷文浩 發表于 2019-7-25 16:02
沒原理圖頂不住啊
普通最小系統就可以用啊,又不需要接什么外設,IO口配置都有寫的
作者:
小晴a
時間:
2020-11-3 18:28
為什么全是程序呢,哪個是實現這個無線通信的程序呢
作者:
Corrys
時間:
2020-12-1 21:01
小晴a 發表于 2020-11-3 18:28
為什么全是程序呢,哪個是實現這個無線通信的程序呢
知道了嘛?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1