打印

在C51中,我用8279扩展的键盘,为什么有一个键盘的值得不到

[复制链接]
2485|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccjchen|  楼主 | 2007-8-28 08:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我用8279扩展4*4的键盘,但是发现其中一个键盘的值按下后得不到,而其他按键的值可以
正常得到,不知道为什么,请各位大哥大姐指导一下,不胜感激!
void key()interrupt 2 using 2
{
   uchar kk;
     COM8279=0xd1;
     COM8279=0x00;
     COM8279=0x2a;
   
   kk=COM8279;
   while (kk&0x0f==0);      //无键按下等待
   COM8279=0x40;         //读fifo ram 命令
   flag=1;
}

void dealkey()
{

    if(flag==1)
        {
            flag=0;
            m=DAT8279;
            
        }
    switch(m)
    {
               case 0xd8:
                   keyVal=0xd8; 
             break;
               case 0xd9:
                   keyVal=0xd9;
                    break;
               case 0xda:
                    keyVal=0xda;
                    break;
               case 0xdb://得不到键值的按键,但此键若与其它按键做成组合键,
                           却能得到正确键值,不知为什么
                    keyVal=0xdb;
                    break;
               case 0xd3:
                    keyVal=0xd3;
                    break; 
               default:break;     
    }

 

相关帖子

沙发
wangzh99| | 2007-8-28 09:05 | 只看该作者

把0db改为0dc

使用特权

评论回复
板凳
ccjchen|  楼主 | 2007-8-28 09:50 | 只看该作者

呵呵!你真搞笑啊,能不能有其他办法?

使用特权

评论回复
地板
ccjchen|  楼主 | 2007-8-29 08:11 | 只看该作者

大虾们给提一下其他建议!

使用特权

评论回复
5
yning| | 2007-8-29 11:08 | 只看该作者

芯片复位功能处理和按键消抖处理好了吗?

准确地址?

使用特权

评论回复
6
ccjchen|  楼主 | 2007-8-29 19:45 | 只看该作者

消抖没处理,应为8279本身就带消抖功能。

复位和地址都没错

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

446

帖子

1

粉丝