當前位置:編程學習大全網 - 編程語言 - 求51單片機C51LED燈漸亮漸暗程序。。

求51單片機C51LED燈漸亮漸暗程序。。

// LedTimeCount應該為100

// 把下面這段的宏定義放在前面,代碼段覆蓋妳原來那段試試

// 註意保存和備份

// LED = 0表示燈亮,LED = 1表示燈滅,如果是反著的就把下面的0和1換壹下,或者改下宏定義

// pwmcount初始值為三角波,因此後半段的意思是把100次分為pwmcount自減段和常0段

// 如果自減段和常0段LED都為0則常亮

// c為偶數時pwmcount逐漸增加,自減段增加,此時LED如果為0,常0段為1,則變亮,反之變暗

// c為奇數時pwmcount逐漸減小,自減段減小,此時LED如果為1,常0段為0,則變亮,反之變暗

#define fLED(a,b,c) {LED1 = a;LED2 = b;LED3 = c;}

if (pwmcount > 0)

{

switch(c)

{

case 0://1變亮,2常亮,3變暗

fLED(0,0,1);

break;

case 1://1常亮,2變暗,3變亮

fLED(0,0,1);

break;

case 2://1變暗,2變亮,3常亮

fLED(1,0,0);

break;

case 3://1變亮,2常亮,3變暗

fLED(1,0,0);

break;

case 4://1常亮,2變暗,3變亮

fLED(0,1,0);

break;

case 5://1變暗,2變亮,3常亮

fLED(0,1,0);

break;

}

pwmcount--;

}

else

{

switch(c)

{

case 0://1變亮,2常亮,3變暗

fLED(1,0,0);

break;

case 1://1常亮,2變暗,3變亮

fLED(0,1,0);

break;

case 2://1變暗,2變亮,3常亮

fLED(0,1,0);

break;

case 3://1變亮,2常亮,3變暗

fLED(0,0,1);

break;

case 4://1常亮,2變暗,3變亮

fLED(0,0,1);

break;

case 5://1變暗,2變亮,3常亮

fLED(1,0,0);

break;

}

}

  • 上一篇:typedef和define具體的詳細區別
  • 下一篇:幼兒舞蹈課的教案步驟
  • copyright 2024編程學習大全網