標(biāo)題: 遙控接收發(fā)射程序(STC15程序) [打印本頁]

作者: LZ6666    時間: 2015-8-8 11:07
標(biāo)題: 遙控接收發(fā)射程序(STC15程序)
遙控接收發(fā)射程序(STC15程序)

  1. #include <STC15W4K60S2.H>
  2. #include <NRF24L01.H>
  3. #include <AD.H>
  4. #include <intrins.h>
  5. uchar TxBuf[20]={0};
  6. uchar RxBuf[20]={0};
  7. unsigned int ax,ay,bx,by;
  8. unsigned int cx,cy,dx,dy;

  9. /*
  10. P1.2  左 上下
  11. P1.3  左 左右   有問題
  12. P1.4  右 上下
  13. P1.5  右 左右
  14. */
  15. void AD()     //獲取AD采樣值    P1ASF=0x3c
  16. {                     
  17.         cx=getADCResult(3);                 //左  X    左 左右        =cx
  18.         Delay(5);
  19.         cy=getADCResult(2);      //左  Y    左 上下 =cy
  20.         Delay(5);
  21.         dx=getADCResult(5);      //右  X    右 左右 =dx
  22.         Delay(5);
  23.         dy=getADCResult(4);                 //右  Y    右 上下 =dy
  24.     Delay(5);

  25. }
  26. void main()
  27. {       
  28.         P0M0=0x00;
  29.         P0M1=0x00;
  30.         P1M0=0x00;
  31.   P1M1=0x3c;
  32.         P2M0=0x00;
  33.         P2M1=0x00;
  34.         P3M0=0x00;
  35.         P3M1=0x00;
  36.         P4M0=0x00;
  37.         P4M1=0x00;
  38.         P5M0=0x00;
  39.         P5M1=0x00;
  40.         P6M0=0x00;
  41.         P6M1=0x00;
  42.         P7M0=0x00;
  43.         P7M1=0x00;            
  44.         //TxBUf[4]  TRO   1俯仰  2橫滾 3偏航
  45.                   //左  X    左 左右 =cx
  46.               //左  Y    左 上下 =cy
  47.               //右  X    右 左右 =dx
  48.                      //右  Y    右 上下 =dy
  49.      init_NRF24L01();    //2401初始化  
  50.      adc_init();                 //        adc初始化
  51.             ay=getADCResult(2)-128;
  52.      Delay(5);
  53.             ax=getADCResult(3)-128;
  54.          Delay(5);
  55.             bx=getADCResult(5)-128;
  56.          Delay(5);
  57.              by=getADCResult(4)-128;
  58.           Delay(5);                       
  59.           TxBuf[1]=128;    //設(shè)置遙桿中值
  60.           TxBuf[2]=128;
  61.           TxBuf[3]=128;
  62.       TxBuf[4]=128;                             
  63.          while(1)
  64.         {               
  65.         AD();     //adc采集數(shù)據(jù)        返回順序  3 2 5 4
  66.         TxBuf[0]++;         //前   和    左 右邊太軟,可能機(jī)械問題          

  67.     if((cx-ax)>=255){TxBuf[3]=255;}  else if((cx-ax)<=0){TxBuf[3]=0;}else TxBuf[3]=cx-ax;
  68.     if((dx-bx)>=255){TxBuf[2]=255;}  else if((dx-bx)<=0){TxBuf[2]=0;}else TxBuf[2]=dx-bx;
  69.     if((255-cy)>=255){TxBuf[1]=255;}  else if((255-cy)<=0){TxBuf[1]=0;}else TxBuf[1]=255-cy;
  70.     if((255-dy)>=255){TxBuf[4]=255;}  else if((255-dy)<=0){TxBuf[4]=0;}else TxBuf[4]=255-dy;
  71.         //TxBuf[4]=255-dy;                            
  72.         nRF24L01_TxPacket(TxBuf);//發(fā)送 tx_buf中數(shù)據(jù)
  73.         Delay(1000);
  74.    }
  75. }


復(fù)制代碼


發(fā)射 左手控.rar

73.33 KB, 下載次數(shù): 30, 下載積分: 黑幣 -5


作者: qjy822    時間: 2017-5-27 09:40
謝謝分享,正在研究當(dāng)中!
作者: jialishoushi    時間: 2017-6-14 18:56
謝謝分享    我以為是紅外遙控呢
作者: 348652560    時間: 2017-6-15 17:17
謝謝分享!收藏了!




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