void setup()
{
volatile char *dirf,*dira,*outf,*ina;
volatile long i,x,j;
dirf=0x30; dira=0x21; outf=0x31; ina=0x20;
*dirf=0xFF; *dira=0x00;
while(1)
{
i=0;
x=*ina;
if(((x & 0x01) == 0x01) && ((x & 0x40) == 0x40))
{
*outf = 0x10;
//for (i=0; i<2000000; i++);
}
*outf = 0x00;
}
}