微控制器呼吸燈

發表於2020-05-03

呼吸燈大家應該都知道,就是一盞燈慢慢的亮起來又慢慢的滅下去形成一個類似呼吸的效果。現在大家的手機上應該都有這個燈。
那麼呼吸燈到底是怎麼實現的呢原理又是什麼?
其實就是控制一盞燈的通電時間來決定的,慢慢亮起來的時候就讓通電時間慢慢邊長,反之滅下去的時候就變短,這個功能通常會使用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);
}
        

相關文章