HD7279为什么总是返回0xff无按键键值!真诚求高手解答

[复制链接]
4898|6
 楼主| 447069491 发表于 2011-8-11 20:09 | 显示全部楼层 |阅读模式
做hd7279接4X4矩阵键盘,C51程序。目前问题是,7279可以检测到有按键按下,但是返回给单片机的键值一直是0xff。晶振用的是12MHZ,7279的RC震荡电路接的是典型值1.5k与15PF瓷片电容。程序如下,跟网上与PDF文档程序是没有区别,很多说是时序的问题。但是用的都是典型值,调了四天了一直不知道问题出在哪里。其中延时程序delay_1()是延时8us,delay_2()是延时50us。求高手解答,万分感谢啊!!!!还有7279没有用到的DIG   SE那些行线或列线引脚悬空处理行不行啊??因为只用到SC,SD,SE,SF与DIG0---DIG3。还请懂的人详细回答下,不要给什么复制的和那个PDF档,那个我都看了N遍!!
//7279读取键值子函数
uchar read7279(uchar command)
{

send_byte(command);

return(receive_byte());
}

void send_byte(
uchar out_byte)
//7279写入八位数据函数
{

uchar i;

hd7279_cs=0;

delay_2();

for (i=0;i<8;i++)

{


if (out_byte&0x80)

{


dat=1;

}

else

{

dat=0;

}

clk=1;

delay_1();


clk=0;

delay_1();

out_byte=out_byte<<1;


}

dat=0;
}

uchar receive_byte(void)  //7279读取八位数据子函数
{

uchar i, in_byte;

in_byte=0;

dat=1;
// set to input mode

delay_2();

for (i=0;i<8;i++)

{

clk=1;

delay_1();

in_byte=in_byte<<1;

if (dat)

{

in_byte+=1;

}

clk=0;

delay_1();

}

dat=0;

return (in_byte);
}

本帖子中包含更多资源

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

×
strang 发表于 2011-8-11 22:23 | 显示全部楼层
数据手册上有现有的例程为何不用?
strang 发表于 2011-8-11 22:35 | 显示全部楼层
void Int0Func(void) interrupt 0//外中断0
{
        AlarmSound=1;
          DelayMs(5);
        KeyNumber=ZLG7289_Key();
            AlarmSound=0;
}//7279 key外部中断

void main(void)
{
  for(;;)
  {
     if (KeyNumber!=0xff)
                {
                     KeyScan();
                    KeyNumber=0xff;        
                }//读取按键值
  }
}
 楼主| 447069491 发表于 2011-8-12 08:28 | 显示全部楼层
我的程序就是PDF手册上的程序,另外我用的是C51编程。51单片机内核的c语言程序,我先试试你这个
strang 发表于 2011-8-12 09:25 | 显示全部楼层
我给你的就是C51程序。你试试吧,实在不行的话,下载个ZLG7289的数据手册看看,和你用的HD7279大同小异!
advancer46 发表于 2013-10-6 16:30 | 显示全部楼层
我是昨天开始用HD7279,遇到跟楼主一样的问题:发送指令没问题,收到的总是0xFF。百度到这个帖子,没人给出解决方案。昨晚冥思苦想了好长时间,跟群里的朋友聊到这个问题。分析了很多原因,1,SCL,SDA,CS会不会要上拉电阻?2,RC振荡的设置对不对?3,IIC的时序问题。最后确定为IIC时序问题,我把long_delay(),short_delay()修改至datasheet上的推荐延时。问题解决了。特地注册个号,来结此帖。希望以后遇到同样问题的朋友,百度到这个帖子能对症下药。
kfawj 发表于 2015-2-7 13:20 | 显示全部楼层
我一直用这个芯片,没有发现楼主的问题!不过我没有把不用的脚悬空!全部按手册接的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

1

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