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

QQ登錄

只需一步,快速開始

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

iap15w4k58s4單片機(jī)NRF24L01搖桿遙控器源碼

[復(fù)制鏈接]
ID:228755 發(fā)表于 2018-6-29 16:14 | 顯示全部樓層 |閱讀模式
iap15w4k58s4,搖桿采集,AD采集,通過NRF24L01發(fā)送數(shù)據(jù)

單片機(jī)源程序如下:
  1. #include <STC15F2K60S2.H>
  2. #include <intrins.h>
  3. #include "NRF24L01.H"
  4. #include "AD.H"
  5. #include"51_ADXL345.h"
  6. int yaogan,yaogan1;
  7. uchar rece_buf[32];
  8. void main()
  9. {       
  10.        
  11. //        P0M0 = 0x00;
  12. //        P0M1 = 0x00;
  13. //           P1M0 = 0x00;
  14. //        P1M1 = 0x00;
  15. //           P3M0 = 0x00;
  16. //        P3M1 = 0x00;
  17.         InitADC();
  18.         //ADXL345_Init();       
  19.            NRF24L01_RT_Init();
  20.         //LED =1;
  21.         while(1)
  22.         {       
  23.                 yaogan=GetADCResult(0)*4+ADC_RESL;
  24.                 yaogan1=GetADCResult(1)*4+ADC_RESL;       
  25.                 if(yaogan>750) //判斷x軸是否大于750
  26.                
  27.                 {
  28. /***************前進(jìn)******************************************/                       
  29.                         rece_buf[1]='G';
  30.                         SEND_BUF(rece_buf);
  31.                         LED=0;
  32.                         NRF24L01_RT_Init();
  33.                         LED=1;
  34.                         if(yaogan1>750)//x,y軸都大于750前進(jìn)并且左轉(zhuǎn)
  35.                         {
  36.                                 rece_buf[1]='L';
  37.                                 SEND_BUF(rece_buf);
  38.                                 LED=0;       
  39.                                 NRF24L01_RT_Init();
  40.                                 LED=1;       
  41.                                 if((yaogan1<750)&&(yaogan1>400));break;
  42.                         }
  43.                         if(yaogan1<400)        //x>750,y軸都<400前進(jìn)并且右轉(zhuǎn)
  44.                         {
  45.                                 rece_buf[1]='R';
  46.                                 SEND_BUF(rece_buf);
  47.                                 LED=0;
  48.                                 NRF24L01_RT_Init();
  49.                                 LED=1;
  50.                                 if((yaogan1<750)&&(yaogan1>400));break;       
  51.                         }
  52.                                
  53.                 }
  54. /***********************后退******************************/               
  55.                 if((yaogan<400)) //判斷x軸是否小于400
  56.                 {
  57.                         rece_buf[1]='B';
  58.                         SEND_BUF(rece_buf);
  59.                         LED=0;
  60.                         NRF24L01_RT_Init();
  61.                         LED=1;;
  62.                        
  63.                         if(yaogan1>750)//x<400,y軸大于750后退并且左轉(zhuǎn)
  64.                         {
  65.                                 rece_buf[1]='Q';
  66.                                 SEND_BUF(rece_buf);
  67.                                 LED=0;                 
  68.                                 NRF24L01_RT_Init();
  69.                                 LED=1;
  70.                                 if((yaogan1<750)&&(yaogan1>400));break;       
  71.                         }
  72.                         if(yaogan1<400)        //x,y軸都<400后退并且右轉(zhuǎn)
  73.                         {
  74.                                 rece_buf[1]='W';
  75.                                 SEND_BUF(rece_buf);
  76.                                 LED=0;
  77.                                 NRF24L01_RT_Init();
  78.                                 LED=1;
  79.                                 if((yaogan1<750)&&(yaogan1>400));break;       
  80.                         }       
  81.                 }
  82. /************************停止**********************/
  83.                 if((yaogan>400)&&(yaogan<750))//判斷Y軸,Y軸不動(dòng),若是進(jìn)入循環(huán)發(fā)送前進(jìn)       
  84.                 {
  85.                         rece_buf[1]='S';
  86.                         SEND_BUF(rece_buf);
  87.                         LED=0;
  88.                         NRF24L01_RT_Init();
  89.                         LED=1;
  90.           }
  91.   }
  92.   }
復(fù)制代碼

所有資料51hei提供下載:
遙控器1-最終.zip (61.76 KB, 下載次數(shù): 85)


評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:243748 發(fā)表于 2018-6-29 19:03 來自手機(jī) | 顯示全部樓層
好資料,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:201191 發(fā)表于 2019-2-8 22:11 | 顯示全部樓層
干貨!謝謝!點(diǎn)個(gè)贊
回復(fù)

使用道具 舉報(bào)

ID:617786 發(fā)表于 2019-11-5 21:35 | 顯示全部樓層
干活學(xué)習(xí),謝謝大佬
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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