时钟调节时间的问题
时间:10-02
整理:3721RD
点击:
想用静态变量实现调节时数码管闪烁,但是不知道怎么的,调节的数码闪动的频率很快,还有相对不闪的数码管很暗。求找出问题。指点。谢谢!show_time(17)只是做调试设的。
void show_time(uchar x)
{
uchar tmp=0;
static uchar FLASH=10;
tmp=x;
if(flag!=1||FLASH==0)
{
P0=0x00;
a=0;b=0;c=0;
P0=table[tmp/10];
delay(5);
P0=0x00;
a=1;b=0;c=0;
P0=table[tmp%10];
delay(5);
}
if(flag!=2||FLASH==0)
{
P0=0x00;
a=1;b=1;c=0;
P0=table[tmp/10];
delay(5);
P0=0x00;
a=0;b=0;c=1;
P0=table[tmp%10];
delay(5);
}
if(flag!=3||FLASH==0)
{
P0=0x00;
a=0;b=1;c=1;
P0=table[tmp/10];
delay(5);
P0=0x00;
a=1;b=1;c=1;
P0=table[tmp%10];
delay(5);
}
if(FLASH--==0)
{
FLASH=10;
}
}
void main()
{
init();
while(1)
{
if(flag==0)
display(miao/10,miao%10,fen/10,fen%10,shi/10,shi%10);
if(flag!=0)
{
show_time(17);
}
}
}
void show_time(uchar x)
{
uchar tmp=0;
static uchar FLASH=10;
tmp=x;
if(flag!=1||FLASH==0)
{
P0=0x00;
a=0;b=0;c=0;
P0=table[tmp/10];
delay(5);
P0=0x00;
a=1;b=0;c=0;
P0=table[tmp%10];
delay(5);
}
if(flag!=2||FLASH==0)
{
P0=0x00;
a=1;b=1;c=0;
P0=table[tmp/10];
delay(5);
P0=0x00;
a=0;b=0;c=1;
P0=table[tmp%10];
delay(5);
}
if(flag!=3||FLASH==0)
{
P0=0x00;
a=0;b=1;c=1;
P0=table[tmp/10];
delay(5);
P0=0x00;
a=1;b=1;c=1;
P0=table[tmp%10];
delay(5);
}
if(FLASH--==0)
{
FLASH=10;
}
}
void main()
{
init();
while(1)
{
if(flag==0)
display(miao/10,miao%10,fen/10,fen%10,shi/10,shi%10);
if(flag!=0)
{
show_time(17);
}
}
}