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

📄 keytext.c

📁 又串口通信的扩展来得应用
💻 C
字号:
#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char

uchar const keyin[]={0x7e,0xbe,0xde,0xee/*row one*/,0x7d,0xbd,0xdd,0xed/*row two*/,0x7b,0xbb,0xdb,0xeb/*row three*/,0x77,0xb7,0xd7,0xe7/*row four*/};
uchar const keyvalue[]={0x0,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
//uchar const display_value[]={0x2,0x9e,0x24,0xc,0x98,0x48,0x40,0x1e,0x0,0x8,0x10,0xc0,0x62,0x84,0x60,0x70};
uchar keybroad_value,keyflag;

void delay10ms()
{
	uchar i,j;
	for(j=10;j>0;j--)
	{
		for(i=0;i<125;i++)
		{;}
	}

}

void keyscan()
{
	uchar first_value,temp,i,j;
	first_value=0xfe;
	j=0;
	for(;j<4;j++)
	{
		P1=first_value;
	  temp=P1;
	  if(temp!=first_value)
	      {
	    	  delay10ms();
	    	  if(P1==temp)
	    	      {
	    	    	  for(i=0;i<16;)
	    	    	        {
	    	    	        	if(temp==keyin[i])
	    	    	        	   {
	    	    	      	       	keybroad_value=keyvalue[i];
	    	    	      	       	keyflag=1;
	    	    	      	       	break;
	    	    	      	       }
                                i++; 
	    	    	        }
	    	      }
	      }
	  if(keyflag) break;
	       else first_value=_crol_(first_value,1);
	}
}

void main()
{
  P2=0x05;
	SCON=0x50;
	TMOD=0x20;
	IE=0x82;
	TH1=0xF3;
	TR1=1;
	while(1)
	  {
        while(!RI);
        RI=0;
        P0=SBUF;
		  
	    keyflag=0;
	    keyscan();
	    
	    while(!TI);
		  TI=0;
	    P0=SBUF=keybroad_value;
	}
}

⌨️ 快捷键说明

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