天天看点

stc12c5a60s 定时器0输出80%占空比的PWM定时器0输出80%占空比的PWM

定时器0输出80%占空比的PWM

main.c

#include <reg52.h>

unsigned char PWM_COUNT; //中断一次加一
sbit LED = P1^0;

void timer0_init()
{
	TMOD = 0x02;
	TH0 = 0x47;	  //200us中断一次
	TL0 = 0x47;
	
	EA = 1;
	ET0 = 1;
	TR0 = 1;
	PWM_COUNT = 0;
}

void main()
{
	timer0_init();
	LED = 1;

	while(1);
}

void timer0() interrupt 1
{
	PWM_COUNT ++;
	if(PWM_COUNT == 4) //80%占空比
		LED = 0;
	if(PWM_COUNT == 5) //当前周期结束
	{
		LED = 1;
		PWM_COUNT = 0;	//重新计时
	}
}

           

继续阅读