找回密码
 立即注册

QQ登录

只需一步,快速开始

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

Proteus中单片机键盘矩阵的应用

[复制链接]
跳转到指定楼层
楼主
首先检查按键是否按下,然后对按键进行扫描。
uchar checkkey(void)
{ uchar temp;
        P1=0xf0;
        temp=P1;
        temp=temp&0xf0;
        if(temp==0xf0)
        {  delay1();
                if(temp==0xf0)
                {return(0);
        }else{return(1);}
        }
}
uchar keyscan()
{ uchar hanghao,liehao,keyvalue,buff;
        if(checkkey()==0)
        {  return(10);
        }
        else
                {uchar sound;
                        for(sound=50;sound>0;sound--)
                        {speaker=0;
                                delay1();
                                speaker=1;
                                delay1();
                        }
                        P1=0x0f;
                        buff=P1;
                        if(buff==0x0e)
                        {hanghao=1;}
                        else if(buff==0x0d)
                        {hanghao=5;}
                        else if(buff==0x0b)
                        {hanghao=9;}
                        else if(buff==0x07)
                        {hanghao=13;}
                        P1=0xf0;
                        buff=P1;
                        if(buff==0xe0)
                        {liehao=3;}
                        else if(buff==0xd0)
                        {liehao=2;}
                        else if(buff==0xb0)
                        {liehao=1;}
                        else if(buff==0x70)
                        {liehao=0;}
                        keyvalue=hanghao+liehao;
                        while(P1!=0xf0);
                        return(keyvalue);}

GYXBE3S9}A88VZ]KO0H6~Z5.png (24.2 KB, 下载次数: 35)

GYXBE3S9}A88VZ]KO0H6~Z5.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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