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

📄 key.c

📁 基于intel8032的自动恒温采集系统
💻 C
字号:
#include <key.h>
#include <reg51.h>

unsigned char key_code;

//实时扫描函数
void key_scan()
{
 static unsigned char CL=0xff,n=0;
 unsigned char cc,c;

while(1){
P1=0xef;
c=P1;
if(c!=0xef)break;

P1=0xdf;
c=P1;
if(c!=0xdf)break;

P1=0xbf;
c=P1;
if(c!=0xbf)break;

P1=0x7f;
c=P1;
if(c!=0x7f)break;

c=0xff;
break;
}

 if (c==CL)
        n=n+1;
     else {n=0;
          CL=c;
          }
     if (n==KEY_N)
        cc=c;
     else cc=0xff;
     if (n>=KEY_R)
        n=0;

switch(cc){
	case 0x77:  key_code=0;	break;
	case 0xb7:  key_code=1;	break;
	case 0xbb:  key_code=2;	break;
	case 0xbd:  key_code=3;	break;
	case 0xd7:  key_code=4;	break;
	case 0xdb:  key_code=5;	break;
	case 0xdd:  key_code=6;	break;
	case 0xe7:  key_code=7;	break;
	case 0xeb:  key_code=8;	break;
	case 0xed:  key_code=9;	break;
	case 0x7b:  key_code=10; break;
	case 0xee:  key_code=11; break;
	case 0xde:  key_code=12; break;
	case 0xbe:  key_code=13; break;
	case 0x7d:  key_code=14; break;
	case 0x7e:  key_code=15; break;
	default:    key_code=0xff; break;
}
}

// 返回当前的键码
unsigned char inkey()
{
            return(key_code);            //仅表明当前键盘的状态
}

//用于数据的输入
unsigned char getkey()
{
	unsigned char a;
	while(key_code==0xff);  //无键按下时等待;
	a=key_code;
	key_code=0xff;
               return(a);
}

⌨️ 快捷键说明

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