找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2993|回复: 3
打印 上一主题 下一主题
收起左侧

遥控接收发射程序(STC15程序)

[复制链接]
跳转到指定楼层
楼主
遥控接收发射程序(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;    //设置遥杆中值
  60.           TxBuf[2]=128;
  61.           TxBuf[3]=128;
  62.       TxBuf[4]=128;                             
  63.          while(1)
  64.         {               
  65.         AD();     //adc采集数据        返回顺序  3 2 5 4
  66.         TxBuf[0]++;         //前   和    左 右边太软,可能机械问题          

  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);//发送 tx_buf中数据
  73.         Delay(1000);
  74.    }
  75. }


复制代码


发射 左手控.rar

73.33 KB, 下载次数: 30, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:48994 发表于 2017-5-27 09:40 | 只看该作者
谢谢分享,正在研究当中!
回复

使用道具 举报

板凳
ID:35873 发表于 2017-6-14 18:56 | 只看该作者
谢谢分享    我以为是红外遥控呢
回复

使用道具 举报

地板
ID:211258 发表于 2017-6-15 17:17 | 只看该作者
谢谢分享!收藏了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表