|
写了以下代码,编译无错误,写入芯片后只在第一位显示“8”数字。请指点一下原因!#include<reg52.h>
#include<intrins.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit ledw_a=P2^2;
sbit ledw_b=P2^3;
sbit ledw_c=P2^4;
uchar code led[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint i)
{
while(i--);
}
void main()
{
uchar i;
while(1)
{
for(i=0;i<8;i++);
{
switch(i)
{
case(0):
ledw_a=1;ledw_b=1;ledw_c=1;break;
case(1):
ledw_a=0;ledw_b=1;ledw_c=1;break;
case(2):
ledw_a=1;ledw_b=0;ledw_c=1;break;
case(3):
ledw_a=0;ledw_b=0;ledw_c=1;break;
case(4):
ledw_a=1;ledw_b=1;ledw_c=0;break;
case(5):
ledw_a=0;ledw_b=1;ledw_c=0;break;
case(6):
ledw_a=1;ledw_b=0;ledw_c=0;break;
case(7):
ledw_a=0;ledw_b=0;ledw_c=0;break;
}
P0 = led[i];
delay(200);
P0= 0x00;
}
}
}
|
|