输出PWM信号问题咨询

2019-07-15 09:22发布

手边单片机只有一个向上计数的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++;                 
                    
            }
         
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。