欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 基于nRF24L01的2.4G遙控車51單片機源程序 [打印本頁]

作者: oakbcy    時間: 2017-9-27 19:09
標題: 基于nRF24L01的2.4G遙控車51單片機源程序
基于nRF24L01的遙控小車,包含源代碼,基本框架包括小車上下左右,小車利用左右輪組差速進行轉彎,完成各種路線行駛,適合電子愛好者新手練手的小車平臺,可從源工程拓展小車功能。


單片機源程序如下:

  1. #include "nRF24L01.h"
  2.        
  3. uchar TX_ADDRESS[TX_ADR_WIDTH]={0xAB,0xAA,0xAA,0xAA,0xAA}; //發(fā)送地址
  4. uchar RX_ADDRESS[RX_ADR_WIDTH]={0xAB,0xAA,0xAA,0xAA,0xAA}; //接收地址

  5. uchar   rate = 0x0F;    //2Mbs, 0dB  低噪聲增益開啟


  6. sbit    LED1      =P1^1;                                //          前進的按鍵接口  根據(jù)自己焊接決定
  7. //sbit    LED2      =P2^1;                               
  8. //sbit        LED3          =P2^2;                               
  9. //sbit        LED4          =P2^3;
  10. //sbit        LED5          =P2^4;                                                          
  11. sbit L1=P2^6;
  12. sbit L2=P2^7;
  13. sbit R1=P2^4;
  14. sbit R2=P2^5;
  15. //sbit fire=P2^7;       
  16. uchar rece_buf[32];                                                        //接收寄存器
  17.                                                         //a0=37:最大角度,脈寬1.899ms

  18. void delay(uint t)
  19. {
  20.         uint a,b;
  21.         for(a=0;a<t;a++)
  22.                 for (b=0;b<255;b++);
  23. }

  24. void main()
  25. {        int i;
  26.         uchar n=0,m=0;
  27.         LED1=1;
  28. //        LED2=1;
  29. //        P2=0xff;
  30. //delay(1000) ;
  31. //    fire=0;
  32.         while(NRF24L01_Check());                    //等待檢測到NRF24L01,程序才會向下執(zhí)行
  33.         NRF24L01_RT_Init(TX_PLOAD_WIDTH,TX_ADDRESS,TX_ADR_WIDTH,RX_ADDRESS,RX_ADR_WIDTH,rate);                       

  34.         for(i=0;i<12;i++)
  35.                 {
  36.                         delay(100);       
  37.                         LED1=~LED1;
  38.                 }
  39.         LED1=1;
  40. //        fire=1;
  41.                                

  42.         while(1)
  43.         {
  44. //        **************************************


  45. //**************************************************
  46.                 if(NRF_IRQ==0)                 // 如果無線模塊接收到數(shù)據(jù)
  47.                 {               
  48.                        
  49.                         if(NRF24L01_RxPacket(rece_buf)==0)
  50.                         {       
  51.                                 if(rece_buf[1]==0xaa)                           //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
  52.                                 {
  53.                                         LED1=0;
  54. //                                        LED2=1;
  55. //                                        LED3=0;
  56. //                                        LED4=1;
  57. //                                        LED5=0;
  58.                                         L1        =1;
  59.                                         L2        =0;
  60.                                         R1        =1;
  61.                                         R2        =0;
  62.                                 }
  63.                                 else if(rece_buf[1]==0xab)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
  64.                                 {
  65.                                         LED1=0;
  66. //                                        LED2=0;
  67. //                                        LED3=1;
  68. //                                        LED4=0;
  69. //                                        LED5=1;
  70.                                         L1        =0;
  71.                                         L2        =1;
  72.                                         R1        =0;
  73.                                         R2        =1;
  74.                                 }
  75.                                 else if(rece_buf[1]==0xac)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
  76.                                 {
  77.                                         LED1=0;
  78. //                                        LED2=1;
  79. //                                        LED3=0;
  80. //                                        LED4=0;
  81. //                                        LED5=1;
  82.                                         L1        =1;
  83.                                         L2        =0;
  84.                                         R1        =0;
  85.                                         R2        =1;
  86.                                 }       
  87.                                 else if(rece_buf[1]==0xad)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
  88.                                 {
  89.                                         LED1=0;
  90. //                                        LED2=0;
  91. //                                        LED3=1;
  92. //                                        LED4=1;
  93. //                                        LED5=0;
  94. //                                        L1        =0;
  95.                                         L2        =1;
  96.                                         R1        =1;
  97.                                         R2        =0;
  98.                                 }
  99.                                
  100.                                 else if(rece_buf[1]==0xae)                           //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
  101.                                 {
  102.                                         LED1=0;
  103.                                        
  104. //                                        LED2=0;
  105.                                 }
  106.                                 else if(rece_buf[1]==0xaf)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
  107.                                 {
  108.                                         LED1=0;
  109. //                                        fire=0;
  110. //                                        LED2=0;
  111.                                 }
  112.                                 else
  113.                                 {
  114.                                         LED1=0;
  115. //                                        LED2=1;
  116. //                                        LED3=1;
  117. //                                        LED4=1;
  118. //                                        LED5=1;
  119.                                         L1        =0;
  120.                                         L2        =0;
  121.                                         R1        =0;
  122.                                         R2        =0;
  123. //                                        fire=1;
  124.                                 }
  125.                                 delay(20);
  126.                         }
  127.                 }
  128.                 else        
  129.                 {
  130. ……………………

  131. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
51版遙控小車.zip (140.68 KB, 下載次數(shù): 162)



作者: 騰飛的龍    時間: 2017-11-5 13:37
樓主:是用按鍵控制的嗎?
作者: STC2    時間: 2022-11-18 19:36
電路圖有嗎,俺不懂
作者: sheng1921    時間: 2023-1-3 23:02
請問這個是適用天線版本的嗎?

作者: fosu頑童    時間: 2024-3-25 16:25
判斷/檢查數(shù)組里面的多個元素是否等于目標值和只檢查數(shù)組的一個元素,這兩種方法的效果會一樣嗎?




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1