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

📄 1.c

📁 51单片机串行口扩展键盘接口仿真 51单片机串行口扩展键盘接口仿真
💻 C
字号:
#include <reg51.h>

sbit  flag = P3^2;
unsigned char key_code = 10;  
 
void delay()	//延时函数;
{
	unsigned char a,b;	  
	for(a=0;a<20;a++)
		for(b=0;b<100;b++);
    		
}

key() //按键处理函数;
{
	unsigned char k =0xfe, column = 0;
	while(1)
	{
   		SBUF = k;
		while(TI !=1);
		TI = 0;	
		if(flag != 0)
		{	
			column++;
			if(column >= 8) column = 0;
			k = k<<1;
			
		}	
		else
		{
			key_code = column;
			
			SBUF = 0x00;
			while(TI == 0);
			TI = 0;
			return(key_code);
			break;									
		}		
    }


}





main()
{
	SCON = 0x00;
	EA = 0;
	ES = 0;
	SBUF = 0x00;
	while(TI !=1);
	TI = 0;

	while(1)
	{
		if(flag == 0)
		{
			delay();
			if(flag == 0) key();
		}
		
		switch(key_code)
		{
			case 0:
				P1 = 0x01;
				break;
			case 1:
				P1 = 0x02;
				break;
			case 2:
				P1 = 0x04;
				break;
			case 3:
				P1 = 0x08;
				break;
			case 4:
				P1 = 0x10;
				break;
			case 5:
				P1 = 0x20;
				break;
			case 6:
				P1 = 0x40;
				break;
			case 7:
				P1 = 0x80;
				break;
			default:
				P1 = 0x00;
				break;
		}
	}
}

⌨️ 快捷键说明

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