iap15w4k58s4,搖桿采集,AD采集,通過NRF24L01發送數據
單片機源程序如下:
- #include <STC15F2K60S2.H>
- #include <intrins.h>
- #include "NRF24L01.H"
- #include "AD.H"
- #include"51_ADXL345.h"
- int yaogan,yaogan1;
- uchar rece_buf[32];
- void main()
- {
-
- // P0M0 = 0x00;
- // P0M1 = 0x00;
- // P1M0 = 0x00;
- // P1M1 = 0x00;
- // P3M0 = 0x00;
- // P3M1 = 0x00;
- InitADC();
- //ADXL345_Init();
- NRF24L01_RT_Init();
- //LED =1;
- while(1)
- {
- yaogan=GetADCResult(0)*4+ADC_RESL;
- yaogan1=GetADCResult(1)*4+ADC_RESL;
- if(yaogan>750) //判斷x軸是否大于750
-
- {
- /***************前進******************************************/
- rece_buf[1]='G';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;
- if(yaogan1>750)//x,y軸都大于750前進并且左轉
- {
- rece_buf[1]='L';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;
- if((yaogan1<750)&&(yaogan1>400));break;
- }
- if(yaogan1<400) //x>750,y軸都<400前進并且右轉
- {
- rece_buf[1]='R';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;
- if((yaogan1<750)&&(yaogan1>400));break;
- }
-
- }
- /***********************后退******************************/
- if((yaogan<400)) //判斷x軸是否小于400
- {
- rece_buf[1]='B';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;;
-
- if(yaogan1>750)//x<400,y軸大于750后退并且左轉
- {
- rece_buf[1]='Q';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;
- if((yaogan1<750)&&(yaogan1>400));break;
- }
- if(yaogan1<400) //x,y軸都<400后退并且右轉
- {
- rece_buf[1]='W';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;
- if((yaogan1<750)&&(yaogan1>400));break;
- }
- }
- /************************停止**********************/
- if((yaogan>400)&&(yaogan<750))//判斷Y軸,Y軸不動,若是進入循環發送前進
- {
- rece_buf[1]='S';
- SEND_BUF(rece_buf);
- LED=0;
- NRF24L01_RT_Init();
- LED=1;
- }
- }
- }
復制代碼
所有資料51hei提供下載:
遙控器1-最終.zip
(61.76 KB, 下載次數: 85)
2018-6-29 16:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|