微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助4X4矩阵按键点亮LED程序

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

时间:10-02 整理:3721RD 点击:
求助4X4矩阵按键点亮LED程序,按下按键,相应的lde灯(不是数码管)点亮,放开熄灭,在按下了一个按键相对应的led灯点亮,放开熄灭,C语言程序,谢谢。

矩阵按键


#include<reg52.h>          //52?μáDμ¥???úí·???t
#include<intrins.h>
#define uint unsigned int  //oê?¨ò?
#define uchar unsigned char
void delayms(uint xms)         //?óê±×óoˉêy
{
  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);
  }
}

可以将4个行信号做输出,4个列信号做输入,这样行信号循环输出高电平,去扫描列信号的状态,就可以了吧

led对应io进行低电平输出就可以了,矩阵按键进行行列扫描就可以了。很简单的,可以尝试一下的

你按下按键后还放开么?还是说要一直按着才亮呢?

我是个初学者,刚接触51单片机,不知道程序,望发一个C程序源码,谢谢

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

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

我是按一下某个按键相对应的LED灯点亮,如果一直按着按键,LED灯一直亮,谢谢

proteus版块有 很多例子 我找了一个 你看一下
http://bbs.elecfans.com/jishu_475648_1_1.html

二极管正极接地吗?也没有限流电阻!

虽然不适合我的需求,但也要谢谢你

LED正极是接5V电压的,这只是用来仿真的简化图,实际成品要加上电阻电容什么的。

当年在学校就是用51单片机的,程序都是C,做毕业设计的都有保存,不知可还需要

非常感谢,向你致敬

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top