4*4键盘扫描C程序
#include<reg52.h>
#define uchar unsigned char
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xC6,0xA1,0x86,0x8E};
uchar temp,num;
void display(uchar);
void delay(uchar a)
{
uchar b;
for(;a>0;a--)
for(b=200;b>0;b--);
}
void main()
{
while(1)
{
P2=0x7f;
temp=P2;
temp&=0x0f;
if(temp!=0x0f)
{
delay(50);
if(temp!=0x0f)
{
switch(temp)
{
case 0x07: num="0"; break;
case 0x0b: num="1"; break;
case 0x0d: num="2"; break;
case 0x0e: num="3"; break;
}
}
}
P2=0xbf;
temp=P2;
temp&=0x0f;
if(temp!=0x0f)
{
delay(50);
if(tem