📄 11.c
字号:
#include "AT89X51.H"
void delay10ms();
void main()
{unsigned char key;
unsigned char table[]={0xf9,0x24,0x30,0x19,0x12,0x19,0x30,0x12,
0x00,0x18,0x08,0x00,
0x46,0x40,0x06,0x0e, 0xff};
while(1)
{P0=0xff;
P3=0xff;
P3_4=0;
key=P3&0x0f;
if(key!=0x0f)
{delay10ms();
key=P3&0x0f;
if(key!=0x0f)
{switch(key)
{case 0x0e: key=0;break;
case 0x0d: key=1;break;
case 0x0b: key=2;break;
case 0x07: key=3;break;
}
}
P0=table[key];
key=key&0x0f;
while(key!=0x0f)
{key=P3;
key=key&0x0f;
}
}
P3=0xff;
P3_5=0;
key=P3&0x0f;
if(key!=0x0f)
{delay10ms();
key=P3&0x0f;
if(key!=0x0f)
{switch(key)
{case 0x0e: key=4;break;
case 0x0d: key=5;break;
case 0x0b: key=6;break;
case 0x07: key=7;break;
}
}
P0=table[key];
key=key&0x0f;
while(key!=0x0f)
{key=P3;
key=key&0x0f;
}
}
P3=0xff;
P3_6=0;
key=P3&0x0f;
if(key!=0x0f)
{delay10ms();
key=P3&0x0f;
if(key!=0x0f)
{switch(key)
{case 0x0e: key=8;break;
case 0x0d: key=9;break;
case 0x0b: key=10;break;
case 0x07: key=11;break;
}
}
P0=table[key];
key=key&0x0f;
while(key!=0x0f)
{key=P3;
key=key&0x0f;
}
}
P3=0xff;
P3_7=0;
key=P3&0x0f;
if(key!=0x0f)
{delay10ms();
key=P3&0x0f;
if(key!=0x0f)
{switch(key)
{case 0x0e: key=12;break;
case 0x0d: key=13;break;
case 0x0b: key=14;break;
case 0x07: key=15;break;
}
}
P0=table[key];
key=key&0x0f;
while(key!=0x0f)
{key=P3;
key=key&0x0f;
}
}
}
}
void delay10ms()
{unsigned int i,k;
for(i=20;i>0;i--)
for(k=20;k>0;k--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -