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

📄 key.c

📁 应用电子密码锁
💻 C
字号:
#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int

void delayms(void);

 
uchar kbscan(void)
{
	unsigned char sccode,recode;
	P2=0x0f;  //发0扫描,列线输入
	if ((P2 & 0x0f) != 0x0f)  //有键按下
	{
		delayms();   //延时去抖动
		if ((P2&0x0f)!= 0x0f)
		{
			sccode = 0xef;    //逐行扫描初值
			while((sccode&0x01)!=0)
			{
			    P2=sccode;
				if((P2&0x0f)!=0x0f)
				{
				    recode=(P2&0x0f)|0xf0;
					while((P2&0x0f)!=0x0f);//松开按键返回键值
					return((~sccode)+(~recode));
				 }
		        else
				sccode=(sccode<<1)|0x01;
			}
		}
	}
	return 0;  //无键按下,返回0
}


void delayms(void)
{
    unsigned char k,y;
	for (k=200; k>0; k--)
	for (y=50;y>0;y--);
}

⌨️ 快捷键说明

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