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

📄 scankey.c

📁 利用STC89C52制作一个万年历,文件包含原理图(Cadence-Allegro),PCB示意图及整个源程序,经调试可用,希望对于编程初学者有帮助.
💻 C
字号:

/******************键扫描子程序***************/
void	Scankey(void)				
{	
	uchar	aj;
	TOP = 1;						//读下行4健
	MID = 1;
	BOM = 0;				
	Delay_us(8);
	KEY1 = ((P2^0XF0)&0XF0); 		//求反,有键相应位1,并保存键值	
	KEY1 = KEY1>>4;	
	MID = 0;						//读中行4健
	BOM = 1;
	Delay_us(10);
	aj = ((P2^0XF0)&0XF0); 		//求反,有键相应位1,并保存键值
	KEY1 = KEY1+aj;
	TOP = 0;						//读上行4健
	MID = 1;
	Delay_us(10);
	KEY2 = ((P2^0XF0)&0XF0); 		//求反,有键相应位1,并保存键值
	KEY2 = KEY2>>4;
}

/*****************键后处理*******************/
void	Kprec(void)						
{	
	uint x,temp;
	temp=KEY2;				//键前沿检出
	x = KEY2^LKEY2;			//上次本次键不同为1
	KEY2 = x&KEY2;			//且本次为1即键前沿
	x = temp;				//本次键值替代上次
	LKEY2 = temp;
	temp = KEY1;
	x = KEY1^LKEY1;			//上次本次键不同为1
	KEY1 = x&KEY1;			//且本次为1即键前沿
	x = temp;				//本次键值替代上次
	LKEY1 = temp;
}

⌨️ 快捷键说明

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