学习啦 > 学习电脑 > 电脑硬件知识 > 键盘鼠标 > C语言矩阵键盘程序

C语言矩阵键盘程序

时间: 孙胜龙652 分享

C语言矩阵键盘程序

  大家在大学学习单机片时,老师都会要求大家自己设计矩阵键盘程序,于是,小编在此为广大学生写了一段最容易理解的矩阵键盘程序哦(C语言),希望能帮到大家。

  #define uchar unsigned char

  uchar temp;

  void delay(uchar x)

  {

  uchar y,z;

  for(y=x;y>0;y--)

  for(z=125;z>0;z--)

  ;

  }

  uchar keyscan()

  {

  P3=0xfe;

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  delay(5);

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  temp=P3;

  switch(temp)

  {

  case 0xee:num=1;

  break;

  case 0xde:num=2;

  break;

  case 0xbe:num=3;

  break;

  case 0x7e:num=4;

  break;

  }

  while(temp!=0xf0)

  {

  temp=P3;

  temp=temp&0xf0;

  }

  }

  }

  P3=0xfd;

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  delay(5);

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  temp=P3;

  switch(temp)

  {

  case 0xed:num=5;

  break;

  case 0xdd:num=6;

  break;

  case 0xbd:num=7;

  break;

  case 0x7d:num=8;

  break;

  }

  while(temp!=0xf0)

  {

  temp=P3;

  temp=temp&0xf0;

  }

  }

  }

  P3=0xfb;

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  delay(5);

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  temp=P3;

  switch(temp)

  {

  case 0xeb:num=9;

  break;

  case 0xdb:num=10;

  break;

  case 0xbb:num=11;

  break;

  case 0x7b:num=12;

  break;

  }

  while(temp!=0xf0)

  {

  temp=P3;

  temp=temp&0xf0;

  }

  }

  }

  P3=0xf7;

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  delay(5);

  temp=P3;

  temp=temp&0xf0;

  while(temp!=0xf0)

  {

  temp=P3;

  switch(temp)

  {

  case 0xe7:num=13;

  break;

  case 0xd7:num=14;

  break;

  case 0xb7:num=15;

  break;

  case 0x77:num=16;

  break;

  }

  while(temp!=0xf0)

  {

  temp=P3;

  temp=temp&0xf0;

  }

  }

  }

  return num;

  }

207788