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

📄 sckey.c

📁 单片机C语言程序设计.日历时钟用液晶显示
💻 C
字号:
#include <c8051f020.h>


#define arrangekey P3	//P3口低五位接行线
#define rowkey P1		//P14—P16接列线

extern void Delay1ms(unsigned char T);


unsigned char keyscan(void)
{
   unsigned char scancode, scancodearr,scancoderow, tmpcode;
   unsigned int i;
   arrangekey &= 0xe0;	  //行端口送全0
   if((rowkey&0x70)!= 0x70)
   {
       Delay1ms(10);
	   if((rowkey&0x70)!= 0x70)
	   {   scancoderow = rowkey;
	       scancoderow &= 0x70;
	       arrangekey |= 0x1e;

           while (1)
		   {
		       for(i=0;i<5;i++)
			   {  
			       if((rowkey & 0x70) != 0x70)		 //本行有键按下
		           {
		               scancodearr =arrangekey;
			           scancodearr &= 0x1f;
			           scancoderow = scancoderow<<1;
			           scancode = scancoderow + scancodearr;
			           return(~scancode);
		           }
		           else	   arrangekey = (arrangekey<<1) | 0x01;	   //行扫描码左移一位
			   }

			   arrangekey |= 0x1e;
		   	}
	   }
	}
	return(0);      
}

⌨️ 快捷键说明

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