|
|
一個LED燈加單片機最小系統(tǒng),就能組成一個呼吸燈
我用的是P3.4口,可以自己任意調(diào)換,建議用STC15F104W,一個是便宜另外一個原因就是小巧,精細(xì)。
用89系列做的話占地太大。
這個可以更改成一個指示燈,可以將程序做成一個函數(shù)加入到其他程序中,用來指示運行情況,例如,正常的時候是均勻閃,非正常的時候可以用呼吸燈快閃來表達(dá)程序運行問題。
#include<reg52.h>
#define N 2 //亮暗的速率
#define T 2000 //PWM的周期 15F104W運行速度比89系類快 1T
sbit led=P3^4;
void pwm(int x)
{
while(x--);
}
void main()
{
int t=0;
char f=0;//亮暗標(biāo)志,0為亮
while(1)
{
led=0;
pwm(t);//Toff,亮的時間
led=1;
pwm(T-t);//Ton,暗的時間
if(!f) t+=N+4;//亮速率較快,模擬呼吸
else t-=N+2;//暗速率較慢
if(t>T) {f=1;t=T;}//超過最大值時,返回最大值,標(biāo)志為暗
if(t<0) {f=0;t=0;}//超過最小值時,返回最小值,標(biāo)志為亮
}
}
|
評分
-
查看全部評分
|