74H595
admin
2024-05-22 19:42:21

74HC595详解

工作电压2-6V,推荐5V。

14脚串行输入:595的数据来源只有这一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个字节了。

13脚OE 输出使能控制脚:如果它不工作,那么595的输出就是高阻态,595就不受我们程序控制了,这显然违背我们的意愿。OE的上面画了一条线,表示他是低电平有效。于是我们将他接GND。

10脚SRCLR 位移寄存器清空脚:他的作用就是将位移寄存器中的数据全部清空,这个很少用到,所以我们一般不让他起作用,也是低电平有效,于是我们给他接VCC。

12脚RCLK存储寄存器:数据从位移寄存器转移到存储寄存器,也是需要时钟脉冲驱动的,这就是12脚的作用。它也是上升沿有效。

11脚SRCLK移位寄存器时钟输入:当一个新的位数据要进来时,已经进入的位数据就在移位寄存器时钟脉冲的控制下,整体后移,让出位置。

分析下数据输入和输出过程:

假如,我们要将二进制数据0111 1111 输入到595的移位寄存器中,下面来上一张动态图,模拟了前2个位输入的情景。 第一个从SER送入的bit将会从Q7出去。

移位寄存器

74HC595的移位寄存器工作方式就像shou qiang弹夹。但是子弹的发射(移位寄存器中的数据转储到存储寄存器),又像是【散x弹】(因为是并行输出嘛)

为什么说和弹夹很像呢?

1、串行输入,已进入的位数据依次下移(所以叫移位寄存器) | 子弹也是一颗一颗上的,先上的子弹,被后上的慢慢往下压。

2、第一个输入的位,是并行输出的最后一个位 | 最先进入弹夹的子弹,最后射出。

数据传输完毕后是这样的。

存储寄存器:

存储寄存器是直接和8个输出引脚相通的,将移位寄存器的数据转移到存储寄存器后,Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 就可以接受带到我们开始输入的一个字节的数据。所谓存储寄存器,就是数据可以存在这个寄存器中,并不会随着一次输出就消失,只要595不断电,也没有新的数据从移位寄存器中过来,数据就一直不变且有效。新的数据过来后,存储寄存器中的数据就会被覆盖更新。

在上面的程序中没用到9脚,如果要让2个595串联起来的话,就需要它了。

想一下,我们将移位寄存器的8个位填满后,再往移位寄存器中塞一个会怎么样?也许你想到了。

对!移位寄存器的最后一个位数据会被挤出去,从哪里出去?就是从9脚输出的(第一个595移位寄存器需要8个脉冲,级联的下一个595第一位Q0实际需要第9个脉冲…以此类推)。如果我们把第一个595的

9脚连接到第二个的串行数据输入脚SER,那么,就形成了595的级联。这样,如果我们用2个595组合成了一个新的超级595,

void HC595_SendByte(u32 DATA)
{
u8 i;

for(i=0;i<32;i++)
{if((DATA&0x80000000)!=0)      //级联4片74HC595{HC595_DS_H;                    //第一个输入的位,是并行输出的最后一个位,因此判断条件为假时,DS对应位为0  }else{HC595_DS_L;}CLK_SHCP_L;    delay(1);CLK_SHCP_H;	  //SHCP: 移位寄存器的时钟输入,当接收到上升沿时移位寄存器内部数据整体后移;DATA <<= 1;		 //数据位左移1位,DATA最低位对应并行输出最高位,以此类推,循环将数据写入DS
}
CLK_STCP_H;        //STCP: 数据存储寄存器时钟输入,当检测到上升沿时使能数据存储寄存器,将芯片接收到的数据输出到Q0~Q7 ,Q7S引脚.可以将其理解为锁存信号,当数据发送给芯片完成后对该引脚发送上升沿;
delay(1);
CLK_STCP_L;
delay(1);	

}

相关内容

热门资讯

奥地利小镇邂逅农民思想家多伊布... 旅游奥地利期间,每天与同行的徐静波教授晨起一同散步,有时沿着多瑙河,有时在维也纳的森林间,但给我印象...
读懂济南|从“一阵风”到“长红... 齐鲁晚报·齐鲁壹点 王贝艺大明湖畔的狂欢还未收尾,五龙潭的泼水狂欢又已开场;广智里的咖啡香还没散尽,...
黄河壶口瀑布水量大增 形成壮美...   9月9日,受降雨天气影响,位于晋陕峡谷的黄河壶口瀑布水量大增,主副瀑布连成一片,形成壮美瀑布群景...
“请3休13”点燃中秋国庆国内... 财联社9月10日讯(记者 胡皓琼)中秋前一日火车票开售,中秋国庆国内游预订提速。财联社记者从OTA平...
微言|游客暴增却带不来利润?“... 中秋、国庆假期将至,很多地方将迎来旅游旺季。然而,一些地方旅游人次创新高,民宿经营者却普遍反映利润摊...