单片机呼吸灯

时间:2024-01-26 21:32:59

呼吸灯大家应该都知道,就是一盏灯慢慢的亮起来又慢慢的灭下去形成一个类似呼吸的效果。现在大家的手机上应该都有这个灯。
那么呼吸灯到底是怎么实现的呢原理又是什么?
其实就是控制一盏灯的通电时间来决定的,慢慢亮起来的时候就让通电时间慢慢边长,反之灭下去的时候就变短,这个功能通常会使用PWM(脉冲调制)来实现。但是对于我们初学者来说这东西太复杂了。下面我将教大家用延时写一个超简单的呼吸灯程序

void delayed(unsigned int k)
{//延时函数
	unsigned char i,j; 
	for (i = 0; i < k;i++)
		for (j = 0; j < 50; j++);
}
int main()
{
    unsigned int i;
	while(1)
	{	
	for (i = 0; i < 200; i++)
	{
		P0 = 0xfe;
		delayed(i);//LED灯慢慢的亮起来 
		P0 = 1;
		delayed(200 - i);
	}
	delayed(500);
	for (i = 0; i < 200; i++)
	{
		P0 = 1;
		delayed(i);//LED灯慢慢的灭
		P0 = 0xfe;
		delayed(200 - i);
	}
	delayed(500);
}