⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 4*4矩阵键盘按键显示按键值
💻 C
字号:
#include<reg52.h>
#define unchar unsigned char 

 /*----------------------------
 延时
 -----------------------------*/
void delay()
 {  
    unchar i,j;
    for(i=0;i<20;i++)
	for(j=0;j<20;j++); 
 }

unchar Led[]={0x3f,0x06,0x5b,0x4f,0x66};
unchar disbuf[4]={0};

/*----------------------------
判断有无按键,并返回按键值
----------------------------*/

unchar  Keybcd()
{
  unchar count,cmd,key;
  key=0;
 while(key==0)
  { P1=0x0f;
      if( P1!=0x0f){
     	  delay();
		     if(P1!=0x0f){
		            cmd=0xef;

for(count=0;count<4;count++){
   P1=cmd;
   if((P1&0x0f)!=0x0f){
                 key= (cmd&0xf0)+(P1&0x0f);
 	                          key=~key;
	                               break;}
   else
      cmd=(cmd<<1)+1;
			}
	      }
     }
  else 	
      return(0);  /*-------没加这句即开始无按键没返回值-------*/
   }
	  
   P1=0x0f;
   while(P1!=0x0f);
  return(key);
 }
/*----------------------------
LED显示
---------------------------*/
void display()
{
 static unchar x=0 ;
  switch(x){
           case 0:P2=0xff;P0=Led[disbuf[0]];P2=0xf7;delay();x=1;break;
		   case 1:P2=0xff;P0=Led[disbuf[1]];P2=0xfb;delay();x=2;break;
		   case 2:P2=0xff;P0=Led[disbuf[2]];P2=0xfd;delay();x=3;break;
		   case 3:P2=0xff;P0=Led[disbuf[3]];P2=0xfe;delay();x=0;break;
		   }
}
 /*-----------------------------
 有按键就移位
 ------------------------------*/
void yi_wei(unchar a[],unchar x)
{
   unchar i;
   for(i=3;i>0;i--){
        a[i]=a[i-1];
	}
		a[i]=x;
}
/*----------------------------
主程序
------------------------------*/
void main()
{
   unchar var,temp;
   while(1){
   display();

   var=Keybcd();         

  if(var==0x28){
         temp=1;
		 yi_wei(disbuf,temp);
	     display();
	              }
    else if(var==0x24) {
	      temp=2;
		  yi_wei(disbuf,temp);
		  display();
		   
    		  }
	   else if(var==0x22){
	       temp=3;
		   yi_wei(disbuf,temp);
		   display();
		   }
           else if(var==0x48){
	         temp=4;
		     yi_wei(disbuf,temp);
		     display();
		}  
	}
}

⌨️ 快捷键说明

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