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

📄 key.c

📁 AT89S52单片机驱动带字库的LCD12864液晶屏实现图形显示
💻 C
字号:
#define  	uchar     unsigned char
#define  	uint      unsigned int
#include<89c51.h>

void delays(uint k)
{
	uint data i,j;
	for(i=0;i<k;i++)
	{
		for(j=0;j<121;j++)
		{;}
	}
}


uchar kbscan(void) 
{ 
	uchar temp,key; 
	P2=0x0F; 
	temp=P2&0x0F; 
	if(temp==0x0F) 
    return 0;    //没有按键按下,低四位中任意一位都不会被拉低 
	else 
	{ 
		delays(10);  //去干扰 
		temp=P2&0x0F; 
		if(temp==0x0F) 
		return 0; 
		else 
		key=temp;         
		}          
	P2=0xF0; 
	delays(10); 
   
	temp=P2&0xF0; 
	if(temp==0xF0) 
    return 0; 
	else 
    key|=temp; 
	do{;}
	while((P2&0xF0)!=0xF0);       //等待按键按下    
	return key;     
   	} 

uchar get_key(void) 
{ 
	uchar i=0; 
	i=kbscan(); 
	switch (i)             //将按键码转换成键值 
	{ 
		case 0x77: return 1; 
		case 0x7B: return 2; 
		case 0x7D: return 3; 
		case 0x7E: return 4; 
		case 0xB7: return 5; 
		case 0xBB: return 6; 
		case 0xBD: return 7; 
    	case 0xBE: return 8; 
    	case 0xD7: return 9; 
    	case 0xDB: return 10; 
    	case 0xDD: return 11; 
    	case 0xDE: return 12; 
    	case 0xE7: return 13; 
    	case 0xEB: return 14; 
    	case 0xED: return 15; 
    	case 0xEE: return 16; 
    	case 0x00: return 0X00; 
    	default  : return 0x00; 
	} 
} 

⌨️ 快捷键说明

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