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

📄 key.c

📁 本人编制且正在使用的c51键盘读取程序
💻 C
字号:
#include <reg52.h>
#include <KEYQUEUE1.h>
extern void delay (unsigned int time);
extern xdata KeyQueue kq;
extern void EnQueue(KeyQueue *pQ,UINT iFlag,UINT iValue);
extern unsigned int KeyStatus;
extern void dog();
extern void gn1(void);
extern long lGlobalTime;
extern enum Authorized{UnAuthorized,Authorized} eAuthorized;
void key()
{  	unsigned char keycode;
	unsigned char scancode;
	unsigned char keypressflag;
	 long times=0;
 	delay(200);
   	while (1)
	{	
		scancode=0;
		scancode=0XEF;
	    dog();	
		while (scancode !=0XFF) 
		{   
    		P1=scancode;
    		keycode=P1;  
 
			if ((keycode & 0X0F) !=0X0F) 
				break;
			scancode=(keycode<<1) |0X0F;
    	}
    	if(keycode != 0x7F)
        	break;
 	    else 
		{
        	times +=1;
        	if(times>100000)
        	{
				lGlobalTime += times*30;
				eAuthorized = UnAuthorized;
				gn1();
        		return;
			}
        }
    }

	do {
     keypressflag=P1;
     delay(200);}
   	while ((keypressflag & 0x0f) != 0x0f); 
    keycode =~keycode;
	EnQueue(&kq,KeyStatus,keycode);    
}


⌨️ 快捷键说明

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