那com都是对的,奇怪一起显示就不行了。加个延时看看?
程序代码:
void sendbyte(uint b)//传送显示字节函数
{
uchar num,c;
COM0 = COM1 =COM2 = COM3 = 1; //熄灭数码管
delay(3);
COM3 = 0;
num=LED_table[b%10];//个位
for(c=0;c<8;c++)//依次传送8位
{
CLK=0;
DAT=num&0x01;
CLK=1;
num>>=1;
}
//COM0 = 1;
delay(3);
COM2 = 0;
num=LED_table[b%100/10];//十位
for(c=0;c<8;c++)//依次传送8位
{
CLK=0;
DAT=num&0x01;
CLK=1;
num>>=1;
}
//COM1 = 1;
delay(3);
COM1 = 0;
num=LED_table[b%1000/100] | 0x20;//百位,加上小数点
for(c=0;c<8;c++)//依次传送8位
{
CLK=0;
DAT=num&0x01;
CLK=1;
num>>=1;
}
//COM2 = 1;
delay(3);
COM0 = 0;
num=LED_table[b/1000];//千位
for(c=0;c<8;c++)//依次传送8位
{
CLK=0;
DAT=num&0x01;
CLK=1;
num>>=1;
}
//COM3 = 1;
}
[此贴子已经被作者于2017-4-28 11:39编辑过]