74HC595的驱动

2019-04-13 15:54发布

74HC595的引脚如下
10117255-31f546e1ee68dbb1.png 图片.png 其逻辑如下
10117255-49bf91baafcd4a33.png 图片.png 引脚说明
10117255-5144904511230777.png 图片.png Ds :串行数据的输入,简称SER
Q0-Q7:并行输出,
Q7‘ :则是为了级联多个595设置的引脚,级联的话会连接到下一个595的Ds
OE : 芯片使能脚
SHCP:移位时钟,一般简称 SCLK
STCP : 锁存时钟, 一般简称 RCLK 其中对于数据的流向,有些人一直搞不清楚,其实就可以按照下面画的红线去理解
10117255-5ede8b74942d4ec0.png 图片.png 按D7-D0组成的二进制序列数即为要从串口输入的数据 具体的程序如下 #define SER //此添加引脚的输出寄存器 #define SCLK //此添加引脚的输出寄存器 #define RCLK //此添加引脚的输出寄存器 driver_595(uint8_t data) { uint8_t i = 0; uint8_t temp = 0x80; for(i = 0; i 如果是多个595级联,则用下面的函数 driver_multi_595(uint32_t data, uint8_t bitCnt) { uint8_t i = 0; uint32_t temp = 0x000001<<(num-1); for(i = 0; i 当然,如果使用的这个函数的时候bitCnt设为8,则和单个595是一样的 需要注意的事情
(1)这个是没有加使能控制, 如果上电对引脚电平以及功耗有要求,可以加上使能引脚的控制
(2)如果系统本身的速度就不快,延时可以省略掉
(3)SCLK,RCLK引脚在初始化结束的时候,一般立即设为低电平