微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请教个矩阵键盘按键检测的问题

请教个矩阵键盘按键检测的问题

时间:10-02 整理:3721RD 点击:
我看程序里都是先让行线(或列线为低电平),然后再检测哪个列线(或行线)为低电平,
我想问:为什么不能这样检测:就是按下某个键,我们同时检测哪个行线与列线同时
为低电平呢?不知道哪位给详细说说?

也可以试试,看看效果怎么样

不行的,我试了,我把矩阵键盘的输出口接到P3口,把P1口接到LED,但是按下LED一个都没有亮,请问为什么不行?
void main()
{
    while(1)
    {
       P1=P3;
    }
}

端口未释放

怎么同时啊,程序都是顺序执行的啊。

有个微小的时间差呗

哪位能提供电路图?不知道能不能看出问题?

看开发板原理图,慢慢来,前期学习不急,慢慢学

我给你解决,首先你按下行线,就会行的一个拉低,你就会知道是哪一行,让后判断列,你给列高电平,但是51执行速度还是蛮快的,因为按下了,那么必定有一列会是低电平,当你给列低电平的时候,按下的列低电平就会把你给的高电平拉低,那么你就可以判断是哪一列了,我说的不清楚,你自己仔细琢磨一下,搞懂了你就会知道为什么不能同时检测了,我是来赚积分的

你把你自己的问题仔细读一遍,程序中都是按键的一端先输出低电平,另外一端再检测低电平。
如果没有驱动,单片机端口怎么检测信号?
如果单片机两个端口都作为输入检测口,难道他们能互相检测电平么?

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

网站地图

Top