请大神给看看 用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;
}
}
#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++;
}
这样呢
舵机有没没驱动电路?
嗯···
还是不行 搞不明白了 不过还是谢谢你了啊