居然没有4*6矩阵键盘的帖子,给小白一个机会。

[复制链接]
876|6
 楼主| 一个小黄人 发表于 2016-8-10 09:45 | 显示全部楼层 |阅读模式

以上是电路图
下面是按键扫描程序。各位大神看看有没有问题。
void key_scan()
{
uchar num;       

        P1=0x3d;
        temp1=P3;
        temp1=temp1&0x3b;
        while(temp1!=0x3b)
        {       
                delay(5);
                temp1=P3;
                        while(temp1!=0x3b)
                                {
                                temp1=P3;
                                temp1=temp1&0x3b;
                                switch(temp1)
                                        {
                                                case 0x39:num=3;break;
                                                case 0x35:num=4;break;       
                                        }
                                       
                                }
        }                                       
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
mcu5i51 发表于 2016-8-10 15:20 | 显示全部楼层
5*5不是更好吗
xmar 发表于 2016-8-10 15:42 | 显示全部楼层
本帖最后由 xmar 于 2016-8-10 15:56 编辑

现在绝大多数单片机都有多个AD通道。用其中一个AD通道,用一根线加数个电阻、按键可以构成AD-Key键盘。与楼主键盘比:AD-key硬件电路非常简单。软件稍复杂。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

少了个供电电阻,而且电阻阻值偏小了,ADKey的问题就是时间长点,key的接触电阻变大就毁了,所以电阻还是取大点好  发表于 2016-8-10 17:22
 楼主| 一个小黄人 发表于 2016-8-10 17:13 | 显示全部楼层

5*5io口占用太多了,浪费资源
 楼主| 一个小黄人 发表于 2016-8-10 17:16 | 显示全部楼层
xmar 发表于 2016-8-10 15:42
现在绝大多数单片机都有多个AD通道。用其中一个AD通道,用一根线加数个电阻、按键可以构成AD-Key键盘。与楼 ...

是简单一点,但问题是我现在这种按键,扫描的时候老是出错。我也是醉了
 楼主| 一个小黄人 发表于 2016-8-10 17:20 | 显示全部楼层
xmar 发表于 2016-8-10 15:42
现在绝大多数单片机都有多个AD通道。用其中一个AD通道,用一根线加数个电阻、按键可以构成AD-Key键盘。与楼 ...

而且,扫描的非常慢。想不通问题出在哪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

66

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部