那段码表还是共阴数码管的,要换成共阳数码管的.其实,用什么数码管都一样,只要显示出数字就行呗,为什么非要改成共阳呢,你自己还不会改程序。另外,你的仿真图与程序不符。
那个仿真图可以减化的,见下图,注意数码管的接法。改好的程序如下;
#include
#include
#define uchar unsigned char
#define unit unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0-9共阳数码管段码表
uchar led[]={1,2,3,4,5,6,7,8};
void delayms(uchar x)
{ unit j;
for( ;x>0;x--)
for(j=200;j>0;j--);
}
void display()
{
uchar aa=0x80,j;
for(j=0;j<8;j++)
{
P3=aa;
P0=table[led[j]];
delayms(2);
aa=_cror_(aa,1);
}
}
void main()
{
while(1)
{
display();
}
}