#include <REGX52.H>
#include <INTRINS.H>
sbit WE = P2^7;
sbit DU = P2^6;
tabel[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char Keyvalue;
void Delay(xms) //@11.0592MHz
{
unsigned char i, j;
while(xms)
{
_nop_();
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main()
{
WE = 1;
P0 = 0xfe;
WE = 0;
DU = 1;
P0=0x00;
while(1)
{
if(P3!=0xf0)
{
Delay(10);
P3=0xf0;
if(P3!=0xf0)
{
switch(P3)
{
case 0xe0:Keyvalue=0;break;
case 0xd0:Keyvalue=1;break;
case 0xb0:Keyvalue=2;break;
case 0x70:Keyvalue=3;