|
#include "reg52.h"
sfr p0=0x80;
sfr p6=0xe8;
void delay(unsigned int k)
unsigned char kx(void);
{
unsigned char a,b,c=16;
for(a=0;a<4;a++)
{
p0=_crol_(0xfe,a);
b=p0;
b=b & 0xf0;
if(b!=0xf0)
{
delay(50);
b=p0;
b=b & 0xf0;
if(b!=0xf0)
{
b=p0;
switch(b)
{
case 0xee:c=0;break;
case 0xde:c=4;break;
case 0xbe:c=8;break;
case 0x7e:c=12;break;
case 0xed:c=1;break;
case 0xdd:c=5;break;
case 0xbd:c=9;break;
case 0x7d:c=13;break;
case 0xeb:c=2;break;
case 0xdb:c=6;break;
case 0xbb:c=10;break;
case 0x7b:c=14;break;
case 0xe7:c=3;break;
case 0xd7:c=7;break;
case 0xb7:c=11;break;
case 0x77:c=15;break;
default:break;
}
}
while((b & 0xf0)!=0xf0)
{
b=p0;
b=b & 0xf0;
}
}
}
}
return c;
delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i<200;i++)
{
for(j=0;j<k;j++);
}
}
void main()
{
int c;
while(1)
{
c=kx();
}
}
|
|