答案:#include <at89x51.h>
#define uint unsigned int
#define uchar unsigned char
Delay_ms()
{uchar i,j,k;
for(i=200;i>0;i--)
for(j=5;j>0;j--)
//for(k=1;k>0;k--)
;
}
Display_Num(uchar a)
{
if(a==0)
{ P0=0xc0;
}
else if (a==1)
{P0=0xf9;
}
else if(a==2)
{P0=0xa4;
}
else if(a==3)
{P0=0xb0;
}
else if(a==4)
{P0=0x99;
}
else if(a==5)
{P0=0x92;
}
else if(a==6)
{P0=0x82;
}
else if(a==7)
{P0=0xf8;
}
else if(a==8)
{P0=0x80;
}
else if(a==9)
{P0=0x90;
}
}
Dispay_W(uchar b)
{if(b==0)
{ P1=0xf7;
}
else if (b==1)
{P1=0xf3;
}
else if(b==2)
{P1=0xf1;
}
else if(b==3)
{P1=0xf0;
}
}
DP(g)
{
P1=0xf3;
P0=0x7f;
delay_ms();
P0=0xff;
P1=0xff;
}
main(void)
{
uchar a,b,c,d,e,f,g;
while(1)
{
for(e=2;e<3;e++)//hour of tens digin.
for(d=3;d<10;d++)//hour of the uint.
{if((e==2)&(d>3))
{e=0;d=0;}
for(c=0;c<6;c++)//min of tens tigin.
for(b=0;b<10;b++)//min of the uint.
for(g=0;g<10;g++)
{
DP(g);
delay_ms();
for(a=0;a<35;a++)
{
P1=0xfe;
Display_Num(e);
delay_ms();
P1=0xfd;
Display_Num(d);
delay_ms();
P1=0xfb;
Display_Num(c);
delay_ms();
P1=0xf7;
Display_Num(b);
delay_ms();
/*P1=0xfe;
Display_Num(e);
delay_ms();
P1=0xfd;
Display_Num(d);
delay_ms();
P1=0xfb;
Display_Num(c);
delay_ms();
P1=0xf7;
Display_Num(b);
delay_ms();
*/
//P1=0xf3;
//P0=0x7f;
//delay_ms();
//P1=1;
//P0=0x80;
//delay_ms();
}
}
}
}
}
这个程序是可以的,稍做修改就能得到你想要的。不需要工具?我有VC++的代码!
上一个:C语言做通讯录 会的帮下
下一个:寻求计算机维修、C语言高手教学。