for (i=0;i <count;i++)
for(j=0;j <140;j++)
;
}
void main(void)
{
EA=1;
EX1=1;
EX0=1;
while (1);
}
void service_int1() interrupt 2 using 2
{
do
{
unsigned char k,a,b,c,d;
bit i,j;
P1=0xff;
k=P1;
if (P1^4==1) //DS1=1;
{
switch(k&05)
{
case 0x01: i=1; break; //超量程
case 0x05: i=1; break; //超量程
case 0x04:
{
while (P1^4==1) {a=0x01;};
{a=0x00;}
while (P1^5==1) //DS2=1
{b=P1;
b=b&0x0f;
switch (b)
{
case 0: {P0_1=0;P2=0xee;DelayX1ms (20);} break;
case 1: {P0_1=0;P2=0x60;DelayX1ms (20);} break;
case 2: {P0_1=0;P2=0x5e;DelayX1ms (20);} break;
case 3: {P0_1=0;P2=0x9e;DelayX1ms (20);} break;
case 4: {P0_1=0;P2=0xb2;DelayX1ms (20);} break;
case 5: {P0_1=0;P2=0xbc;DelayX1ms (20);} break;
case 6: {P0_1=0;P2=0xfc;DelayX1ms (20);} break;
case 7: {P0_1=0;P2=0x8a;DelayX1ms (20);} break;
case 8: {P0_1=0;P2=0xfe;DelayX1ms (20);} break;
case 9: {P0_1=0;P2=0xbe;DelayX1ms (20);} break;
}
}
while (P1^6==1) //DS3=1
{ c=P1;
c=c&0x0f;
switch (c)
{ case 0:{P0_3=0;P2=0xee;DelayX1ms (200);} break;
case 1:{P0_3=0;P2=0x60;DelayX1ms (200);} break;
case 2:{P0_3=0;P2=0x5e;DelayX1ms (200);} break;
case 3:{P0_3=0;P2=0x9e;DelayX1ms (200);} break;
case 4:{P0_3=0;P2=0xb2;DelayX1ms (200);} break;
case 5:{P0_3=0;P2=0xbc;DelayX1ms (200);} break;
case 6:{P0_3=0;P2=0xfc;DelayX1ms (200);} break;
case 7:{P0_3=0;P2=0x8a;DelayX1ms (200);} break;
case 8:{P0_3=0;P2=0xfe;DelayX1ms (200);} break;
case 9:{P0_3=0;P2=0xbe;DelayX1ms (200);} break;
default: break;
}
}
while (P1^7==1) //DS4=1
{ d=P1;
d=d&0x0f;
switch (d)
{ case 0:{P0_2=0;P2=0xee;DelayX1ms (200);} break;
case 1:{P0_2=0;P2=0x60;DelayX1ms (200);} break;
case 2:{P0_2=0;P2=0x5e;DelayX1ms (200);} break;
case 3:{P0_2=0;P2=0x9e;DelayX1ms (200);} break;
case 4:{P0_2=0;P2=0xb2;DelayX1ms (200);} break;
case 5:{P0_2=0;P2=0xbc;DelayX1ms (200);} break;
case 6:{P0_2=0;P2=0xfc;DelayX1ms (200);} break;
case 7:{P0_2=0;P2=0x8a;DelayX1ms (200);} break;
case 8:{P0_2=0;P2=0xfe;DelayX1ms (200);} break;
case 9:{P0_2=0;P2=0xbe;DelayX1ms (200);} break;
default: break;
}
}
} break;
}
}
}
while(1);
}