• 大小: 103KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: 51单片机  

资源简介

包含线反转法和扫描法两种矩阵键盘的实现,含proteus仿真原理图及完整代码,可运行实现

资源截图

代码片段和文件信息

#include 
#define uchar unsigned char 

uchar key=16;
uchar code leddata[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x710x73};
void delayms(int n)
{
   uchar i;
   while(n--)
     for(i=0;i<113;i++);
}

void scan()
{
  uchar temp;
  P1=0xf0; //粗扫
  temp=P1&0xf0;
  if(temp!=0xf0)
  {
     delayms(10);
 temp=P1&0xf0;
 if(temp!=0xf0)
 {
    P1=0xfe;//细扫,第一行
temp=P1&0xf0;
if(temp!=0xf0)
   switch(temp)
   {
     case 0xe0:key=0;break;
    case 0xd0:key=1;break;
    case 0xb0:key=2;break;
    case 0x70:key=3;break;
}
P1=0xfd;//细扫,第二行
temp=P1&0xf0;
if(temp!=0xf0)
   switch(temp)
   {
     case 0xe0:key=4;break;
    case 0xd0:key=5;break;
    case 0xb0:key=6;break;
    case 0x70:key=7;break;
}
P1=0xfb;//细扫,第三行
temp=P1&0xf0;
if(temp!=0xf0)
   switch(temp)
   {
     case 0xe0:key=8;break;
    case 0xd0:key=9;break;
    case 0xb0:key=10;break;
    case 0x70:key=11;break;
}
P1=0xf7;//细扫,第四行
temp=P1&0xf0;
if(temp!=0xf0)
   switch(temp)
   {
     case 0xe0:key=12;break;
    case 0xd0:key=13;break;
    case 0xb0:key=14;break;
    case 0x70:key=15;break;
}
while(P1&0xf0!=0xf0);
 }
  }
}
void main()
{
  while(1)
  {
    scan();
P2=leddata[key];
  }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1399  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-0.c

     文件       4094  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-0.LST

     文件       3354  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-0.OBJ

     文件       3626  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-1

     文件        967  2018-04-08 21:45  矩阵式键盘\扫描法\eg3-10-1.c

     文件      88525  2018-04-12 22:00  矩阵式键盘\扫描法\eg3-10-1.DSN

     文件       1276  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-1.hex

     文件         49  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-1.lnp

     文件       6860  2018-04-12 22:04  矩阵式键盘\扫描法\eg3-10-1.M51

     文件        402  2018-04-12 22:05  矩阵式键盘\扫描法\eg3-10-1.plg

     文件        742  2018-04-12 22:05  矩阵式键盘\扫描法\eg3-10-1.PWI

     文件      55665  2018-04-12 22:05  矩阵式键盘\扫描法\eg3-10-1.uvopt

     文件      13408  2018-04-12 22:00  矩阵式键盘\扫描法\eg3-10-1.uvproj

     文件        959  2018-04-08 21:45  矩阵式键盘\扫描法\eg3-10-1m.c

     文件      55661  2018-04-12 22:01  矩阵式键盘\扫描法\eg3-10-1_uvopt.bak

     文件          0  2018-04-12 21:39  矩阵式键盘\扫描法\eg3-10-1_uvproj.bak

     文件       1450  2018-04-08 21:25  矩阵式键盘\扫描法\eg3-10-2.c

     文件      88553  2018-04-08 21:46  矩阵式键盘\扫描法\Last Loaded eg3-10-1.DBK

     文件       6376  2009-05-07 14:37  矩阵式键盘\扫描法\STARTUP.A51

     文件      14048  2018-04-12 22:04  矩阵式键盘\扫描法\STARTUP.LST

     文件        749  2018-04-12 22:04  矩阵式键盘\扫描法\STARTUP.OBJ

     文件        848  2018-04-22 14:08  矩阵式键盘\线反转法\eg-10-3.c

     文件       2952  2018-04-22 14:20  矩阵式键盘\线反转法\eg3-10-2

     文件        992  2018-04-22 14:19  矩阵式键盘\线反转法\eg3-10-2.c

     文件      84305  2018-04-12 22:01  矩阵式键盘\线反转法\eg3-10-2.DSN

     文件        892  2018-04-22 14:20  矩阵式键盘\线反转法\eg3-10-2.hex

     文件         49  2018-04-22 14:20  矩阵式键盘\线反转法\eg3-10-2.lnp

     文件       2985  2018-04-22 14:20  矩阵式键盘\线反转法\eg3-10-2.LST

     文件       5716  2018-04-22 14:20  矩阵式键盘\线反转法\eg3-10-2.M51

     文件       2555  2018-04-22 14:20  矩阵式键盘\线反转法\eg3-10-2.OBJ

............此处省略19个文件信息

评论

共有 条评论