本发明专利技术公开了一种突破MCU硬件的限制输出pwm的方法,其特征在于,包括如下步骤:S1、初始化时钟配置,在MCU中配置一个8位的连续的时钟溢出中断;S2、正常运行,经过设定的时间后,出现一个中断;以及S3、判断I/O输出标志是否为真,当I/O输出标志为真时,重载pwm中低电平时间给时钟定时器,I/O输出标志设为假,I/O口输出低电平,然后重复步骤S2;当I/O输出标志为假时,重载pwm中高电平时间给时钟定时器,I/O输出标志设为真,I/O口输出高电平,然后重复步骤S2。产品升级开发周期短,不需要更改硬件电路、添加高速外部晶振或更换高速MCU,降低了成本。
【技术实现步骤摘要】
一种突破MCU硬件的限制输出pwm的方法
本专利技术涉及脉宽调制领域,尤其涉及一种突破MCU硬件的限制输出pwm的方法。
技术介绍
目前各种电子设备中MCU的功能完善,其中就包含pwm输出功能;其MCU硬件支持pwm的输出功能,只需要对当前MCU进行pwm配置,即可得到相应的频率的pwm输出。但是针对该MCU选择的晶振和电子电路限制了该MCU硬件pwm输出的频率,为了提高pwm的输出的频率,现有的技术有三种:(1)更改硬件电路,将pwm输出口更改为其他pwm功能输出口。缺陷是:产品升级更改电路和软件同时进行,升级开发周期长,负价值多;(2)添加高速外部晶振,使pwm输出频率增加。缺陷是:需升级电路和大部分软件配置,升级开发周期长,产品成本升高,负价值多;(3)更换更高速MCU。缺陷是:产品成本升高,软件重新开发,周期长。
技术实现思路
本专利技术的目的是提供一种突破MCU硬件的限制输出pwm的方法,在增加硬件装置和电路结构的情况下提升pwm输出频率。本专利技术的技术方案是一种突破MCU硬件的限制输出pwm的方法,包括如下步骤:S1、初始化时钟配置,在MCU中配置一个8位的连续的时钟溢出中断;S2、正常运行,经过设定的时间后,出现一个中断;以及S3、判断I/O输出标志是否为真,当I/O输出标志为真时,重载pwm中低电平时间给时钟定时器,I/O输出标志设为假,I/O口输出低电平,然后重复步骤S2;当I/O输出标志为假时,重载pwm中高电平时间给时钟定时器,I/O输出标志设为真,I/O口输出高电平,然后重复步骤S2。本技术方案采用8位时钟定时器进行模拟pwm输出功能,使得可以将MCU中I/O口可调占空比个数Dc进行任意设定。如将Dc=100,那么Dc<255;使得频率升高,突破了原有的MCU硬件的pwm输出功能。产品升级开发周期短,不需要更改硬件电路、添加高速外部晶振或更换高速MCU,降低了成本。进一步地,步骤S2中,所述设定的时间满足下述公式:Tx=255*t公式中,Tx表示距离下一个中断的时间,t表示MCU的指令周期。程序运行到时间Tx时,出现一个中断;未运行到Tx时,继续运行。进一步地,步骤S3中,重载pwm中低电平时间满足下述公式:Tl=(255-Dc+Dd)*t公式中,Tl表示pwm中低电平时间,t表示MCU的指令周期,Dc表示可调占空比个数,Dd表示占空比对应的数值。进一步地,步骤S3中,重载pwm中高电平时间满足下述公式:Th=(255-Dd)*t公式中,Th表示pwm中高电平时间,t表示MCU的指令周期,Dd表示占空比对应的数值。进一步地,MCU的I/O口最终输出稳定的周期为T的pwm波形,所述周期T满足公式:T=Th+Tl=Dc*t(1)公式中,T表示pwm的周期,t表示MCU指令周期,Dc表示可调占空比个数;所述pwm波形的占空比为(Dd/Dc)*100%;根据公式(1)可得出,MCU的I/O口最终输出pwm波形的频率满足公式:Fpwm=1/T=1/(Dc*t)公式中,Dc表示可调占空比个数,t表示MCU的指令周期有益效果:通过采用8位时钟定时器进行模拟pwm输出功能,使得可以将MCU中I/O口可调占空比个数Dc进行任意设定,使得频率升高,突破了原有的MCU硬件的pwm输出功能。产品升级开发周期短,不需要更改硬件电路、添加高速外部晶振或更换高速MCU,降低了成本。附图说明图1是本专利技术一种实施例的工作流程图。具体实施方式下面结合附图,对本专利技术的较优的实施例作进一步的详细说明:参见图1,一种突破MCU硬件的限制输出pwm的方法,包括如下步骤:S1、初始化时钟配置,在MCU中配置一个8位的连续的时钟溢出中断;S2、正常运行,经过设定的时间后,出现一个中断;以及S3、判断I/O输出标志是否为真,当I/O输出标志为真时,重载pwm中低电平时间给时钟定时器,I/O输出标志设为假,I/O口输出低电平,然后重复步骤S2;当I/O输出标志为假时,重载pwm中高电平时间给时钟定时器,I/O输出标志设为真,I/O口输出高电平,然后重复步骤S2。步骤S2中,所述设定的时间满足下述公式:Tx=255*t公式中,Tx表示距离下一个中断的时间,t表示MCU的指令周期。程序运行到时间Tx时,出现一个中断;未运行到Tx时,继续运行。步骤S3中,重载pwm中低电平时间满足下述公式:Tl=(255-Dc+Dd)*t公式中,Tl表示pwm中低电平时间,t表示MCU的指令周期,Dc表示可调占空比个数,Dd表示占空比对应的数值。步骤S3中,重载pwm中高电平时间满足下述公式:Th=(255-Dd)*t公式中,Th表示pwm中高电平时间,t表示MCU的指令周期,Dd表示占空比对应的数值。MCU的I/O口最终输出稳定的周期为T的pwm波形,所述周期T满足公式:T=Th+Tl=Dc*t(1)公式中,T表示pwm的周期,t表示MCU指令周期,Dc表示可调占空比个数;所述pwm波形的占空比为(Dd/Dc)*100%;根据公式(1)可得出,MCU的I/O口最终输出pwm波形的频率满足公式:Fpwm=1/T=1/(Dc*t)公式中,Dc表示可调占空比个数,t表示MCU的指令周期。本实施例中,MCU型号为MB95F564K,t=0.25,假设Dd=50,Dc=100,那么pwm波形的占空比为:50/100*100=50%,MCU的I/O口最终输出pwm波形的频率为:(1/100*0.25)MHz=40KHz。因此,在软件中将50赋值给Dd,就可以使该MCU输出一个40KHz的占空比为50%的pwm波形。本实施例采用8位时钟定时器进行模拟pwm输出功能,使得可以将MCU中I/O口可调占空比个数Dc进行任意设定。如将Dc=100,那么Dc<255;使得频率升高,突破了原有的MCU硬件的pwm输出功能。产品升级开发周期短,不需要更改硬件电路、添加高速外部晶振或更换高速MCU,降低了成本。以上内容是结合具体的优选实施方式对本专利技术所作的进一步详细说明,不能认定本专利技术的具体实施只局限于这些说明。对于本专利技术所属
的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本专利技术的保护范围。本文档来自技高网...
【技术保护点】
一种突破MCU硬件的限制输出pwm的方法,其特征在于,包括如下步骤:S1、初始化时钟配置,在MCU中配置一个8位的连续的时钟溢出中断;S2、正常运行,经过设定的时间后,出现一个中断;以及S3、判断I/O输出标志是否为真,当I/O输出标志为真时,重载pwm中低电平时间给时钟定时器,I/O输出标志设为假,I/O口输出低电平,然后重复步骤S2;当I/O输出标志为假时,重载pwm中高电平时间给时钟定时器,I/O输出标志设为真,I/O口输出高电平,然后重复步骤S2。
【技术特征摘要】
1.一种突破MCU硬件的限制输出pwm的方法,其特征在于,包括如下步骤:S1、初始化时钟配置,在MCU中配置一个8位的连续的时钟溢出中断;S2、正常运行,经过设定的时间后,出现一个中断;以及S3、判断I/O输出标志是否为真,当I/O输出标志为真时,重载pwm中低电平时间给时钟定时器,I/O输出标志设为假,I/O口输出低电平,然后重复步骤S2;当I/O输出标志为假时,重载pwm中高电平时间给时钟定时器,I/O输出标志设为真,I/O口输出高电平,然后重复步骤S2;步骤S3中,重载pwm中低电平时间满足下述公式:Tl=(255-Dc+Dd)*t公式中,Tl表示pwm中低电平时间,t表示MCU的指令周期,Dc表示可调占空比个数,Dd表示占空比对应的数值。2.根据权利要求1所述的突破MCU硬件的限制输出pwm的方法,其特征在于,步骤S2中,所述设定的时间满足下述公式:T...
【专利技术属性】
技术研发人员:宋志超,陈志杰,
申请(专利权)人:深圳市振邦智能科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。