打印

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

[复制链接]
4015|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
做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);
}

001.jpg (114.64 KB )

001.jpg

相关帖子

沙发
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语言程序,我先试试你这个

使用特权

评论回复
5
strang| | 2011-8-12 09:25 | 只看该作者
我给你的就是C51程序。你试试吧,实在不行的话,下载个ZLG7289的数据手册看看,和你用的HD7279大同小异!

使用特权

评论回复
6
advancer46| | 2013-10-6 16:30 | 只看该作者
我是昨天开始用HD7279,遇到跟楼主一样的问题:发送指令没问题,收到的总是0xFF。百度到这个帖子,没人给出解决方案。昨晚冥思苦想了好长时间,跟群里的朋友聊到这个问题。分析了很多原因,1,SCL,SDA,CS会不会要上拉电阻?2,RC振荡的设置对不对?3,IIC的时序问题。最后确定为IIC时序问题,我把long_delay(),short_delay()修改至datasheet上的推荐延时。问题解决了。特地注册个号,来结此帖。希望以后遇到同样问题的朋友,百度到这个帖子能对症下药。

使用特权

评论回复
7
kfawj| | 2015-2-7 13:20 | 只看该作者
我一直用这个芯片,没有发现楼主的问题!不过我没有把不用的脚悬空!全部按手册接的

使用特权

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

本版积分规则

0

主题

3

帖子

1

粉丝