一段数码管驱动程序,供大家参考,有问题可以提出来大家讨论啊

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:12:33
程序意思是数码管从0一直显示到F,在从F到0,最后循环,代码如下
#include<reg51.h>
#include<intrins.h>
unsigned char code tab[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x73,0x76};
sbit p20=P2^0;
sbit p21=P2^1;
void delay( )
{
unsigned char i,j;
for(i=0;i<226;i++)
{for(j=0;j<255;j++);}
}
void main( )
{
unsigned char k=0;
_nop_( );
_nop_( );
while(1)
{
P0=tab[k];
delay( );
k++;
if(k>15)
{
for(k=14;k>0;k--)
{
P0=tab[k];
delay( );
if(k<0)k=0;
}
}
}
}

我不知道你是对你的程序特自信还是拿上来让我们找错误,如果是分享的话这里不适合,但我要告诉你的是你的程序有问题: if(k<0)k=0;
这个语句根本执行不到,再说你也没有把位选打开!