void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH0=(65536-20000)/256; //重新赋值 20ms
TL0=(65536-20000)%256;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
void Timer0_isr(void) interrupt 1
{
static unsigned char countRigh;
static unsigned char countLeft;
TH0 = 0x0FC;
TL0 = 0x66;
countRigh++;
countLeft++;
if(countRigh<pwmRigh) //led1 占空比调节
{
if(dirFlag==1) IN2=0; //打开
else IN1=0;
}
if(countLeft<pwmLeft) //led1 占空比调节
{
if(dirFlag==1) IN4=0; //打开
else IN3=0;
}
}
void UART_Init(void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装
TH1 = 0xFD; // TH1: 重装值 9600 波特率 晶振 11.0592MHz
TL1 = TH1;
TR1 = 1; // TR1: timer 1 打开
EA = 1; //打开总中断
ES = 1; //打开串口中断
}
求问一下这三段代码分别实现的是什么功能,是关于pwm智能小车的代码,芯片是stc89c52,但是我看不出来这是用哪种pwm方法,还有第二段的占空比调节,是调节两个轮子速度相等吗,还是说是调节整体车速加减的