一、想要达到的效果
![](https://i-blog.csdnimg.cn/direct/3c92d4d1bcbb4e89bc193771044bfce1.png)
二、实现代码
因为是在1khz的频率下,所以用重新配置定时器0,定时长度为100微妙
![](https://i-blog.csdnimg.cn/direct/dae444691a1a4fcaa80d27e831843c70.png)
cpp
void Timer0Init(void) //100微秒@12.000MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x50; //设置定时初值
TH0 = 0xFB; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0=1;
}
cpp
void Time_0(void) interrupt 1
{
ucPWM=(ucPWM+1)%10;//在0-9之间不断循环
if(ucPWM<=1)
{
P34=1;
}
else
{
P34=0;
}
}