// 把下面這段的宏定義放在前面,代碼段覆蓋妳原來那段試試
// 註意保存和備份
// 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;
}
}