单片机高手来看看595怎么用

在学校做一个东西,现在我要用c8051f单片机连接两个74hc595(串入并出)控制数码管,一个控制显码,一个控制位码。
可是问题来了,板子已经烧好了,线是这么排的:
1)两个595的SHCP管脚和DS管脚是连在一起的
2)两个595的STCP管脚分别连在单片机两个管脚上。
具体如图(用at89c51单片机画的,意思一样)。
如果这么连线,程序应该怎么写呢?如何移位、锁存?
谢谢各位了。
板子已经烧好了,线肯定改不了了。
我也觉得连接有问题,可是原理图不是我画的,板子也不是我烧的,我只负责编程。
有没有针对这个电路的解决方法呢?

这样接是可以实现的!
没有级联的74HC595,不知道是出于什么样的考虑,不过是可以实现的。
你仔细看一下手册会发现:只有STCP脚上有上升沿时,595的移位寄存器中的数据才会输出到595的IO口上。因此,照现在的情况你要分别编两个595的驱动!
1、先向第一个595内发8位串行数据,然后给第一片595的STCP脚一个上升沿,另一片595STCP脚电平保持不变,此时虽然第二片595移位寄存器内的数据也跟着变化,但是由于STCP脚没有上升沿,所以第二片595的IO口的状态不发生变化;
2、再向第二个595内发8位串行数据,然后给第二片595的STCP脚一个上升沿,另一片595STCP脚电平保持不变,此时虽然第一片595移位寄存器内的数据也跟着变化,但是由于STCP脚没有上升沿,所以第一片595的IO口的状态不发生变化;
如此循环1、2、步骤,当可实现分别控制两片595的目的。
不过这个做板子的大哥还真有才。你这不会是一道面试题吧!!
又不明白的QQ:28361319
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-27
连接有问题啊,两个595的STCP和SHCP要连接到一起,第一级的DS要连接到MCU上,第二级的DS要连接到第一级的Q7'上。

详细的到我的单片机应用笔记论坛,有图和程序:

ewh 单片机论坛
第2个回答  2010-07-28
连接有问题啊,两个595的STCP和SHCP要连接到一起,第一级的DS要连接到MCU上,第二级的DS要连接到第一级的Q7'上。
再不行,就改板子吧,割线,再飞线 。
再不行,就投诉画原理图的
第3个回答  2010-07-27
连接有问题啊,两个595的STCP和SHCP要连接到一起,第一级的DS要连接到MCU上,第二级的DS要连接到第一级的Q7'上。
第4个回答  2010-07-27
这个好像没有办法解决吧

单片机高手来看看595怎么用
1、先向第一个595内发8位串行数据,然后给第一片595的STCP脚一个上升沿,另一片595STCP脚电平保持不变,此时虽然第二片595移位寄存器内的数据也跟着变化,但是由于STCP脚没有上升沿,所以第二片595的IO口的状态不发生变化;2、再向第二个595内发8位串行数据,然后给第二片595的STCP脚一个上升沿...

51单片机加74hc595驱动多个数码管静态显示的程序设计
1、首先数码管分为1位,4位,8位,4位和8位的又分为共阴和共阳数码管。2、共阳数码管,即阳极全部连接在一起,单片机接口给低电位即可点亮对应的段位。3、可利用MCS-51系列单片机的芯片AT89C52的P3.4,P3.5,P3.6,P3.7进行计时并在数码管上显示时间,作为按键的入口。4、共阴数码管,即阴极全...

用51单片机+74HC595控制LED,程序怎样实现整体渐变?(595不接OE脚)
如果你是静态显示,那么灰度是没戏了。如果是动态显示,那就先点亮一个LED,再将595的数据刷新,令所有的LED灭掉,然后亮第二个LED,再将595的数据刷新,令所有的LED灭掉,如此循环,来控制LED点亮的占空比就可以控制灰度了。但这个办法的关键是你刷新的频率一定要足够高,不然就会产生闪烁。其实,你电...

劳驾单片机高手修改一下这段C代码功能
手机版 我的知道 劳驾单片机高手修改一下这段C代码功能 100 芯片STC89C52晶振11.0592MHZ\/***初始定义***... 芯片STC89C52 晶振11.0592MHZ\/*** 初始定义***

51单片机 SPI 75HC595
void OUT_595(void){ RCK_595 = 1; \/\/上升沿将数据送到输出锁存器 _nop_(); _nop_();RCK_595 = 0;} \/***\/ \/* *\/ \/*主函数 *\/ \/*

请问74HC595芯片如何使用
595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。4、参考数据:CPD决定动态的能耗,PD=CPD×VCC×f1+∑(CL×VCC2×f0)F1=输入频率,CL=输出电容 ...

我用单片机做使用12个点阵的时钟用了6个74hc595,但是仿真可以~实际电路...
1、行选你现在使用的是138,但138是没有锁存功能的,所以在数据刷新时,数据的传递在屏幕上都显示了出来,由于速度非常快,所以肉眼中就是全亮。建议你也用595来控制行选信号。2、驱动能力。595的驱动能力是很弱的,以你的电路,我判断595很容易就会烧坏。在列选端,建议你在595和点阵之间再加一层...

用52单片机控制两个74HC595芯片使16个LED灯流水点亮,怎么设计程序?求高 ...
把两个595级联,再把控制信号按位传给595,级联后可以传16位。传完后再传送给LED,进行控制。分享个控制8个流水灯的做参考网页链接

单片机高手帮我看看这个世上只有妈妈好的音乐程序,解释两句话。_百度...
5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 };void t0int() interrupt 1 { \/\/定时器里面让speaker根据定时时间开关,产生不同频率的声音,就是上面定义的音节频率 TR0=0;speaker=!speaker;...

单片机:求高手看看下面按键扫描代码,为什么按2、3下才会有反应?_百度...
while(1){ P2=0XFE; \/\/按键1扫描 if(P2==0XEE){ TR0=0;number++;if(number==7){number=0;TR0=1;} } if(number!=0&&P2==0XDE){ switch(number){ case 1:a6++;if(a6==10){a6=0;};break;case 2:a5++;if(a5==6){a5=0;} ;break;case 3:a4++;if(a4==10){a4=0...

相似回答
大家正在搜