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

📄 keys.h

📁 MS12864-R驱动
💻 H
字号:
/*******************************************************************
*【文 件 名】:keys.h                                              *
*【建立日期】:2008年7月3日                                        *
*【修改日期】:2008年7月4日                                        *
*【文件作用】:液晶12864驱动程序,包括所有关于液晶得函数           *
*【说    明】:操作按键提供直接调用函数,内部包括按键去抖          *
*------------------------------------------------------------------*
*【作    者】:郭鑫(ben)                                           *
*【版    权】:国家创新性实验项目,编号GCS07001                    *
*******************************************************************/

#ifndef _KEYS_08_07_04_
#define _KEYS_08_07_04_

/***************************头文件部分*****************************/




//#include <reg52.h>
/*
sbit key5 = P0^5;
sbit key4 = P0^4;
sbit key3 = P0^3;
sbit key2 = P0^2;
sbit key1 = P0^1;
sbit key0 = P0^0;

/***************************函数声明*******************************/
uchar key_check(uchar num);



/*******************************************************************
*【函 数 名】:key_check                                           *
*【修改日期】:2008年7月3日                                        *
*【函数作用】:检测按键情况, 1:有相应按键按下 0:反之               *
*------------------------------------------------------------------*
*【备    注】:                                                    *
*******************************************************************/
uchar key_check(uchar num)
{
    uchar sta;
    P0 = 255;
    delayMs(1);

	switch(num)
	{
		case 1:
			if(P0 == 0xfd)
			{
				delay(8);
				if(P0 == 0xfd)
				{
					while(P0 == 0xfd);
					sta = 1;
				}		  
			}
			else 
				sta = 0;
			break;
			
		case 2:
			if(P0 == 0xfb)
			{
				delay(8);
				if(P0 == 0xfb)
				{
					while(P0 == 0xfb);
					sta = 1;
				}		  
			}
			else 
				sta = 0;
			break;
			
		case 3:
			if(P0 == 0xf7)
			{
				delay(8);
				if(P0 == 0xf7)
				{
					while(P0 == 0xf7);
					sta = 1;
				}		  
			}
			else 
				sta = 0;
			break;
			
		case 4:
			if(P0 == 0xef)
			{
				delay(8);
				if(P0 == 0xef)
				{
					while(P0 == 0xef);
					sta = 1;
				}		  
			}
			else 
				sta = 0;
			break;
			
		case 5:
			if(P0 == 0xdf)
			{
				delay(8);
				if(P0 == 0xdf)
				{
					while(P0 == 0xdf);
					sta = 1;
				}		  
			}
			else 
				sta = 0;
			break;
        case 0:
			if(P0 == 0xfe)
			{
				delay(8);
				if(P0 == 0xfe)
				{
					while(P0 == 0xfe);
					sta = 1;
				}		  
			}
			else 
				sta = 0;
			break;


	}
//        P0 = 255;
//        delayMs(1);

	return sta;
}

#endif

⌨️ 快捷键说明

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