找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 280|回复: 0
收起左侧

单片机矩阵按键 原理图+源代码

[复制链接]
ID:1023611 发表于 2022-8-27 10:06 | 显示全部楼层 |阅读模式
程序:
#include<at89x51.h>
unsigned char LED[]={0xC0,0xF9,0xA4,0xB0,0x99,
                     0x92,0x82,0xF8,0x80,0x90,
                     0x88,0x83,0xc6,0xa1,0x86,
                     0x8e,0x89,0xc7,0x8c,0xc1,
                     0xbf,0x7f,0xff};
void delay(void)
{
   unsigned char i;
   for(i=200;i>0;i--);
}
void main()
{
  unsigned char k,key;
  P0=0XFF;P2=1;P3=0XFF;
  while(1)
  {
    P2=0;
    P3=0XFE;k=P3;if(k==0xee){delay();key=0;}else{key=22;}
           if(k==0xde){delay();key=1;}
           if(k==0xbe){delay();key=2;}
           if(k==0x7e){delay();key=3;}
    P3=0XFd;k=P3;if(k==0xed){delay();key=4;}
           if(k==0xdd){delay();key=5;}
           if(k==0xbd){delay();key=6;}
           if(k==0x7d){delay();key=7;}
    P3=0XFb;k=P3;if(k==0xeb){delay();key=8;}
           if(k==0xdb){delay();key=9;}
           if(k==0xbb){delay();key=10;}
           if(k==0x7b){delay();key=11;}
    P3=0XF7;k=P3;if(k==0xe7){delay();key=12;}
           if(k==0xd7){delay();key=13;}
           if(k==0xb7){delay();key=14;}
           if(k==0x77){delay();key=15;}
                   P0=LED[key];
  }
}

仿真图:

矩阵按键

矩阵按键


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表