#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
static char i=3;
uchar code segArr[]={
0x3F,0X06,0X5B,0X4F,0X66,0X6D
};
void delayms(uint i)
{
uchar t;
while(i--)
{
for(t=0;t<125;t++)
{;}
}
}
void main()
{
char j=3;
P0=0x00;
EA=1;
EX0=1;
IT0=1;
PX0=1;
while(1)
{
switch(j)
{
case 3:
P1=0xEB;
P0=segArr[i];
delayms(1000);
i--;
if(i<0)
{ i=3; j--; }
break;
case 2:
P0=0x00;
P1=0xDD;
delayms(500);
P1=0xFF;
delayms(500);
i--;
if(i<0)
{
i=3; j--;
}
break;
case 1:
P1=0xBE;
P0=segArr[i];
delayms(1000);
i--;
if(i<0)
{ i=3; j--; }
break;
case 0:
P0=0x00;
P1=0xDD;
delayms(500);
P1=0xFF;
delayms(500);
i--;
if(i<0)
{ i=3; j=3; }
break;
}
}
}
void int0() interrupt 0
{
char k=5;
EX0=0;
for(;k>=0;k--)
{
P0=segArr[k];
P1=0xDD;
delayms(500);
if(k>0)
{
P1=0xFF;
delayms(500);
}
}
EX0=1;
i++;
IE0=0;
}
|