第3个回答 2012-07-29
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint a,b,c,d,i,j;
sbit d1=P1^1;// 舵机1
sbit d2=P1^2;// 舵机2
sbit d3=P1^0;
/*定时器1,控制舵机1,,*/
void timer0(void) interrupt 1
{ d1=!d1;
c=18432-c;//周期20ms
TH0=(65536-c)/256;TL0=(65536-c)%256;
if(c>=461&&c<=2304)c=a;
else c =(18432-a);
}
void main(void) {
TMOD=0x11;
d1=1; d2=1;
a=1382;//晶振为11.0592hz 付高电平宽度1.5ms使舵机初始中间位置
b=1382;
c=a;d=b;
TH0=(65536-a)/256;TL0=(65536-a)%256;
TH1= (65536-b)/256;TH1=(65536-b)%256;
EA=1; ET0=1;TR0=1; ET1=1;TR1=1;
while(1) { ; }本回答被网友采纳