在学习舵机时,角度控制不精准,通电就开始抖,Proteus里仿真可以产生20ms周期波,示波器也可以测出20ms周期波形,但是舵机无反应,有时候抖舵,不知道如何改进了。
请帮看看有什么问题.共同学习共同进步
#include "REG52.H"
unsigned char count;
unsigned char jd;
sbit dz=P2^0;
sbit jia=P3^7;
sbit jian=P3^6;
void Delay1ms() //@12.000MHz
{
unsigned char i, j;
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
}
void Timer0()//定时器0开始初始化函数
{
TMOD=0x01;
IE=0x82;
TH0=0xfe;
TL0=0x0c;
TF0=1;
TR0=1;//开始计数
}
void timer0_() interrupt 1
{
TH0=0xfe;
TL0=0x0c;
TF0=0;
if(count<jd)
dz=1;
else
dz=0;
count++;
if(count==39)
count=0;
}
void keyscan()
{
if(jia==0)
{
Delay1ms();
if(jia==0)
{
jd++;
count=0;
if (jd==6)
{
jd=5;
}
while (jia==0);
}
}
if(jian==0)
{
Delay1ms();
if(jian==0)
{
jd--;
count=0;
if (jd==0)
{
jd=1;
}
while (jian==0);
}
}
}
void main()
{
jd=1;count=0;
Timer0();
while(1)
{
keyscan();
}
}
用PWM设置方波的产生。