求助4X4矩阵按键点亮LED程序

2019-07-15 15:04发布

求助4X4矩阵按键点亮LED程序,按下按键,相应的lde灯(不是数码管)点亮,放开熄灭,在按下了一个按键相对应的led灯点亮,放开熄灭,C语言程序,谢谢。
矩阵按键 矩阵按键
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
crf19841223
1楼-- · 2019-07-15 19:58
#include<reg52.h>          //52ϵÁе¥Æ¬»úÍ·Îļþ
#include<intrins.h>
#define uint unsigned int  //ºê¶¨Òå
#define uchar unsigned char

void delayms(uint xms)         //ÑÓʱ×Óº¯Êý
{
  uint i,j;
  for(i=xms;i>0;i--)          
   for(j=120;j>0;j--);
}
          
void main()
{
   uchar p20,p21,p30,p31;

while(1)
{
  P1=0xef;
  p20=P1;
  p20=p20&0x0f;

  P1=0xdf;
  p21=P1;
  p21=p21&0x0f;

  P1=0xbf;
  p30=P1;
  p30=p30&0x0f;

  P1=0x7f;
  p31=P1;
  p31=p31&0x0f;

  P2=p21*16+p20;
  P3=p31*16+p30;

  delayms(5);
  }
} 最佳答案
jiciwi
2楼-- · 2019-07-15 22:33
可以将4个行信号做输出,4个列信号做输入,这样行信号循环输出高电平,去扫描列信号的状态,就可以了吧
零tot
3楼-- · 2019-07-16 01:17
 精彩回答 2  元偷偷看……
liujinyi016
4楼-- · 2019-07-16 06:37
你按下按键后还放开么?还是说要一直按着才亮呢?
快乐星球
5楼-- · 2019-07-16 12:08
jiciwi 发表于 2016-1-23 17:27
可以将4个行信号做输出,4个列信号做输入,这样行信号循环输出高电平,去扫描列信号的状态,就可以了吧

我是个初学者,刚接触51单片机,不知道程序,望发一个C程序源码,谢谢
快乐星球
6楼-- · 2019-07-16 15:09
零tot 发表于 2016-1-23 21:33
led对应io进行低电平输出就可以了,矩阵按键进行行列扫描就可以了。很简单的,可以尝试一下的

我是个初学者,刚接触51单片机,自己会写就不会在这求助了,谢谢

一周热门 更多>