PWM调光简单易懂
PWM調光
- 1.初始化led小燈
- 2.定義延遲函數
- 3.設置led燈的亮度
- 4.呼吸燈測試
pwm調光:
1.初始化led小燈
各個芯片及開發板存在差異,初始化程序大同小異,現在以CC2530芯片為例(CC2530其實就是C51的加強版)
#define LED1 P1_0 // P1.0口控制LED1 void InitLed(void) {P1DIR |= 0x01; //P1.0定義為輸出LED1 = 1; //使LED1燈上電默認為熄滅 }2.定義延遲函數
由于各開發板的晶振頻率不一致,所以相應的軟件延遲也不一致,我是用的晶振頻率是16Mhz
void DelayMS(uint msec){ uint i,j;for (i=0; i<msec; i++)for (j=0; j<535; j++);}3.設置led燈的亮度
void LedEvent(uint bright, int cycle) { LED1 = 0; //點亮LED Delay(bright); //延時,表示LED亮的時間LED1 = 1; //LED熄滅Delay(cycle - bright); //延時,表示LED熄滅的時間 }4.呼吸燈測試
void main(void) {unsigned int bright;//定義周期并賦值InitLed();while (1) //主循環{ //LED燈逐漸變亮,bright表示LED1低電平時間,循環從1累加到1500的值for(bright=1; bright<1500; bright++)LedEvent(bright, 1500);LED1 = 0;//逐漸變暗for(bright=1500-1; bright>0; bright--) LedEvent(bright, 1500);DelayMS(2000); } }總結
- 上一篇: 网络营销的15大形式
- 下一篇: HTML2CANVAS 合成图片