key.c

来自「应用KEILC写的一个C51程序」· C语言 代码 · 共 44 行

C
44
字号
#include "key.h"
#include "delay.h"
uchar GetKeyValue(void)
{
   uchar keyval,newkey;
   uchar i,j,kv;
   kv=0;    
   for(i=0;i<4;i++)
   {
      P2=(0xef<<i);
	  keyval=P0;
	  keyval &=0x1f;

	  if(keyval!=0x1f)
	  {
	     delayms(10);         
	     newkey=P0;
	     newkey &=0x1f;
		 if(keyval==newkey)
		 {
		    newkey=P0;
			while((newkey & 0x1f)!=0x1f)
			   newkey=P0;
            for(j=0;j<5;j++)
			{
			   if(((keyval>>j)&0x01)==0x00)
			   {
			      kv=j*4+i+1;
				  break;
			   }
			}			 
		 }
	  }
   }
   return kv;
}

//1--1  2--2    3--3  4--F1
//5--4  6--5    7--6  8--F2
//9--7  10--8  11--9  12--F3  
//13--* 14--0  15--#  16--F4
//17--C 18--B  19--A		

⌨️ 快捷键说明

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