利用占空比的方式来控制灯的变暗和变亮
占空比就是高电平和低电平的比例;
实现呼吸灯效果是利用人眼的分辨率只能看到25帧每秒,甚至还不够,
所以用单片机做呼吸灯是利用频率来控制呼吸灯的呼吸时间,用占空比来控制灯的亮度
代码如下
#include <reg52.h>
sbit LED1=P2^0; //定义灯的位置
int PWM_Low,Clock=500;
void delay(unsigned int x) //延迟函数
{
int i;
for(i=0;i<x;i++);
}
void main(void)
{
while(1)
{
for(PWM_Low=Clock;PWM_Low>0;PWM_Low--) //逐渐变暗
{
LED1=1;
delay(PWM_Low);
LED1=0;
delay(Clock-PWM_Low);
}
for(PWM_Low=0;PWM_Low<Clock;PWM_Low++) //逐渐变亮
{
LED1=1;
delay(PWM_Low);
LED1=0;
delay(Clock-PWM_Low);
}
}
}
如有错误,还望指正,新手来的
|