key.c
来自「此程序为单片机键盘程序,是简短高效的4*4键盘程度」· C语言 代码 · 共 70 行
C
70 行
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void dlms(void);
void delay(void);
uchar kbscan(void);
void main (void)
{
uchar key;
uchar a=0x00;
uchar b=0x00;
P2=0x00;
while(1)
{
key=kbscan();
dlms();
switch(key)
{case 0xee:a++;P2=a+b;break;
case 0xde:b++;b=b*10;P2=b+a;break;
}
delay();
}
}
void dlms (void)
{ uchar i;
for(i=200;i>0;i--){ }
}
void delay(void)
{
unsigned char m,n,s;
for(m=9;m>0;m--)
for(n=30;n>0;n--)
for(s=248;s>0;s--);
}
uchar kbscan(void)
{uchar sccode,recode;
P1=0xf0;
if((P1&0xf0)!=0xf0)
{dlms();
if((P1&0xf0)!=0xf0)
{sccode=0xfe;
while((sccode&0x10)!=0)
{P1=sccode;
if((P1&0xf0)!=0xf0)
{recode=P1&0xf0;
sccode=sccode&0x0f;
return(sccode+recode);
}
else
sccode=(sccode<<1)|0x01;
}
}
}
return(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?