jp.c

来自「4x4键盘的程序」· C语言 代码 · 共 61 行

C
61
字号
#include <reg51.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
void dlms(void);
uchar kbscan(void);
void dlms(void)
 { uchar i;
   for(i=200;i>0;i--){}
 }
uchar kbscan(void)
{uchar sccode,recode,x;
  P1=0xf0;
  if((P1&0xf0)!=0xf0)
    {dlms();
     if((P1&0xf0)!=0xf0)
       {sccode=0xfe;
        while((sccode&0x10)!=0)
         {P1=sccode;
            if((P1&0xf0)!=0xf0)
             {recode=(P1&0xf0)|0x0f;
               return((~sccode)+(~recode));
             }
             else
               sccode=(sccode<<1)|0x01; 
         }
        }
     }
     return(0);
}
  void main()
{
  uchar key;
   while(1)
    { key=kbscan();
	  switch(key)
	  {
	  case 0x11:P0=0x0f9;break;
	  case 0x21:P0=0x0a4;break;
	  case 0x41:P0=0x0b0;break;
	  case 0x81:P0=0x99;break;
	  case 0x12:P0=0x92;break;
	  case 0x22:P0=0x82;break;
	  case 0x42:P0=0x0f8;break;
	  case 0x82:P0=0x80;break;
	  case 0x14:P0=0x90;break;
	  case 0x24:P0=0x88;break;
	  case 0x44:P0=0x83;break;
	  case 0x84:P0=0x0c6;break;
	  case 0x18:P0=0x0a1;break;
	  case 0x28:P0=0x86;break;
	  case 0x48:P0=0x8e;break;
	  case 0x88:P0=0x0c0;break;
	 }
    }
}

⌨️ 快捷键说明

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