key.c

来自「前两天一个朋友要我写一个51例程」· C语言 代码 · 共 121 行

C
121
字号
/********************************************************/	
/*文件名:  										*/
/*功能:  						*/
/*编写:  										*/
/*建立时间: 
/*修改纪录: 											*/
/********************************************************/
#include "key.h"



INT8U	KeyCt[KeyNumber+1];	//定义检测按键的计数器
/**/

/*读取按键键值,注意,按键如果同时按下,也只能返回一个键值,但是有优先级*/
INT8U	GetKeyValue()
{
	uchar	KeyValueReg=0;
	if			(Key1)
	{
		if((KeyCt[1]>=KeyMaxTest))	
		{
			KeyValueReg= 	1;
		} 
		KeyCt[1]=0; 
	}
	if (Key2)
	{
		if((KeyCt[2]>=KeyMaxTest))	
		{
			KeyValueReg= 	2;
		} 
		KeyCt[2]=0; 
	}
	if (Key3)
	{
		if((KeyCt[3]>=KeyMaxTest))	
		{
			KeyValueReg= 	3;
		} 
		KeyCt[3]=0; 
	}
	if (Key4)
	{
		if((KeyCt[4]>=KeyMaxTest))	
		{
			KeyValueReg= 	4;
		} 
		KeyCt[4]=0; 
	}
	if (Key5)
	{
		if((KeyCt[5]>=KeyMaxTest))	
		{
			KeyValueReg= 	5;
		} 
		KeyCt[5]=0; 
	}
	if (Key6)
	{
		if((KeyCt[6]>=KeyMaxTest))	
		{
			KeyValueReg= 	6;
		} 
		KeyCt[6]=0; 
	}
	if (Key7)
	{
		if((KeyCt[7]>=KeyMaxTest))	
		{
			KeyValueReg= 	7;
		} 
		KeyCt[7]=0; 
	}
	if (Key8)
	{
		if((KeyCt[8]>=KeyMaxTest))	
		{
			KeyValueReg= 	8;
		} 
		KeyCt[8]=0; 
	} 
	return	(KeyValueReg);	
}
#ifdef	KEYSUBEN
void KeyScan()	{
				/*SetKeyOn*/
				if	((!Key1)&&(KeyCt[1]<KeyMaxTest)) 				   
				{															   
					KeyCt[1]++;												   
				}															   
				if	((!Key2)&&(KeyCt[2]<KeyMaxTest))				   
				{															   
					KeyCt[2]++;												   
				}															   
				if	((!Key3)&&(KeyCt[3]<KeyMaxTest))				   
				{															   
					KeyCt[3]++;												   
				}															   
				if	((!Key4)&&(KeyCt[4]<KeyMaxTest))				   
				{															   
					KeyCt[4]++;												   
				}															   
				if	((!Key5)&&(KeyCt[5]<KeyMaxTest))				   
				{															   
					KeyCt[5]++;												   
				}															   
				if	((!Key6)&&(KeyCt[6]<KeyMaxTest))				   
				{															   
					KeyCt[6]++;												   
				}															   
				if	((!Key7)&&(KeyCt[7]<KeyMaxTest))				   
				{															   
					KeyCt[7]++;												   
				}															   
				if	((!Key8)&&(KeyCt[8]<KeyMaxTest))				   
				{															   
					KeyCt[8]++;												   
				} 															   
			}  
#endif

⌨️ 快捷键说明

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