PWM实验

2019-08-17 08:16发布

调节占空比从而实现亮度变化有点不理解。。。
设置CCRX的值来实现占空比的改变,占空比改变不是改变了高电平和低电平的相对时间吗,就是亮和灭的的转换,为什么实现的是亮度的变化
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
Mascreda
1楼-- · 2019-08-17 12:15
设置CCRX的值来实现占空比的改变,是连续变化的,高电平和低电平的相对时间的变化也是连续改变的,亮和灭的转换也是连续的,加上人眼睛的视觉残留现象就会感觉LED的亮度在变化。
int main(void)
{
u16 led0pwmval=0;
u8 dir=1;
delay_init();  //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置 NVIC 中断分组 2
uart_init(115200); //串口初始化波特率为 115200
LED_Init();  //LED 端口初始化
TIM3_PWM_Init(899,0); //不分频,PWM 频率=72000/900=80Khz
while(1)
{
delay_ms(10);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval);
}
}
led0pwmval 这个值设置为 PWM 比较值,也就是通过 led0pwmval 来控制 PWM 的占空比,然后控制 led0pwmval 的值从 0 变到 300,然后又
从 300 变到 0,这个值就是CCRX的值,在循环里一直变化的。以上为个人理解。
枫以如斯
2楼-- · 2019-08-17 15:45
视觉暂留效应。
操作系统
3楼-- · 2019-08-17 16:59
这个现象可以这么来解释,亮度达到最大是要时间的.当PWM脉冲时间小于这个时间就可以调节亮度..
也可以理解为 电平上升是有斜度的.不是直接90度上去的.
jermy_z
4楼-- · 2019-08-17 21:56
 精彩回答 2  元偷偷看……
stm32f103ZE
5楼-- · 2019-08-17 23:48
枫以如斯 发表于 2017-6-13 23:49
视觉暂留效应。

好的

stm32f103ZE
6楼-- · 2019-08-17 23:53
操作系统 发表于 2017-6-14 08:33
这个现象可以这么来解释,亮度达到最大是要时间的.当PWM脉冲时间小于这个时间就可以调节亮度..
也可以理解 ...

好的谢谢

一周热门 更多>