通过高低电平占空比来达到调制脉动,一般地,在闪烁频率50Hz以下,人眼都能觉察到光源的闪烁。而在8.8Hz时,人眼是最敏感的。同时,能被觉察的最大闪烁频率(临界闪烁频率)是随着光源发出的光强而变化的,随着光强增大临界闪烁频率也增大,当光强达到最大后逐渐减小后,临界闪烁频率也相应减小。
当光强以大于50Hz的频率变化时,大多数人就分辨不出光源是否在闪烁了,此时的光源就发出稳定、连续的光,因为这时人眼的反映已经跟不上光源的变化了。
所以一般设置led频闪周期小于10毫秒;通过占空比调节led亮度,也可以理解为调节平均电压。
查询方式调制(亮度可控):
while (1)
{
key=HAL_GPIO_ReadPin(A1_GPIO_Port, A1_Pin);
if(key==0){pwmh++;if(pwmh==11){pwmh=0;}
HAL_Delay(10);
while(key==0){key=HAL_GPIO_ReadPin(A1_GPIO_Port, A1_Pin);
}
HAL_GPIO_WritePin(B5_GPIO_Port, B5_Pin, 1);
HAL_Delay(pwmh);
HAL_GPIO_WritePin(B5_GPIO_Port, B5_Pin, 0);
HAL_Delay(10-pwmh);
HAL_GPIO_WritePin(B7_GPIO_Port, B7_Pin, 0);
}