1、首先連線好電路圖
我連線的p1^0
2、初始化led
sbit led1=p1
^0;//初始化led
3、初始化t0
/***********t0初始化***********/
void
time_init()
void
time0
() interrupt 1
4、呼吸燈邏輯分析,在總頻率不變的情況下 ,改變高電平的佔比,讓高電平的佔比逐漸增加,低電平的佔比就會減少,這個時候我們就能看到這個燈逐漸變亮。
結合以下**:
/***********呼吸燈*************/
void
led_pwm_show()
for(i=
0;i<
50;i++
)// 逐漸變暗
}
最後在主函式中呼叫就行了void
main()
}
以下是全部**
#include
sbit led1=p1
^0;//初始化led
int count =0;
/***********延時函式***********/
void
delay
(int x)
/***********t0初始化***********/
void
time_init()
/***********呼吸燈*************/
void
led_pwm_show()
for(i=
0;i<
50;i++
)// 逐漸變暗
}void
main()
}void
time0
() interrupt 1
注:效果不明顯,定時器初值設定就小一 基於51微控制器的呼吸燈
原理 由於人眼的視覺殘留特性 人眼在觀察景物時,光訊號傳入大腦神經,需經過一段短暫的時間,光的作用結束後,視覺形象並不立即消失,這種殘留的視覺稱 後像 視覺的這一現象則被稱為 視覺暫留 舉例 我們家裡使用的燈是50hz,一秒鐘會亮滅50次,但是我們覺得燈是一直亮著的。但是亮和暗的程度取決於發光和不發...
51微控制器 PWM
pwm,全稱pulse width modulation,譯為脈衝寬度調製。功能 改變脈衝寬度,實現不同效果。可用數碼訊號達到模擬訊號的效果 pwm在微控制器中應用廣泛,不同的應用場合意義不盡相同。先看一張圖 這是乙個週期為10ms,頻率為100hz的波形。每個週期內的高低電平脈衝寬度各不相同,這就...
51微控制器學習 PWM
pwm 脈衝寬度調調製,它是按一定規律改變脈衝序列的脈衝寬度,以調節輸出量和波形的一種調製方式。我們在控制系統中最常用的矩形pwm訊號,在控制時需要調節pwn波的占空比 指的是高電平持續時間在乙個週期時間內的百分比 當用微控制器io口輸出pwm訊號時,可採用下面三種方法 1 利用軟體延時。當高電平延...