伺服舵机带参方向控制

/*******************************
功能:小车四个方向(带参数)打包
说明:P1_0接左电机,P1_1接右电机,速度值在0~200之间
时间:2012.12.10
作者:荆轩道
附录:脉冲数量:3/0.023=130个(3S)
************************************************************/
#include<BoeBot.h>
#include<uart.h>

void Forward(int PulseNo,int Velocity)  //前进:传入脉冲数量和速度
{
  int i;
  for(i=1;i<=PulseNo;i++)
 {
     P1_1=1;
  delay_nus(1500+Velocity);
  P1_1=0;

     P1_0=1;
  delay_nus(1500-Velocity);
  P1_0=0;
  delay_nms(20);
 }
}

void Lift(int PulseNo,int Velocity)  //左转:传入脉冲数量和速度
{
  int i;
  for(i=1;i<=PulseNo;i++)
 {
     P1_1=1;
  delay_nus(1500-Velocity);
  P1_1=0;

     P1_0=1;
  delay_nus(1500-Velocity);
  P1_0=0;
  delay_nms(20);
 }
}

void Right(int PulseNo,int Velocity)  //右转:传入脉冲数量和速度
{
  int i;
  for(i=1;i<=PulseNo;i++)
 {
     P1_1=1;
  delay_nus(1500+Velocity);
  P1_1=0;

     P1_0=1;
  delay_nus(1500+Velocity);
  P1_0=0;
  delay_nms(20);
 }
}

void Back(int PulseNo,int Velocity)  //后退:传入脉冲数量和速度
{
  int i;
  for(i=1;i<=PulseNo;i++)
 {
     P1_1=1;
  delay_nus(1500-Velocity);
  P1_1=0;

     P1_0=1;
  delay_nus(1500+Velocity);
  P1_0=0;
  delay_nms(20);
 }
}

void main()
{
  uart_Init();
  printf("Program is Running!!");

  while(1)
  {
    int i;
  //200代表全速,130代表运行3秒,65代表1.5秒,26为旋转90度 
   Forward(65,200);    
   Lift(26,200);  
   Back(65,200); 
   Right(26,200); 
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值