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

📄 keyscan.h

📁 此程序是基于89s52单片机的c程序
💻 H
字号:
#define uchar unsigned char
#define uint unsigned int

//uchar num;
uchar temp1;
uchar num=0xff;

uchar key_scan( )
{	
		num=0;
        P2=0xfe;
        temp1=P2;
        temp1=temp1&0xf0;
        if(temp1!=0xf0)	
        {
            delay(10,300);
            if(temp1!=0xf0)
            {
                switch (temp1)
                {
                    case 0xe0: num='0';
                         break;
                    case 0xd0: num='1';
                         break;
                    case 0xb0: num='2';
                         break;
                    case 0x70: num='3';
                         break;
                }
            }
        }
      while(temp1!=0xf0)  
            {
              temp1=P2;
              temp1=temp1&0xf0;
            }
            

        P2=0xfd;
        temp1=P2;
        temp1=temp1&0xf0;
        if(temp1!=0xf0)
        {
            delay(10,300);
            if(temp1!=0xf0)
            {
                switch (temp1)
                {
                    case 0xe0: num='4';
                         break;
                    case 0xd0: num='5';
                         break;
                    case 0xb0: num='6';
                         break;
                    case 0x70: num='7';
                         break;
                }
            }
        }
        while(temp1!=0xf0)
            {
              temp1=P2;
              temp1=temp1&0xf0;
            }


        P2=0xfb;
        temp1=P2;
        temp1=temp1&0xf0;
        if(temp1!=0xf0)
        {
            delay(10,300);
            if(temp1!=0xf0)
            {
                switch (temp1)
                {
                    case 0xe0: num='8';
                         break;
                    case 0xd0: num='9';
                         break;
                    case 0xb0: num='A';
                         break;
                    case 0x70: num='B';
                         break;
                }
            }
        }
        while(temp1!=0xf0)
            {
              temp1=P2;
              temp1=temp1&0xf0;
            } 


        P2=0xf7;
        temp1=P2;
        temp1=temp1&0xf0;
        if(temp1!=0xf0)
        {
            delay(10,300);
            if(temp1!=0xf0)
            {
                switch (temp1)
                {
                    case 0xe0: num='C';
                         break;
                    case 0xd0: num='D';
                         break;
                    case 0xb0: num='E';
                         break;
                    case 0x70: num='F';
                         break;
                }
            }
        }
        while(temp1!=0xf0)
            {
              temp1=P2;
              temp1=temp1&0xf0; 
            } 
     return(num);
}

⌨️ 快捷键说明

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