本帖最后由 abchhcba2012 于 2017-11-10 11:29 编辑
手边单片机只有一个向上计数的8位重装定时器,工作频率8MHz,我想输出一个40Khz的占空比可调的PWM信号,占空比可以从1-100%连续可调,调节步长1%。请大家指点一下如何编写,下面是我的定时器中断程序,Phase_data是控制占空比的变量,如果要想做到40K,则PWM周期要25us,做到100阶调整则定时器要0.25us中断一次了,中断程序无法实现,所以咨询一下要如何更改
void ISR_PWM(void) // 定时器中断程序
{
if(Switch_Flag==1)
{
if (Phase_Counter<=Phase_data)
{
LED=1 ;
}
else
{
LED=0;
}
if (Phase_Counter>=100)
{
Phase_Counter=0;
}
Phase_Counter++;
}
}
|