找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4276|回復(fù): 1
收起左側(cè)

51單片機(jī)與STM32的nRF24L01無(wú)線溫度傳輸源碼

[復(fù)制鏈接]
ID:292119 發(fā)表于 2019-3-12 08:49 | 顯示全部樓層 |閱讀模式
51單片機(jī)做的一個(gè)很簡(jiǎn)單的DS1302數(shù)字時(shí)鐘+DS18B20溫度檢測(cè),加入了NRF24L01的無(wú)線模塊,將其數(shù)據(jù)發(fā)送到戰(zhàn)艦開(kāi)發(fā)板。

STM32這邊直接用的做無(wú)線實(shí)驗(yàn)時(shí)調(diào)好的代碼

51這邊溫度是1秒鐘一采集,無(wú)線發(fā)送也是定時(shí)一秒鐘,1602和TFT顯示可以實(shí)現(xiàn)同步。

1891fa2b3e3650d34d1edeb8dc532d79_926.jpg 9f43f8b0af7337e8d9ee2cf81ba3c4db_636.jpg 98dac799099823bd0b9344ca90d313c1_627.jpg

單片機(jī)源程序如下:
  1. #include"delay.h"
  2. #include"sys.h"
  3. #include"usart.h"
  4. #include"wkup.h"
  5. #include"led.h"
  6. #include"key.h"
  7. #include"lcd.h"
  8. #include"spi.h"
  9. //#include"adc.h"
  10. //#include"dma.h"
  11. #include"wkup.h"
  12. #include"nrf24l01.h"

  13. const u8 Send_Buff[]="I have received the massege!";
  14. #define SIZE sizeof(Send_Buff)

  15. u8 Receive_Buff[32];
  16.   
  17. int main(void)
  18. {        
  19.   delay_init();
  20.   uart_init(9600);
  21.   LCD_Init();
  22.   LED_Init();
  23.   KEY_Init();
  24.   WKUP_Init();
  25.   NRF24L01_Init();
  26. //  ADC1_Init();
  27. //  DMA1_Init();
  28.   LCD_Clear(BLACK);
  29.   POINT_COLOR=WHITE;
  30.   BACK_COLOR=BLACK;
  31.           LCD_ShowString(60,50,200,16,16,"WarShip STM32");        
  32.         LCD_ShowString(60,70,200,16,16,"NRF24L01 TEST");        
  33.         LCD_ShowString(60,100,200,16,16,"2013/12/15");
  34.         while(NRF24L01_Check())        //檢查NRF24L01是否在位.        
  35.         {
  36.                 LCD_ShowString(60,130,200,16,16,"NRF24L01 Check Error!");
  37.                 delay_ms(200);
  38.                 LED0=~LED0;
  39.                  delay_ms(200);
  40.         }
  41.         LCD_Clear(WHITE);
  42.           POINT_COLOR=RED;
  43.         BACK_COLOR=WHITE;
  44.         LCD_ShowString(60,50,200,16,16,"WarShip STM32");        
  45.         LCD_ShowString(60,70,200,16,16,"NRF24L01 TEST");        
  46.         LCD_ShowString(60,100,200,16,16,"2013/12/17");                                                                  
  47.         LCD_ShowString(60,130,200,16,16,"NRF24L01 OK");
  48.         LCD_ShowString(60,150,200,16,16,"KEY0:Send ");
  49.         LCD_ShowString(60,170,200,16,16,"KEY2:Receive");
  50.         LCD_ShowString(60,200,200,16,16,"STATUS:");
  51. //        ADC_SoftwareStartConvCmd(ADC1,ENABLE); //軟件啟動(dòng)ADC
  52. //        ADC_DMACmd(ADC1,ENABLE);//開(kāi)始ADC_DMA傳輸
  53.          
  54.         while(1)
  55.         {
  56.           u8 keyval,sta,t,mode=0;
  57.           keyval=KEY_Scan(0);
  58.           if(keyval==1)
  59.           {
  60.                   mode=1;//發(fā)送模式
  61.           }
  62.           else if(keyval==3)
  63.           {
  64.                   mode=0;//接收模式
  65.           }

  66.           if(mode)
  67.           {
  68.            TX_Mode();
  69.            LED1=0;  
  70.            sta=RF_TX_Pack((u8*)Send_Buff);
  71.            LCD_ShowxNum(116,200,sta,3,16,0);
  72.            if(sta&TX_OK)
  73.            LCD_ShowString(60,230,200,16,16,(u8*)Send_Buff);

  74.           }
  75.            else
  76.           {
  77.                   RX_Mode();
  78.                 LED1=1;
  79.                 sta=RF_RX_Pack((u8*)Receive_Buff);
  80.             LCD_ShowxNum(116,200,sta,3,16,0);
  81.                 if(sta&RX_OK)
  82.             LCD_ShowString(60,230,200,16,16,(u8*)Receive_Buff);
  83.           }                 
  84.           delay_ms(10);
  85.           t++;
  86.           if(t==50)
  87.           {
  88.           LED0=~LED0;
  89.           t=0;
  90.           }        
  91.         }               
  92. }               
復(fù)制代碼
轉(zhuǎn)載于www點(diǎn)openedv點(diǎn)com/posts/list/26309.htm

所有資料51hei提供下載:
STM32無(wú)線溫度接收.7z (203.85 KB, 下載次數(shù): 41)
無(wú)線溫度采集.zip (63.61 KB, 下載次數(shù): 33)
NRF24L01+寄存器及指令集.doc (54.5 KB, 下載次數(shù): 21)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:601346 發(fā)表于 2019-12-21 21:02 | 顯示全部樓層
謝謝分享  搞了好幾天了 沒(méi)有i成功
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表