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

📄 44.c

📁 at89c51单片机控制4*4键盘的C程序
💻 C
字号:
 #include< at89x51.h> 
#define uint unsigned int 
#define uchar unsigned char 
#define ulong unsigned long
 
void delay10ms(); //按键去抖。
 
uchar table[]={0x3f,0x06,0x5b,0x4f, 
0x66,0x6d,0x7d,0x07, 
0x7f,0x6f,0x77,0x7c, 
0x39,0x5e,0x79,0x71,0xff}; 


void main() 
{ 
  uchar key; 
  while(1) 
   { 
    P1=0xff; 
    P1_4=0; 
    key=P1&0x0f; 
    if(key!=0x0f) 
      { 
        delay10ms(); 
        key=P1&0x0f; 
        if(key!=0x0f) 
          { 
            switch(key) 
            { 
              case 0x0e:key=0;break; 
              case 0x0d:key=1;break; 
              case 0x0b:key=2;break; 
              case 0x07:key=3;break; 
             } 
            P2=table[key]; 
            key=key&0x0f; 
            while(key!=0x0f) 
             {
			  key=P1; 
              key=key&0x0f; 
              } 
           } 
         } 
     P1=0xff; 
     P1_5=0; 
     key=P1; 
     key=key&0x0f; 
     if(key!=0x0f) 
       { 
        delay10ms(); 
        key=P1&0x0f; 
        if(key!=0x0f) 
           { 
             switch(key) 
              { 
               case 0x0e:key=4;break; 
               case 0x0d:key=5;break; 
               case 0x0b:key=6;break; 
               case 0x07:key=7;break; 
               } 
            P2=table[key]; 
            key=key&0x0f; 
            while(key!=0x0f) 
             {
			  key=P1; 
              key=key&0x0f; 
              } 
            } 
           } 
     P1=0xff; 
P1_6=0; 
key=P1; 
key=key&0x0f; 
if(key!=0x0f) 
{ 
delay10ms(); 
key=P1&0x0f; 
if(key!=0x0f) 
{ 
switch(key) 
{ 
case 0x0e:key=8 ;break; 
case 0x0d:key=9 ;break; 
case 0x0b:key=10;break; 
case 0x07:key=11;break; 
} 
P2=table[key]; 
key=key&0x0f; 
while(key!=0x0f) 
{key=P1; 
key=key&0x0f; 
} 
} 
} 
P1=0xff; 
P1_7=0; 
key=P1; 
key=key&0x0f; 
if(key!=0x0f) 
{ 
delay10ms(); 
key=P1&0x0f; 
if(key!=0x0f) 
{ 
switch(key) 
{ 
case 0x0e:key=12;break; 
case 0x0d:key=13;break; 
case 0x0b:key=14;break; 
case 0x07:key=15;break; 
} 
P2=table[key]; 
key=key&0x0f; 
while(key!=0x0f) 
{key=P1; 
key=key&0x0f; 
} 
} 
} 
} 
} 
void delay10ms() 
{ 
uchar i,j; 
for(i=50;i>0;i--) 
for(j=200;j>0;j--); 
}

⌨️ 快捷键说明

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