|
本人用到是飛凌(feeling)的FM8PE531MA,程序再換頁的時(shí)候總是有一些問題,程序如下
void chang_pwm(u8 dt) @0x0400
{
if(i<=0)
j=1;
if(i>=60)
j=-1;
if(udata1)
{
udata1=0;
i=i+j;
}
switch(10-dt)
{
case 1:dat9=i;/*dat8=i;dat7=i;dat6=i;dat5=i;dat4=i;dat3=i;dat2=i;dat1=i;*/break;
case 2:dat8=i;/*dat9=0;dat7=i;dat6=i;dat5=i;dat4=i;dat3=i;dat2=i;dat1=i;*/break;
case 3:dat9=0;dat8=0;dat7=i;dat6=i;dat5=i;dat4=i;dat3=i;dat2=i;dat1=i;break;
case 4:dat9=0;dat8=0;dat7=0;dat6=i;dat5=i;dat4=i;dat3=i;dat2=i;dat1=i;break;
case 5:dat9=0;dat8=0;dat7=0;dat6=0;dat5=i;dat4=i;dat3=i;dat2=i;dat1=i;break;
case 6:dat9=0;dat8=0;dat7=0;dat6=0;dat5=0;dat4=i;dat3=i;dat2=i;dat1=i;break;
case 7:dat9=0;dat8=0;dat7=0;dat6=0;dat5=0;dat4=0;dat3=i;dat2=i;dat1=i;break;
case 8:dat9=0;dat8=0;dat7=0;dat6=0;dat5=0;dat4=0;dat3=0;dat2=i;dat1=i;break;
case 9:dat9=0;dat8=0;dat7=0;dat6=0;dat5=0;dat4=0;dat3=0;dat2=0;dat1=i;break;
default:
break;
}
P0DPR=dat1;
P1DPR=dat3;
}
void CTR_FLAME_Pwm(void)
{
STATUSbits.PG0=1;
switch(sta)
{
STATUSbits.PG0=1;
chang_pwm(1);
STATUSbits.PG0=0; break;
case 2:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 3:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 4:STATUSbits.PG0=1;
chang_pwm(1);
STATUSbits.PG0=0; break;
case 5:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 6:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 7:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 8:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 9:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 10:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 11:STATUSbits.PG0=1;
chang_pwm(6);
STATUSbits.PG0=0; break;
case 12:STATUSbits.PG0=1;
chang_pwm(7);
STATUSbits.PG0=0; break;
case 13:STATUSbits.PG0=1;
chang_pwm(6);
STATUSbits.PG0=0; break;
case 14:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 15:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 16:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 17:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 18:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 19:STATUSbits.PG0=1;
chang_pwm(7);
STATUSbits.PG0=0; break;
case 20:STATUSbits.PG0=1;
chang_pwm(8);
STATUSbits.PG0=0; break;
case 21:STATUSbits.PG0=1;
chang_pwm(9);
STATUSbits.PG0=0; break;
case 22:STATUSbits.PG0=1;
chang_pwm(7);
STATUSbits.PG0=0; break;
case 23:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 24:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 25:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 26:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 27:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 28:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 29:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 30:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 31:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 32:STATUSbits.PG0=1;
chang_pwm(6);
STATUSbits.PG0=0; break;
case 33:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 34:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 35:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 36:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 37:STATUSbits.PG0=1;
chang_pwm(1);
STATUSbits.PG0=0; break;
case 38:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 39:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 40:STATUSbits.PG0=1;
chang_pwm(4);
STATUSbits.PG0=0; break;
case 41:STATUSbits.PG0=1;
chang_pwm(5);
STATUSbits.PG0=0; break;
case 42:STATUSbits.PG0=1;
chang_pwm(2);
STATUSbits.PG0=0; break;
case 43:STATUSbits.PG0=1;
chang_pwm(3);
STATUSbits.PG0=0; break;
case 44:
sta=1;
break;
}
}
sta我在另一個(gè)函數(shù)里會自加,現(xiàn)在的情況是程序運(yùn)行到case 22那里以后好像就下不去,了,又重case 1開始
|
|