#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit m1=P1^0;
uchar count,aa;
void init(void)
{
TMOD=0x11;
TH1=(65536-500)/256;
TL1=(65536-500)%256;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void main(void)
{
init();
while(1)
{
if(count==80)
{
count=0;
}
if(count<40)
{
if(aa<40)
{
if(aa<1)
{
m1=1;
}
else
{
m1=0;
}
}
else
{
aa=0;
}
}
else
{
if(aa<40)
{
if(aa<5)
{
m1=1;
}
else
{
m1=0;
}
}
else
{
aa=0;
}
}
}
}
void count0() interrupt 1
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
count++;
}
void count1() interrupt 3
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
aa++;
}
舵机用?你直接51输出PPM不就得了,搞的这么费劲。