標題:
非常柔和的單片機呼吸燈源代碼
[打印本頁]
作者:
univers
時間:
2019-10-29 10:32
標題:
非常柔和的單片機呼吸燈源代碼
這個呼吸燈是參照人視覺效果寫的,非常柔和。代碼如下:
//包含該文件可以使用_nop_()函數(shù)
#include <intrins.h>
unsigned int Num=0; //聲明遞增 遞減變量
unsigned int Clock=3000; //聲明變量 這個變量就是肉眼看到的變快變慢的參數(shù)
/***********************************************
函數(shù)名稱:Delay_us
功 能:
入口參數(shù):us:延時
返 回 值:無
備 注:內(nèi)部時鐘:24MHz
************************************************/
void Delay_us(unsigned int i) //這個延時就是PWM的頻率了 太大眼睛能看到閃來閃去
{
for(;i>0;i--)
_nop_();
}
/***********************************************
函數(shù)名稱:husi_led
功 能:呼吸燈
入口參數(shù):us:延時數(shù)量
返 回 值:無
備 注:
************************************************/
void husi_led(void)
{
while(1)
{
for(Num=Clock;Num>0;Num--) //led逐漸變暗
{
P05=1; //測試LED燈
Delay_us(Num); //3000慢慢減 慢慢變暗
P05=0; //測試LED燈
Delay_us(Clock-Num);
}
P05=0; //測試LED燈
Delay_ms(1000); //再暗你一秒
//**************************************//
for(Num=0;Num<Clock;Num++) //led逐漸變亮
{
P05=1; //測試LED燈
Delay_us(Num); //0慢慢加 慢慢變亮
P05=0; //測試LED燈
Delay_us(Clock-Num);
}
P05=1; //測試LED燈
Delay_ms(500); //再亮半秒 這里視覺的原因 是暗的一半所以選500ms
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1