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

📄 7_3.c

📁 单片机学习的例程.rar 学习单片机要从最基本的学起。对于初学者来说很适合的单片机C程序
💻 C
字号:
//键盘输入程序

#include<reg51.h>

unsigned char data keyword;

void delay(void);				//键消抖动延时函数
unsigned char keyscan(void);	//键扫描函数
unsigned char keyin(void);		//键输入函数

unsigned char data keyword;		//存放键输入字

main()
{
 	.							//初始化程序
	.
	.
	keyword=keyin();
	switch (keyword)
		{
		case 0:	function_0();break;		//跳至按键 0 功能函数
		case 1:	function_1();break;		//跳至按键 1 功能函数
		case 2:	function_2();break;		//跳至按键 2 功能函数
		case 3:	function_3();break;		//跳至按键 3 功能函数
		case 4:	function_4();break;		//跳至按键 4 功能函数
				.
				.
				.
				.
				.
				.
		default: break;
		}
		.
		.
		.
}


//键消抖动延时函数
void delay(void)
{
	unsigned int i;
	for(i=2000;i>0;i--)
	;
}


//keyscan(void)键扫描函数
//P1.0-P1.2行线输入P2.0-P2.7列线输出
unsigned char keyscan(void)
{
	unsigned char c,d;
	do
		{
		for (c=1;c<=0x80;c<<=1)
			{
			P2=c;			//发出列信号,使某一列输出为高电平
			d=P1&0x07;		//读行输入
			if (d!=0) return(d);
			}
		}
	while(d==0);			//无按键按下,继续键扫描
}

			
unsigned char keyin(void)	//键输入函数
{
	unsigned char t;
	do
		{
		t=keyscan();		//第一次键扫描
		delay();			//延时,消除键抖动
		}
	while (t!=keyscan()); 	//第二次键扫描,如果两次扫描的结果不一样则重新键扫描
return(t);					//两次扫描结果相同,返回
}

⌨️ 快捷键说明

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