74HC595模块原理

OE:当OE置0时该模块才能正常工作

使用模块前需先将模块初始化,将SRCLK和RCLK都置0

                                                        串转并移位寄存器工作原理图

当收到外界的一个数据date时(16进制数),取其第8位放入SER,将SRCLK置1,让移位寄存器向下移动一位,将SER中的数据装入移位寄存器最顶端,然后将SRCLK置0。再取date的第7位放入SER,将ERCLK置1,让移位寄存器向下移动一位,再将SRCLK置0。此时,date的第7位位于移位寄存器的最顶端,第8位位于第7位的下面,重复以上步骤,循环8次后date被存入移位寄存器,此时将RCLK置1,将移位寄存器中的date送到QX各个端口,再将RCLK置1,以便下一个date的发送,这就完成了串行通信转并行通信

相关代码如下:

#include <regx52.h>

sbit RCK=P3^5;      //RCLK
sbit SRCLK=P3^6;
sbit SER=P3^4;


void HC595_write_date(unsigned char date)
{
	unsigned char i;
	SRCLK=0;
	RCK=0;
	for(i=0;i<8;i++)
	{
		SER=date&(0x80>>i);          //date对应位为1则SER=1,若对应位为0,则SER=0,由高到低依次取相应位数值
		SRCLK=1;                     //向下移动一位后,将SER的值写入移位寄存器
		SRCLK=0;                     //将SRCLK置0,以便下一个数据的存入
	}
	RCK=1;                           //将移位寄存器中的数据送入各个端口
	RCk=0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值