久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)設(shè)計,基于單片機(jī)的NRF24L01 2.4G無線通信系統(tǒng),附有源碼程序

[復(fù)制鏈接]
ID:600744 發(fā)表于 2021-7-14 17:19 | 顯示全部樓層 |閱讀模式
1、完成硬件電路的設(shè)計,其中包括單片機(jī)和NRF24L01芯片模塊的設(shè)計;
2、完成無線通信模塊的程序設(shè)計與實(shí)現(xiàn)進(jìn)行分析和總結(jié);

電路原理圖如下:
圖片1.png

單片機(jī)源程序如下:
  1. /**************************************************************************************
  2. *                              LCD1602液晶顯示實(shí)驗(yàn)                                                                                                  *
  3. 實(shí)現(xiàn)現(xiàn)象:        具體接線操作請參考視頻教程
  4.                         下載程序后插上LCD1602液晶在開發(fā)板上,即可顯示
  5. 注意事項(xiàng):                                                                                                                                                                  
  6. ***************************************************************************************/

  7. #include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器
  8. #include "lcd.h"


  9. typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
  10. typedef unsigned char u8;


  11. sbit        KEY1=P2^3;
  12. sbit        KEY2=P2^2;


  13. void Delay(unsigned int s);
  14. void inerDelay_us(unsigned char n);
  15. void init_NRF24L01(void);
  16. u16 SPI_RW(u16 u8);
  17. u8 SPI_Read(u8 reg);
  18. void SetRX_Mode(void);
  19. void SetTX_Mode(void);
  20. u16 SPI_RW_Reg(u8 reg, u8 value);
  21. u16 SPI_Read_Buf(u8 reg, u8 *pBuf, u8 uchars);
  22. u16 SPI_Write_Buf(u8 reg, u8 *pBuf, u8 uchars);
  23. unsigned char nRF24L01_RxPacket(unsigned char* rx_buf);
  24. void nRF24L01_TxPacket(unsigned char * tx_buf);

  25.        
  26.         u8 TxBuf[20]={0};         
  27.        
  28.         u8 flag;
  29.         u8 data_count;
  30.         u8 word_length;
  31.        
  32. void UsartInit()
  33. {
  34.         SCON=0X50;                        //設(shè)置為工作方式1
  35.         TMOD=0X20;                        //設(shè)置計數(shù)器工作方式2
  36.         PCON=0X80;                        //波特率加倍
  37.         TH1=0XF3;                                //計數(shù)器初始值設(shè)置,注意波特率是4800的
  38.         TL1=0XF3;
  39.         ES=1;                                                //打開接收中斷
  40.         EA=1;                                                //打開總中斷
  41.         TR1=1;                                        //打開計數(shù)器
  42. }

  43. /*******************************************************************************
  44. * 函 數(shù) 名         : main
  45. * 函數(shù)功能                   : 主函數(shù)
  46. * 輸    入         : 無
  47. * 輸    出         : 無
  48. *******************************************************************************/
  49. void main(void)
  50. {
  51.         u8 i;
  52.   u8 RxBuf[20]={0};

  53.   init_NRF24L01() ;
  54.         Init_LCD1602();
  55.         UsartInit();       
  56.        
  57.         while(1)
  58.         {
  59.            if(KEY1 == 0 )
  60.                   {               
  61.                         SetTX_Mode();       
  62.                         for(i=word_length;i<20;i++)
  63.                                 {
  64.                                          TxBuf[i]=0x20;
  65.                                 }
  66.                         LCD1602_Dis_Str(0, 0, &TxBuf[0]);        //顯示字符串
  67.                        
  68.                         nRF24L01_TxPacket(TxBuf);        // Transmit Tx buffer data
  69.                         }
  70. //***********************************************************************************************
  71.                                 SetRX_Mode();
  72.                                 nRF24L01_RxPacket(RxBuf);
  73.                                 LCD1602_Dis_Str(0, 1, &RxBuf[0]);        //顯示字符串
  74.                                 Delay(1000);
  75.        
  76.                         if(KEY2 == 0)
  77.                         {
  78.                                         LCD1602_Write_Cmd(0x01); //清除顯示
  79.                         }
  80.         }
  81. }               

  82. void UART_Receive() interrupt 4{
  83. u8 temp,j;
  84.                 if(RI ==1 )

  85. {                RI=0;
  86.        
  87. //                LCD1602_Write_Cmd(0x01); //清除顯示
  88.        
  89.                 temp=SBUF;
  90.                 if(temp!='.')
  91.                 {
  92.                         TxBuf[data_count]=temp;//
  93.                         data_count++;
  94.                 }
  95.                 else{
  96.                         word_length=data_count;
  97.                         data_count=0;
  98.                 }
  99.                
  100.         }       
  101. }
復(fù)制代碼

所有程序51hei提供下載:
程序.zip (57.68 KB, 下載次數(shù): 45)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91国产精品 | 久久久久亚洲精品 | 国产资源在线视频 | 欧美一区二区三区在线观看 | 黄色一级电影免费观看 | 一区二区三区四区在线视频 | 欧美久久久久久久 | 久久99蜜桃综合影院免费观看 | www.4hu影院| 久久九九99 | 国产成人免费视频网站视频社区 | 国产亚洲欧美另类一区二区三区 | 乱一性一乱一交一视频a∨ 色爱av | 一级做a| 亚洲视频在线观看 | 亚洲精品2 | 久久精品国产一区二区电影 | 国产精品乱码一区二区三区 | 草樱av| 午夜视频在线免费观看 | 精品国产青草久久久久福利 | 久久婷婷国产麻豆91 | 国产精品区二区三区日本 | 日韩一区二区在线观看 | 午夜精品一区二区三区在线视频 | 欧美一级久久 | 久久一级大片 | 午夜精品久久久久久不卡欧美一级 | 精品国产一区二区三区性色 | 亚洲精品99| 精品免费国产一区二区三区四区 | 天天综合天天 | 久久久久久黄 | 91欧美精品成人综合在线观看 | 精品国产18久久久久久二百 | 一级毛片大全免费播放 | 中文字幕三区 | 日本精品久久久久久久 | 精品亚洲一区二区三区四区五区高 | 国产日韩久久久久69影院 | 久久尤物免费一区二区三区 |