我要用单片机PWM信号控制舵机,就是产生以20ms为周期,1.5ms为脉宽的脉冲。请哪位大神帮我看看程序错在哪

#include <reg52.h>
#define uint unsigned int
uint a;
sbit p11=P1^1; //控制信号端口
void timer0(void) interrupt 1 using 1
{
p11=!p11;
a=20000-a;
TH0=(45536+a)/256;
TL0=(45536+a)%256;
}
void main(void)
{
TMOD=0x01;
p11=1;
a=1500;
TH0=(65536-a)/256;
TL0=(65536-a)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}

第1个回答  2011-03-21
你把函数 timer0() 里面这两句话改一下:
TH0=(45536+a)/256;
TL0=(45536+a)%256;
改成
TH0=(65536-a)/256;
TL0=(65536-a)%256;本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网