我用的实验板是用138进行共阴数码管选择的。然后发现相邻位的数码管能点亮(如可以点亮最右边的两个数码管),但不能点亮相隔的数码管。不知有老鸟能看出原因么。
以下程序正常,但P23换成1数码管就完全点不亮了。
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x07f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0123456789ABCDEF 共阴
void delay(uchar c)
{
uchar x,y;
for(x=0;x<c;x++)
for(y=0;y<110;y++);
}
void main()
{
while(1)
{
P24=0;
P23=0;
P22=0;
P0=table[1];
delay(5);
P24=0;
P23=0;
//比如改成P23=1,照理应该是右边倒数第一和第四个能显示字符,但实际是数码管完全不显示
P22=1;
P0=table[2];
delay(5);
}
}
-
一周热门 更多>