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

📄 text3.c

📁 单片机实现一个4*4键盘
💻 C
字号:
  #include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;


char code tab[]={0xC0,0xF9,0xA4,0xB0}; //0,1,2,3

void delay();   //延时
void delay()  
{
uchar k;
for(k=200;k>0;k--){}
}

void main()
{
while(1) {
int i,j,x,y,s,t;
P1=0x0F;    
P2=0xFF;
P0=0xFF;  //使灯灭
if((P1&0x0F)!=0x0F) //有键按下吗?  
{delay();    //延时,去抖动 
  if((P1&0x0F)!=0x0F) //有键按下吗? 
  { if(P10==0) i=0;   //第0行有键按下
 if(P11==0) i=1;   //第1行有键按下
 if(P12==0) i=2;   //第2行有键按下
 if(P13==0) i=3;   //第3行有键按下
 s=0xEF;      //列扫描
 for(j=0;j<4;j++)
 {P1=s;
 if((P1&0x0F)!=0x0F)   //该列有键按下吗?
 t=j;   
 s=(s<<1)|0x01;}    //左称

 P0=tab[i];    //第i行,第j列
 P2=tab[t];//显示
for(x=0;x<800;x++)     //延时
for(y=0;y<200;y++) ;

   }
  }
 } 
}

⌨️ 快捷键说明

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