采用PWM方式调节LED亮度的原理
调节LED亮度的两种方式:
1.改变LED流过的电流大小来调节亮度,流过的电流越大,LED亮度越亮
2.改变LED通电时间长短来调节亮度,通电时间长,亮度高
(1)现象
单片机P1.7引脚外接的LED先慢慢变亮,然后慢慢变暗
(2)程序说明
程序中的第一个for语句会执行499次,每执行一次,P1.7引脚输出的PWM脉冲会变窄一些。即LED7=0持续时间会变长,LED7=1的持续时间变短,LED会越来越亮,在for语句执行499次时,LED7=0持续时间最长,LED7=1持续时间最短。
//用PWM方式调节LED亮度的程序
#include<reg51.h>
sbit LED7=P1^7;
void Delay(unsigned int t);
void main (void)
{
unsigned int T=500,Toff=0;
while (1){
for (Toff=1;Toff<T;Toff++)
{ LEd7=0;
Delay(Toff);
LEd7=1;
Delay(T-Toff);
}
for(Toff=T-1;Toff>0;Toff--){
LEd7=0;
Delay(Toff);
LEd7=1;
Delay(T-Toff);
}
}
}
void Delay(unsigned int t)
{
while (--t);
}