key_74165.c

来自「C语言单片机编程的代码及教程文献」· C语言 代码 · 共 42 行

C
42
字号
#define KEY_74165_GLOBALS
#include<reg51.h>
#include"Key_74165.h"
/*******************************************************************
函数名称:GetKey
即时返回扫描到的键值
********************************************************************/ 
uint8 GetKey(void)
{
	uint8 i,buf;
	Key_CS =1;
	Key_CLK=1;
	Key_SL =0;
	Key_SL =1;
	Key_CS =0;
	buf=0x00;
	for(i=1;i<17;i++)		   //读入键值
	{
		Key_CLK=1;
		Key_CLK=0;
		if(Key_OUT==0)return i;
		buf<<=1;
	}
	return 0;//没有读到键值,返回0 
}
/*******************************************************************
函数名称:GetOneKey
扫描键盘,等用户释放再返回键值,ASCII码:0~f
********************************************************************/
uint8 GetOneKey(void)
{
	uint8 key1=0;
	uint8 key2=0;
	while(key1==0)key1=GetKey();
	key2=GetKey();
	while(key1==key2)key2=GetKey();
	if(key1<10)return key1+'0';
	else return (key1+'a'-10);
}


⌨️ 快捷键说明

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