当前位置:首页 > 单片机 > 单片机
[导读]PWM在高频情况下,一个很好的用处就是通过控制占空比来控制输出的功率,比如控制风扇转速、LED灯的亮度等。这次就利用PWM的中断功能,动态改变脉冲的占空比,来实现呼吸灯的效果。一、实现思路PWM可以选择让计数器在

PWM在高频情况下,一个很好的用处就是通过控制占空比来控制输出的功率,比如控制风扇转速、LED灯的亮度等。这次就利用PWM的中断功能,动态改变脉冲的占空比,来实现呼吸灯的效果。

一、实现思路

PWM可以选择让计数器在周期结束产生中断(在周期中央对齐时,可能选择在周期中央也产生中断),并且可以在运行的时候动态地调整占空比、周期、极性等属性。所以可以在中断处理函数中动态地改变占空比以改变LED灯的亮度。
这次也将使用通道0和引脚PA0。

二、PWM设置

这里需要用到较高频率的时钟,所以选择使用主时钟经32分频后的时钟(12.5 kHz)。计数器周期为400,即输出脉冲频率为125000/400 = 312.5 Hz。同时需要使能相应的中断。
PWM的主要配置代码如下:

12345678910111213#define PERIOD_VALUE 400/* 时钟选择 */PWM->PWM_CH_NUM[0].PWM_CMR = PWM_CMR_CPRE_MCK_DIV_32;/* 启用中断 */PWM->PWM_IER1 = PWM_IER1_CHID0;/* 周期及占空比 */PWM->PWM_CH_NUM[0].PWM_CPRD= PWM_CPRD_CPRD(PERIOD_VALUE);PWM->PWM_CH_NUM[0].PWM_CDTY = PWM_CDTY_CDTY(0);/* 使能中断 */NVIC_ClearPendingIRQ(PWM_IRQn);NVIC_SetPriority(PWM_IRQn, 0);NVIC_EnableIRQ(PWM_IRQn);

三、PWM中断处理

在每个周期结束后,会产生一个中断。然后在中断处理函数中,改变占空比。需要注意的是,在PWM使能时,需要通过写入PWM占空比修改寄存器(PWM_CDTYUPD)来改变占空比。默认情况下,该修改在下一个周期生效。
为得到更好的效果,可以在两次呼吸之间设置一断间隔。
注意,需要通过读取PWM_ISR1来拉低产生的中断。中断处理函数在后面的完整代码中贴出。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Holtek持续扩展中高阶市场产品应用,推出全新HT32F49153/HT32F49163系列32-bit单片机,采用高效能Arm® Cortex®-M4核心,提供单精度浮点运算单元(FPU),支持所有Arm®单精度数据...

关键字: 单片机 嵌入式系统 工业控制

单片机波形合成发生器是一种数字波形合成技术,通过计算机的数字处理能力来产生各种复杂波形的信号

关键字: 单片机 电路 数字波形

定时器用于设定脉冲信号的周期,而计数器则用于控制每个周期内高电平的时间,从而调整占空比。

关键字: 单片机 PMW控制 脉冲信号

今天,小编将在这篇文章中为大家带来一种适老化跌倒检测预警系统硬件设计的有关报道,通过阅读这篇文章,大家可以对该类系统设计具备清晰的认识,主要内容如下。

关键字: STM32 单片机 微控制器

新产品加入了同类产品中唯一的蓝牙低功耗产品系列模块、片上系统(SoC)产品和即插即用选项

关键字: 蓝牙 片上系统 单片机

数字可编程变频电源是一种能够根据用户需求调整输出电压和频率的电源设备。它在工业生产和实验室研究等领域中被广泛使用。

关键字: 单片机 可编程电源 系统设计

可编程电源的基本原理是通过控制电源输出的电压和电流来满足用户的需求。一般情况下,可编程电源由电源模块、电压测量模块、电流测量模块和控制模块组成。

关键字: 单片机 可编程 电源

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器
关闭
关闭