text3.c

来自「单片机实现一个4*4键盘」· C语言 代码 · 共 48 行

C
48
字号
  #include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;


char code tab[]={0xC0,0xF9,0xA4,0xB0}; //0,1,2,3

void delay();   //延时
void delay()  
{
uchar k;
for(k=200;k>0;k--){}
}

void main()
{
while(1) {
int i,j,x,y,s,t;
P1=0x0F;    
P2=0xFF;
P0=0xFF;  //使灯灭
if((P1&0x0F)!=0x0F) //有键按下吗?  
{delay();    //延时,去抖动 
  if((P1&0x0F)!=0x0F) //有键按下吗? 
  { if(P10==0) i=0;   //第0行有键按下
 if(P11==0) i=1;   //第1行有键按下
 if(P12==0) i=2;   //第2行有键按下
 if(P13==0) i=3;   //第3行有键按下
 s=0xEF;      //列扫描
 for(j=0;j<4;j++)
 {P1=s;
 if((P1&0x0F)!=0x0F)   //该列有键按下吗?
 t=j;   
 s=(s<<1)|0x01;}    //左称

 P0=tab[i];    //第i行,第j列
 P2=tab[t];//显示
for(x=0;x<800;x++)     //延时
for(y=0;y<200;y++) ;

   }
  }
 } 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?