51单片机入门(五):常用逻辑

_nop_()函数

  1. 说明_nop_()函数会延时一个机器周期
  2. 对于8051(12M)会延时1us

74HC245

在这里插入图片描述

  1. 简介:典型的CMOS型三态缓冲门电路,八路信号收发器。
  2. 引脚说明
  3. 协议:无
  4. 用途:增加IO口的驱动能力

74HC138

在这里插入图片描述

  1. 简介:138是一款38译码器,3位输入,八位输出(低电平有效,比如11110111
  2. 引脚说明
    • ABC 数据输入
    • Y0-Y7 数据输出
  3. 协议:无
  4. 用途
    • 点阵位选(接到共阴极)
  5. 代码

74HC595

在这里插入图片描述

  1. 简介:595是一款8位串行输入,并行输出的芯片
  2. 引脚说明
    • Pin14 DS/SI 串行数据输入
    • Pin 12 STCP/RCK 输出存储器锁存时钟线
    • Pin 11 SHCP/SCK 数据输入时钟线
  3. 协议
    • 输入数据移位:SHCP/SCK上升沿
    • 数据输出:STCP/RCK 上升沿
  4. 用途
    • 点阵显示
  5. 代码
void Hc595SendByte(unsigned char dat)
{
    
    
	unsigned char a;
	SRCLK=0;
	RCLK=0;
	for(a=0;a<8;a++)
	{
    
    
		SER=dat>>7;
		dat<<=1;

		SRCLK=1;//SRCLK时钟线来一个上升沿就会传送一位数据
		_nop_();
		_nop_();//延时2us
		SRCLK=0;	
	}

	RCLK=1;	//RCLK来一个上升沿 并行输出
	_nop_();
	_nop_(); //延时2us
	RCLK=0;
}

猜你喜欢

转载自blog.csdn.net/KafenWong/article/details/121510398