搜索
bottom↓
回复: 49

亲们,我两片595级联,前级正常工作,后级乱码怎么回事?

[复制链接]

出0入0汤圆

发表于 2016-6-14 16:10:03 | 显示全部楼层 |阅读模式
本帖最后由 书9500 于 2016-6-14 16:43 编辑

就是
Write_595_Data(0x0f);
Write_595_Data(0x31);

当第一个字节为0x00时,第二个字节也就是低字节,0x31能正常工作;但是发给第二片的字节不是0时,两片就都乱糟糟的。
/*************************************************************/
sbit OE= P1^2;                 //74HC595片选
sbit STCP=P3^7;   //74HC595锁存命令
sbit MR=P3^6;                        //74HC595复位置0命令
sbit SCK=P1^5;
sbit SDA=P1^3;
/******************** 主函数 **************************/
void main(void)
{       
        P1M1=0x28;
        P1M0=0x28;//将P1^5和P1^3设置成开漏

//        SPI_config();
        delay_ms(10);
        OE=0;//片选
        MR=1;//清0
       
        while(1)
        {
                        STCP=0;
                        OE=1;


                        Write_595_Data(0xff);
                        Write_595_Data(0x02);

                        delay_ms(10);
               
                        OE=0;//片选开
                        STCP=1;//锁存
                        delay_ms(1000);

        }


}


void Write_595_Data(unsigned char SPI_Data)
{
        char i;
        for(i=0;i<8;i++)
        {
                        SCK=0;
               
                        if ((SPI_Data & 0x80) == 0x80) SDA=1;
                        else SDA=0;  
                        delay_ms(2);               
                        SCK=1;
                        delay_ms(2);
                        SPI_Data=SPI_Data<<1;
        }

}


本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2016-6-14 16:12:53 | 显示全部楼层
CLK信号线对地接一个100pf电容试试

出0入0汤圆

 楼主| 发表于 2016-6-14 16:16:18 | 显示全部楼层
tclg 发表于 2016-6-14 16:12
CLK信号线对地接一个100pf电容试试

接了,全接了啊、、

出0入0汤圆

发表于 2016-6-14 16:18:33 | 显示全部楼层
那就是有可能跟布线有关了,可以降低CLK频率试试

出0入0汤圆

发表于 2016-6-14 16:22:07 | 显示全部楼层
就发这点代码,请知道是硬件问题,还是你软件问题。

出0入0汤圆

 楼主| 发表于 2016-6-14 16:43:50 | 显示全部楼层
KongQuan 发表于 2016-6-14 16:22
就发这点代码,请知道是硬件问题,还是你软件问题。

我发上去了,麻烦你看看吧、

出0入50汤圆

发表于 2016-6-14 19:25:59 | 显示全部楼层
把你的驱动速率降下来试试看,太高了有可能会出现问题。尤其是EMC设计不太好的时候。

出0入0汤圆

 楼主| 发表于 2016-6-14 19:30:05 | 显示全部楼层
ilikemcu 发表于 2016-6-14 19:25
把你的驱动速率降下来试试看,太高了有可能会出现问题。尤其是EMC设计不太好的时候。 ...

已经很慢了,我都降到秒级了!
我的程序应该没问题吧?
那就是电路设计的问题了。。

出0入0汤圆

发表于 2016-6-14 19:32:40 | 显示全部楼层
原理图的LED不错,还带颜色

出0入0汤圆

 楼主| 发表于 2016-6-14 19:33:34 | 显示全部楼层
xiaobendan 发表于 2016-6-14 19:32
原理图的LED不错,还带颜色

看来带颜色也没什么卵用

出0入0汤圆

 楼主| 发表于 2016-6-14 19:35:20 | 显示全部楼层
大家有没有遇到过这样的情况啊?

出0入0汤圆

发表于 2016-6-14 19:39:26 | 显示全部楼层
书9500 发表于 2016-6-14 19:33
看来带颜色也没什么卵用

上示波器啊

出0入0汤圆

 楼主| 发表于 2016-6-14 19:42:03 | 显示全部楼层

用示波器测什么?我没一个引脚都有LED显示,串行输出也有LED呀。
测时钟波形吗?

出0入0汤圆

发表于 2016-6-14 19:46:03 | 显示全部楼层
一般是时钟线有问题,要不就看是什么短路,再不行换芯片看下

出0入0汤圆

发表于 2016-6-14 19:46:11 | 显示全部楼层
做过4片级联,没啥问题,看程序和回路图,也没看出啥明显错误

出0入8汤圆

发表于 2016-6-14 19:50:13 来自手机 | 显示全部楼层
把引脚设置成强推挽试试

出0入0汤圆

 楼主| 发表于 2016-6-14 19:50:25 | 显示全部楼层
dlmaowf 发表于 2016-6-14 19:46
做过4片级联,没啥问题,看程序和回路图,也没看出啥明显错误

大神别走,我给你吧电路PCB发过去,你帮忙看看是不是BUG?

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2016-6-14 19:50:52 | 显示全部楼层
sfes 发表于 2016-6-14 19:50
把引脚设置成强推挽试试

我试试。

出0入0汤圆

发表于 2016-6-14 19:56:23 | 显示全部楼层
两芯片互换一下, 看看是不是元器件问题

出0入0汤圆

 楼主| 发表于 2016-6-14 19:57:40 | 显示全部楼层
huanxian 发表于 2016-6-14 19:56
两芯片互换一下, 看看是不是元器件问题

我换过一片了,还是这样。

出0入16汤圆

发表于 2016-6-14 20:09:04 | 显示全部楼层
把DATA和SCK控制脚设置为推挽,OE可以一直使能。

出0入0汤圆

发表于 2016-6-14 20:15:07 | 显示全部楼层
本帖最后由 elec2000 于 2016-6-14 20:26 编辑

把第二片的DS 加个上拉试试 10K

修改: 一 改为二

出0入0汤圆

 楼主| 发表于 2016-6-14 20:17:09 | 显示全部楼层
elec2000 发表于 2016-6-14 20:15
把第一片的DS 加个上拉试试 10K

又上拉,在电路图里

出0入0汤圆

发表于 2016-6-14 20:25:39 | 显示全部楼层
书9500 发表于 2016-6-14 20:17
又上拉,在电路图里

看错了, 第二片的DS加上啦

出0入0汤圆

 楼主| 发表于 2016-6-14 20:27:46 | 显示全部楼层
sfes 发表于 2016-6-14 19:50
把引脚设置成强推挽试试

好像也不太行

出50入0汤圆

发表于 2016-6-14 20:28:14 | 显示全部楼层
看起来象有线短路了

出50入0汤圆

发表于 2016-6-14 20:31:37 | 显示全部楼层
oe与sda测下是否粘了

出0入0汤圆

 楼主| 发表于 2016-6-14 20:38:54 | 显示全部楼层
zhq0571 发表于 2016-6-14 20:31
oe与sda测下是否粘了

恩恩,全部都测过了。没有断路的。

出0入0汤圆

发表于 2016-6-14 20:50:08 | 显示全部楼层
我们是640个595级联,从来没发现这个问题

出0入0汤圆

发表于 2016-6-14 20:52:46 | 显示全部楼层
开始OE设置成1,等所有数据就位后,OE再置0

出0入0汤圆

 楼主| 发表于 2016-6-14 20:57:36 | 显示全部楼层
myliuyu 发表于 2016-6-14 20:50
我们是640个595级联,从来没发现这个问题

640个?
妈呀,大神呀、、、、

出0入0汤圆

发表于 2016-6-14 21:15:16 | 显示全部楼层
书9500 发表于 2016-6-14 20:57
640个?
妈呀,大神呀、、、、

还不是最多的,最多的要2000多个级联中间要加驱动芯片的

出0入0汤圆

 楼主| 发表于 2016-6-14 21:28:21 | 显示全部楼层
myliuyu 发表于 2016-6-14 21:15
还不是最多的,最多的要2000多个级联中间要加驱动芯片的

妈呀,好厉害。
画电路板的人肯定是大神。。。

出0入0汤圆

 楼主| 发表于 2016-6-14 21:46:50 | 显示全部楼层
本帖最后由 书9500 于 2016-6-14 21:48 编辑
elec2000 发表于 2016-6-14 20:25
看错了, 第二片的DS加上啦


恩恩,太谢谢您了、

有了你的提醒,我好像找到原因了。
我在第二片的DS上加了一个10K上拉电阻到VCC,又加了一个105到地,这样的话情况好多了,最起码不会乱得离谱了。
我又在SCK上加了一个电容到地,这下基本稳定了,目前已经能正常运行了。

就是电路板的原因没别的了。
本来我每个时钟和数据IO都有上拉和对地电容呢,结果布板的时候都靠近单片机那一边了,74HC595里单片机非常的远,在板子的另一端。我也不懂什么叫电磁兼容,基本上都是本着能连上的原则布的线。
出问题是非常正常的,可怜我研究了一天了。。。
估计这个板还会有N多问题呢。。。

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2016-6-14 21:53:08 | 显示全部楼层
tclg 发表于 2016-6-14 16:12
CLK信号线对地接一个100pf电容试试

现在明白了,我接是接了,但是布板的时候没有靠近74HC595,放到单片机那边了,离得太远,估计走线也有问题,干扰太大。
现在又在595旁边又跨了一个电容,现在好使了。

出0入0汤圆

发表于 2016-6-14 22:35:42 | 显示全部楼层
595应该很容易打发的。板子布线有多糟糕才能让595不工作。

出0入0汤圆

发表于 2016-6-15 07:29:32 | 显示全部楼层
麻将机?

出0入0汤圆

发表于 2016-6-15 08:14:00 | 显示全部楼层
有木有虚焊的地方

出0入0汤圆

 楼主| 发表于 2016-6-15 09:20:15 | 显示全部楼层
zhifeng 发表于 2016-6-14 22:35
595应该很容易打发的。板子布线有多糟糕才能让595不工作。



我需要学习

出0入0汤圆

 楼主| 发表于 2016-6-15 09:20:43 | 显示全部楼层

不是不是,一个课设。

出0入0汤圆

发表于 2016-6-15 09:27:58 | 显示全部楼层
很像麻将机。

出0入0汤圆

发表于 2016-6-15 09:31:58 | 显示全部楼层
淘宝买个100元的逻辑分析仪,看下时序,应该很容易定位问题

出0入10汤圆

发表于 2016-6-20 11:31:41 | 显示全部楼层
说麻将机的,都什么眼神。。。明显红绿灯控制系统。。。。

出0入162汤圆

发表于 2016-6-20 12:03:58 来自手机 | 显示全部楼层
用tm1637 吧,几毛钱一片外围简单。2片595怎么也得1块钱布线还麻烦

出0入20汤圆

发表于 2016-6-23 16:26:01 | 显示全部楼层
595的驱动电路大了,内部逻辑出错。换大电流的595,或减少扫描时间,减小电流。

出0入0汤圆

 楼主| 发表于 2016-6-23 22:23:13 | 显示全部楼层
mon51 发表于 2016-6-23 16:26
595的驱动电路大了,内部逻辑出错。换大电流的595,或减少扫描时间,减小电流。 ...

大电流的?595还有不同的型号?

出0入20汤圆

发表于 2016-6-24 23:22:58 | 显示全部楼层
书9500 发表于 2016-6-23 22:23
大电流的?595还有不同的型号?

595有驱动200毫安的。专门用于驱动LED的。

出0入0汤圆

发表于 2016-6-29 00:51:16 | 显示全部楼层
可以考虑加电容

出0入0汤圆

 楼主| 发表于 2016-6-29 10:03:55 | 显示全部楼层

对,是的我在SCK加了电容

出0入0汤圆

 楼主| 发表于 2016-6-29 10:09:32 | 显示全部楼层

应该是板子画的有问题,加了电容后就稳定了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 19:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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