学习单片机第6天

2022-09-16 04:26:51 浏览数 (1)

今天学习一下用74HC595 一种IO 口扩展方式-串转并,使用的芯片是74HC595。开发板板载4 个74HC595 芯片,通过芯片级联扩展了32 个IO。

74HC595芯片中文资料.pdf

目标:使用开发板上的74HC595 模块中74HC595(A)控制LED。

管脚 左右相同都是该芯片管脚 左右相同都是该芯片

当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。

74595的控制端说明74595的控制端说明
代码语言:javascript复制
#include"reg52.h"
#include"intrins.h"

typedef unsigned char u8;
typedef unsigned int u16;


sbit SRCLK=P3^6;
sbit R1CLK=P3^5;
sbit SER=P3^4;

void delay_ms(int n) //延时
	{
	unsigned int i=0,j=0;
	for(i=0;i<n;i  )
	for(j=0;j<123;j  );
}


void Hc595SendByte(u8 dat)
{
	u8 a;
	SRCLK = 1;
	R1CLK = 1;
	for(a=0;a<8;a  ) //发送8 位数
	{
		SER = dat >> 7; //从最高位开始发送
		dat <<= 1;
		SRCLK = 0; //发送时序
		_nop_();
		_nop_();
		SRCLK = 1;
	}
	R1CLK = 0;
	_nop_();
	_nop_();
	R1CLK = 1;
}


void main(){
	u8 ledNum;
	ledNum = ~0x01;
	while(1)
	{
		Hc595SendByte(ledNum);
		ledNum = _crol_(ledNum, 1); //左移函数
		delay_ms(50);
	}	
					
}

0 人点赞