打印
[国产单片机]

输出PWM信号问题求助

[复制链接]
857|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
abchhcba2012|  楼主 | 2017-11-10 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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++;                 
                    
            }
         
}

相关帖子

沙发
coody| | 2017-11-10 16:27 | 只看该作者
最好使用带硬件PWM的单片机。

使用软件来做也可以,但最小占空比和最大占空比有限制(因为重装需要时间),一个PWM周期重装2次即可。

使用特权

评论回复
板凳
abchhcba2012|  楼主 | 2017-11-11 15:19 | 只看该作者
coody 发表于 2017-11-10 16:27
最好使用带硬件PWM的单片机。

使用软件来做也可以,但最小占空比和最大占空比有限制(因为重装需要时间) ...

手边只有这个,方法明白了,我先试试,谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

68

帖子

0

粉丝