微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机驱动舵机问题

单片机驱动舵机问题

时间:10-02 整理:3721RD 点击:

小弟用STC89C52驱动一个舵机,MG996R,用P1.0口直接接到舵机信号线上,舵机电源和单片机电源分开,但共地。
单片机晶振为12MHz,程序如下

  1. #include <reg52.h>
  2. unsigned int i=0;
  3. sbit O1=P1^0;

  4. void main(void)
  5. {
  6.         TMOD=0x01;
  7.         TH0=(65535-1000)/256;
  8.         TL0=(65535-1000)%256;
  9.         EA =1;
  10.          ET0=1;
  11.          O1=1;
  12.         TR0=1;
  13.         while(1)
  14.         {
  15.         }
  16. }  
  17. void T0_tine() interrupt 1
  18. {
  19.         if(O1 == 1)        

  20.         {
  21.                 TH0=(65535-19000)/256;
  22.                 TL0=(65535-19000)%256;
  23.                 O1=0;
  24.         }
  25.         else
  26.         {
  27.                 TH0=(65535-1000)/256;
  28.                 TL0=(65535-1000)%256;
  29.                 O1=1;
  30.         }
  31. }

复制代码


上电运行后,舵机总是在上电时动一下,然后就不动了,大家给看看怎么回事?

有同样的问题  求解决

如果程序没错的话,有可能是舵机的驱动电流不够,给它加上上拉电阻

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top