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

📄 key_query.c

📁 EasyStudy51-II单片机开发系统的库函数源代码.包含了EasyStudy51-II硬件的全部驱动.
💻 C
字号:




#include "AT89X52.h"
#include "ES51_II.h"
#include "ES51_II_LIB.h"



//	
static unsigned char ReadKey(void)
{
	unsigned char keyval;
	unsigned char tmp = 0;
	KEYPORT |= 0x0f;
	if( ((KEYPORT&0x0f) != 0x0f) || ( KEY_INT0 != 1 )  || ( KEY_COUNT != 1 ))
		{
		KEY_COUNT = 1;
		KEY_INT0 = 1;
		KEYPORT |= 0x0f;								//	对于读端口操作,需要对端口先写1
														//	与数码管片选引脚共用P0端口,需要保持数码管片选信号
		keyval = KEYPORT&0x0f;							//	读取键值,并屏蔽高四位,高四位用于片选数码管
		tmp |= KEY_INT0;
		tmp <<= 1;
		tmp |= KEY_COUNT;
		//tmp = ( (tmp|KEY_INT0)<<1) | KEY_COUNT;			//	读取键INT0,COUNT
		tmp <<= 4;
		keyval |= tmp;									//	合并键值
		return keyval;
		}
	else 
		return 0x3f;
}

//	
unsigned char GetKeyVal(void)
{
	unsigned char i = 200;
	unsigned char keyval;

	keyval = ReadKey();
	while(i--);											//	延时,消抖
	if( (keyval != 0x3f) && (keyval == ReadKey() ) )	//	判断是否有键按下;判断两次所读键值相等
		{
		while( keyval == ReadKey() );					//	等待键的释放
		return 	keyval;									//	返回键值
		}
	else 
		return	0x3f;									//	无键按下,返回0xff
}

/*

unsigned char ReadKey(void)
{
	unsigned char i = 200;
	unsigned char keyval;

	keyval = KEYPORT;								//	与数码管片选引脚共用P0端口,需要保持数码管片选信号
	KEYPORT = keyval | 0x0f;						//	对于读端口操作,需要对端口先写1
	keyval = KEYPORT&0x0f;							//	读取键值,保存
	while(i--);										//	延时,消抖
	if( (keyval != 0x0f) && (keyval == (KEYPORT&0x0f)) )//	判断是否有键按下;再次读取键值,判断是否与前次所读值相等
		{
		while( keyval == (KEYPORT&0x0f) );			//	等待键的释放
		return 	keyval;								//	返回键值
		}
	else 
		return	0xff;								//	无键按下,返回0xff
}


//	获得键值	KEY1:1;	KEY2:2;	KEY3:3;	KEY4:4;
unsigned char GetKeyVal(void)
{
	unsigned char tmp;
	//tmp = ReadKey();
	switch( ReadKey() )
		{
		case KEY1VAL:
				tmp = 1;
				break;
		case KEY2VAL:
				tmp = 2;
				break;
		case KEY3VAL:
				tmp = 3;
				break;
		case KEY4VAL:
				tmp = 4;
				break;
		default:
				tmp = 0;
				break;
		}
	return	tmp;
}
*/

⌨️ 快捷键说明

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