新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機:PWM實現(xiàn)燈漸亮_漸滅,水滴效果

51單片機:PWM實現(xiàn)燈漸亮_漸滅,水滴效果

作者: 時間:2012-08-10 來源:網(wǎng)絡(luò) 收藏

/********
脈沖寬度調(diào)制(Pulse Width Modulation,簡稱),是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種技術(shù)。
可近似的認(rèn)為就是一種方波。
___|~~~~~~~|____|~~~~~~~~ 占空比:高電平在一個周期之內(nèi)所占的時間比率
單片機控制LED燈發(fā)亮的,然后是花樣繁多的流水燈,但不管燈的花樣如何變化,單個LED的亮度沒有變化,只有亮、滅兩個狀態(tài)
但如果P口輸出高低不斷變化,則LED會閃爍;如果這種高低電平變化非???,由于人的視覺暫留現(xiàn)象,LED就會出現(xiàn)不同的亮度。。。
當(dāng)P口輸出低電平時,LED亮,輸出高低高低構(gòu)成(用for循環(huán)即可取得時間差),PWM的占空比越小越亮
**/

#includereg52.h> #define uint  unsigned int #define uchar unsigned charvoid delay(uint x) //延時一個1ms{uint a,b;for(a=x;a>0;a--)for(b=274;b>0;b--);}//------------------------#define P //不可寫成P0否則會沖突,提示^,=錯誤#ifdef Puchar i;sbit P01=P1^1;sbit P03=P1^3;uchar code LightLevel[8]={0,1,2,4,8,16,32,64};   //亮點級別,數(shù)組用codevoid LED_PWM(void){while(1){P1=0xfd;      //第2個燈亮delay(2);for(i=0;i=250;i++){if(i10){P1=0xf7;   //第4個燈亮}else {P1|=0x0a;}}} }#endifvoid main(){LED_PWM(); }//據(jù)此思路即可寫出水滴,滴落效果

pwm相關(guān)文章:pwm原理




關(guān)鍵詞: 51單片機 PWM 水滴效果

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉