#include <REG52.H>
#include <intrins.h>
#define uchar unsigned char
//
#define data P0
sbit n1 =P2^0;
sbit n2 =P2^1;
sbit n3 =P2^2;
sbit n4 =P2^3;
sbit n5 =P2^4;
sbit n6 =P2^5;
uchar x[6]={0xff,0xff,0xff,0xff,0xff,0xff,};
void delay(uchar n) //n=1时延时1ms
{uchar a,b;
for(b=n;b>0;b--)
for(a=47;a>0;a--);
/*
uchar a,b,c;
for(c=n;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
*/
}
uchar number_(uchar x) //数码管显示值 x=0~10
{
uchar code num[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0xff};
return num[x];
}
void nu_display(uchar a,uchar n) // a=0~5,n=0~10
{switch(a){
case 0:x[0]=n;
case 1:x[1]=n;
case 2:x[2]=n;
case 3:x[3]=n;
case 4:x[4]=n;
default:x[5]=n;
} }
void display7(uchar n) //显示100MS时间
{
unsigned char a,b,c;
for(c=n;c>0;c--)
for(b=19;b>0;b--)
for(a=130;a>0;a--){
P0=number_(x[0]);
n1=0;
delay(1);
n1=1;
P0=number_(x[1]);
n2=0;
delay(1);
n2=1;
P0=number_(x[2]);
n3=0;
delay(1);
n3=1;
P0=number_(x[3]);
n4=0;
delay(1);
n4=1;
P0=number_(x[4]);
n5=0;
delay(1);
n5=1;
P0=number_(x[5]);
n6=0;
delay(1);
n6=1; }
}
void main()
{
for(;;){
nu_display(0,1);
nu_display(1,2);
nu_display(2,3);
nu_display(3,4);
nu_display(4,5);
nu_display(5,6);
display7(1); //显示500MS
nu_display(5,5);
display7(1); //显示500MS
nu_display(5,4);
display7(1); //显示500MS }
}