STC12c5a60s2驱动舵机程序分享

实时应用开发

5人已加入

描述

  舵机也叫伺服电机,最早用于船舶上实现其转向功能,由于可以通过程序连续控制其转角,因而被广泛应用智能小车以实现转向以及机器人各类关节运动中。 舵机是小车转向的控制机构,具有体积小、力矩大、外部机械设计简单、稳定性高等特点,无论是在硬件设计还是软件设计,舵机设计是小车控制部分重要的组成部分。一般来讲,舵机主要由以下几个部分组成,舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路。如图所示。

舵机

  STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。

舵机

 STC12c5a60s2驱动舵机程序

  #include //STC12C5A系列单片机

  #define uchar unsigned char

  #define uint unsigned int //宏定义

  #define ulint unsigned long int //宏定义

  void delay(uint time);

  void Timer_init();

  void Timer0(unsigned long int us);

  uint pwm_valu=500;

  sbit dj=P1^0;

  void main()

  {

  Timer_init(); //定时器初始化

  Timer0(31); //通过一个定时值进入定时循环

  while(1)

  {

  pwm_valu=550;

  delay(2000);

  pwm_valu=2500;

  delay(2000);

  pwm_valu=1000;

  delay(2000);

  pwm_valu=2000;

  delay(2000);

  pwm_valu=1500;

  delay(2000);

  }

  }

  //软件延时

  void delay(uint time)

  {

  uint i,j;

  for(i=0;i《1000;i++)

  for(j=0;j

  }

  //定时器0初始化

  void Timer_init()

  {

  P1M1=0;

  P1M0=0XFF;

  EA=1; //开总中断

  AUXR|=0xC0; //T0,T1工作在1T

  TMOD|= 0x11; //T0工作在方式1,16位

  ET0 = 1; //开定时器0中断

  }

  //定时器0定时函数

  void Timer0(unsigned long int us) //定时器定时函数

  {

  unsigned long int valu;

  valu=us*12; //工作在1T

  valu=valu;

  valu=0xffff-valu;

  TH0=valu》》8;

  TL0=(valu《《8)》》8;

  TR0 = 1;//T0开始工作

  }

  void T0zd() interrupt 1

  {

  static uchar num=1;

  switch(num)

  {

  case 1:

  {

  dj=1;

  Timer0(pwm_valu);

  } break;

  case 2:

  {

  dj=0;// pwm1变低

  Timer0(2500-pwm_valu);

  } break;

  case 3:

  {

  Timer0(2500);

  } break;

  case 4:

  {

  Timer0(2500);

  } break;

  case 5:

  {

  Timer0(2500);

  } break;

  case 6:

  {

  Timer0(2500);

  } break;

  case 7:

  {

  Timer0(2500);

  } break;

  case 8:

  {

  Timer0(2500);

  } break;

  case 9:

  {

  Timer0(2500);

  num=0;

  } break;

  default:break;

  }

  num++;

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分