找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2536|回复: 2
打印 上一主题 下一主题
收起左侧

TM1637搭建4个按键,发现按键控制不了是怎么回事?

[复制链接]
跳转到指定楼层
楼主
电路原理图如下:

char Keysacn()        //键盘扫描函数
{
        static char n,key_value = 0;
        IIC_start();
        IIC_Write_cmd(0x42);//读按键命令
        IIC_ack();//CLK = 1;
        SDA=1;        //设置为输入// 在读按键前拉高数据线--在无按键按下时,读键数据为1111_1111
        for(n=0;n<8;n++)//从低位开始读-低位在前,高位在后
        {
               
                CLK = 0;
//                key_value = key_value>>1;//先读低位
                delay_6us();
            key_value>>=1;
                CLK = 1;
                if(SDA)
                {
                        key_value = key_value|0x80;        
                }
                else
                {
                        key_value = key_value|0x00;
                }
                delay_6us();
                delay_6us();
                delay_6us();
        }

        IIC_ack();
        IIC_stop();
        return (key_value);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:105364 发表于 2021-9-20 15:02 | 只看该作者
关注!我用实物,数码管显示正常了,但读不了按键,按下按键 还是FF,不知哪里问题。网上很难找到1637按键部分的资料
回复

使用道具 举报

板凳
ID:415338 发表于 2021-9-21 17:27 | 只看该作者
47okey 发表于 2021-9-20 15:02
关注!我用实物,数码管显示正常了,但读不了按键,按下按键 还是FF,不知哪里问题。网上很难找到1637按键 ...

未能解决,使用此处的按键功能目的是为了减少单片机IO资源的使用,因此,按键方面的话,我使用了一个ADC通道,接入了4个按键,判断电压值,执行相应的功能。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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