首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
单片机4×4矩阵键盘设计方案
来源:本站整理  作者:佚名  2011-10-27 15:25:03



7、C语言源程序

  #include

  unsigned char code table[]={0x3f,0x66,0x7f,0x39,

  0x06,0x6d,0x6f,0x5e,

  0x5b,0x7d,0x77,0x79,

  0x4f,0x07,0x7c,0x71};

  void main(void)

  { unsigned char i,j,k,key;

  while(1)

  { P3=0xff; //给P3口置1//

  P3_4=0; //给P3.4这条线送入0//

  i=P3;

  i=i&0x0f; //屏蔽低四位//

  if(i!=0x0f) //看是否有按键按下//

  { for(j=50;j>0;j--) //延时//

  for(k=200;k>0;k--);

  if(i!=0x0f) //再次判断按键是否按下//

  { switch(i) //看是和P3.4相连的四个按键中的哪个//

  { case 0x0e:

  key=0;

  break;

  case 0x0d:

  key=1;

  break;

  case 0x0b:

  key=2;

  break;

  case 0x07:

  key=3;

  break;

  }

  P0=table[key]; //送数到P0口显示//

  }

  }

  P3=0xff;

  P3_5=0; //读P3.5这条线//

  i=P3;

  i=i&0x0f; //屏蔽P3口的低四位//

  if(i!=0x0f) //读P3.5这条线上看是否有按键按下//

  { for(j=50;j>0;j--) //延时//

  for(k=200;k>0;k--);

  i=P3; //再看是否有按键真的按下//

  i=i&0x0f;

  if(i!=0x0f)

  { switch(i) //如果有,显示相应的按键//

  { case 0x0e:

  key=4;

  break;

  case 0x0d:

  key=5;

  break;

  case 0x0b:

  key=6;

  break;

  case 0x07:

  key=7;

  break;

  }

  P0=table[key]; //送入P0口显示//

  }

  }

  P3=0xff;

  P3_6=0; //读P3.6这条线上是否有按键按下//

  i=P3;

  i=i&0x0f;

  if(i!=0x0f)

  { for(j=50;j>0;j--)

  for(k=200;k>0;k--);

  i=P3;

  i=i&0x0f;

  if(i!=0x0f)

  { switch(i)

  { case 0x0e:

  key=8;

  break;

  case 0x0d:

  key=9;

  break;

  case 0x0b:

  key=10;

  break;

  case 0x07:

  key=11;

  break;

  }

  P0=table[key];

  }

  }

  P3=0xff;

  P3_7=0; //读P3.7这条线上是否有按键按下//

  i=P3;

  i=i&0x0f;

  if(i!=0x0f)

  { for(j=50;j>0;j--)

  for(k=200;k>0;k--);

  i=P3;

  i=i&0x0f;

  if(i!=0x0f)

  { switch(i)

  { case 0x0e:

  key=12;

  break;

  case 0x0d:

  key=13;

  break;

  case 0x0b:

  key=14;

  break;

  case 0x07:

  key=15;

  break;

  }

  P0=table[key];

  }

  }

  }

  }

  8、注意事项

  在硬件电路中,要把8联拨动拨码开关JP2拨下,把8联拨动拨码开关JP3拨上去。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:79,375.00000 毫秒