微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请大神给看看 用51单片机写的控制舵机的程序 为什么不转...

请大神给看看 用51单片机写的控制舵机的程序 为什么不转...

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint count;
sbit pwm=P1^0;
/*void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}*/
void time0_init()
{
TMOD=0x01;
TH0=0xfe;
TL0=0x33;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
//count=0;
time0_init();
pwm=1;
while(1);
}
void timer0() interrupt 1
{
TH0=0xfe;
TL0=0x33;
count++;
if(count<5)
{
  pwm=1;
  }
else
{
  pwm=0;
}
if(count==40)
{
  count=0;
}
}

这。
pwm=1;
while(1);
程序卡在这里了

那应该怎么改呢

void timer0() interrupt 1
里面开头添加TR0=0;
结尾添加TR0=1呢

不行啊  我用的是stc89c52的单片机 会不会与单片机有关?

main()
{
  time0_init();
  while(1)
  { if(count>40) count=0;
    if(count>5) pwm=0;
    else pwm=1;
   }
}
void timer0() interrupt 1
{
TH0=0xfe;
TL0=0x33;
count++;
}
这样呢

舵机有没没驱动电路?

嗯···

还是不行  搞不明白了  不过还是谢谢你了啊

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

网站地图

Top