|
程序要實(shí)現(xiàn)的功能如下:
//首先,把二維數(shù)組Color_Library中的[9][0~7]的數(shù)據(jù),賦值給一維數(shù)據(jù)WsDat[0~103],再調(diào)用顯示函數(shù)Display_Color(WsDat[c]);發(fā)送到對(duì)應(yīng)的LED燈珠上。
//然后,把二維數(shù)組Color_Library中的[10][0~7]的數(shù)據(jù),重新賦值給一維數(shù)據(jù)WsDat[0~103],再調(diào)用顯示函數(shù)Display_Color(WsDat[c]);發(fā)送到對(duì)應(yīng)的LED燈珠上。
C51程序如下所示,我試著改了三種不同的書(shū)寫方式,只有第三種才能正確運(yùn)行。請(qǐng)各位大神幫忙看下,為什么會(huì)出現(xiàn)下述情況!
//第一種寫法,如下所示;在IAP15W4K58S4最小系統(tǒng)中運(yùn)行出錯(cuò)。LED燈珠無(wú)顯示。
void WaterLampToColor28()
{
unsigned char a,b,c,d;
for(d=0;d<2;d++)
{
for(a=0;a<13,a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[d+9][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
}
}
//如下所示,第二種書(shū)寫方式,在IAP15W4K58S4最小系統(tǒng)上運(yùn)行仍然錯(cuò)誤。LED燈珠無(wú)顯示。
void WaterLampToColor28()
{
unsigned char a,b,c;
for(a=0;a<13;a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[9][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
for(a=0;a<13;a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[10][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
//第三種書(shū)寫方式,在IAP15W4K56S4最小系統(tǒng)上運(yùn)行正常。
void WaterLampToColor28()
{
unsigned char a,b,c,d,e,f;
for(a=0;a<13;a++)
{
for(b=0;b<8;b++)
{
WsDat[b+a*8]=Color_Library[9][b ];
}
}
for(c=0;c<LED_num;c++)
{
Display_Color(WsDat[c]);
}
Delay_Xms(7);
for(d=0;d<13;d++)
{
for(e=0;e<8;e++)
{
WsDat[e+d*8]=Color_Library[10][e];
}
}
for(f=0;f<LED_num;f++)
{
Display_Color(WsDat[f]);
}
Delay_Xms(7);
}
|
|