4x4key.txt

来自「这是一个4*4键盘程序,已通过串口检测,效果还不错」· 文本 代码 · 共 74 行

TXT
74
字号
下面是一个4*4键盘程序,已通过串口检测,可以用的 

/*********************************************
说明读出键值               11 21 31 41 
            12 22 32 42
            13 23 33 43
            14 24 34 44

**********************************************/
#include<reg51.h>

unsigned char key;
void delay8ms(void) 

{ 

  unsigned char i,j; 

  for(i=16;i>0;i--) 

  for(j=248;j>0;j--); 

}

void key_value(void)
{
  unsigned char i,j; 
  unsigned char tempi,tempj;  
  key=0;
  tempi=0x10;tempj=0x01;
  for(i=0;i<4;i++)
  {
    for(j=0;j<4;j++)
    {
      P0=~(tempi<<i);
      if((P0&(tempj<<j))==0)
      {
       key=((i+1)<<4)+j+1;
      }
    }
  }     

}
void main(void)
{ SCON=0x50;
  PCON=0x00;
  TMOD=0x20;
  TH1=0xf3;
  TL1=0xf3;
  TR1=1;
  while(1)
  {    delay8ms();
    key_value();
  if(key!=0)
  {
    delay8ms();

    if(RI==1)
    {
      RI=0;   
      SBUF=key;
    }
    if(TI==1)
    {TI=0;}
  }

}
}

  

 
 

⌨️ 快捷键说明

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