单片机 74HC595

在这里插入图片描述
在这里插入图片描述

SYMBOLDESCRIPTION
SCKShift Register Clock Input
RCKStorage Register Clock Input
SH_CPshift register clock input
ST_CPstorage register clock input

74HC595工作原理

74HC595是带有存储寄存器和三态输出的8位串行移位寄存器,移位寄存器和存储寄存器有各自的时钟。

每当移位寄存器输入时钟SHCP上升沿来临之时,数据被移出。
每当存储寄存器输入时钟STCP上升沿来临之时,数据并行的存储到存储寄存器。如果两个时钟上升沿同时到来,移位寄存器总是要比存储寄存器的提前一个时钟。

移位寄存器有一个串行出入(DS)和一个串行标准输出(Q7S)。同时也提供一个异步复位端(低电平有效),存储寄存器有一个8位3态总线输出。输出使能(OE)为低电平时,存储寄存器的值就输出。

其本质就是串行输入(一个端口 输入)、并行输出(8个端口 输出)。

引脚

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • Q0-Q7 是8位并行输出引脚。
  • DS(Data Serial) 是串行数据输入引脚,595数据来源口,一次只能输入一个位,连续输入8次,就积攒为一个字节。(通过此引脚输入数据有专用的函数shiftOut)
  • SH_CP(Shift register ClockPin)移位寄存器时钟引脚 控制移位动作 高电平触发,做一次移位。 当DS有数据输入,且Sh_CP为高电平,则触发一次移位过程。
  • ST_CP 并行输出控制开关 高电平触发。
  • OE 输出有效(低电平触发)–默认接GND,若接到5V上,Q0-Q7输出都是0。
  • MR 复位开关-低电平有效(默认接到GND)
  • Q7’串行输出引脚 (若输入位数比8多,则通过此引脚连接下一个74HC595,作为下一个的DS(极连),两个595的SH_CP 和ST_CP 连接,连接方式如下图,程序中两个shiftOut就可以了。)

真值表

在这里插入图片描述

在这里插入图片描述

51单片机通过74HC595驱动数码管的显示,一般需要以下步骤: 1. 定义数码管的连接引脚,如数码管的A-G引脚和DP引脚的连接引脚,以及74HC595的串行数据引脚(DS)、时钟引脚(SHCP)和输出使能引脚(STCP)。 2. 定义数码管显示的字符集,可以将数字0~9、字母A~F和DP转换为相应的二进制码,存储在一个数组中。 3. 编写移位函数,将待显示的数字依次存入74HC595中。 4. 在主函数中,通过调用移位函数,将要显示的数字存入74HC595中,然后通过STCP引脚的高电平脉冲,将数据输出到数码管上。 以下是一个简单的51单片机控制74HC595驱动数码管显示的代码示例: ```c #include <reg51.h> sbit DS = P2^0; //74HC595的串行数据引脚 sbit SHCP = P2^1; //74HC595的时钟引脚 sbit STCP = P2^2; //74HC595的输出使能引脚 unsigned char code num[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管字符集 void delay(unsigned int t) //延时函数 { unsigned int i, j; for (i = 0; i < t; i++) for (j = 0; j < 125; j++); } void shift(unsigned char dat) //移位函数 { unsigned char i; SHCP = 0; for (i = 0; i < 8; i++) { DS = dat & 0x80; dat <<= 1; SHCP = 1; SHCP = 0; } STCP = 1; STCP = 0; } void main() { unsigned char i; while (1) { for (i = 0; i < 10; i++) { shift(num[i]); delay(100); } } } ``` 在上述代码中,我们定义了一个数码管字符集数组num[],通过移位函数shift()将待显示的数字存入74HC595中,最后通过STCP引脚的高电平脉冲,将数据输出到数码管上。在主函数中,我们通过循环调用移位函数,将数字0~9显示在数码管上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值