51单片机——74HC595的应用(SPI实践)

目录

SPI总线

SPI总线概述

 SPI总线分类

SPI 优点及缺点

SPI接口硬件原理

SPI四种工作模式 

74HC595应用

74HC595芯片概述

74HC595封装及管脚功能

74HC595工作原理 ​编辑

 74HC595串行转并行点亮LED灯

 程序实现 

 Proteus运行结构示意图


SPI总线

SPI总线概述

  •  SPI(Serial Peripheral interface):串行外围设备接口
  •  用途:用来在微控制器与外围设备芯片之间实现数据交换
  •  特点:高速、全双工、同步

 SPI总线分类

四线制 全双工SPI(同时收发)

MISO      主机输入/从机输出

MOSI      主机输出/从机输入

SCLK     串行时钟

CS或SS 外设片选或从机选择

三线制 半双工SPI(分时收发)

SCLK      串行时钟

CS或SS  外设片选或从机选择

DIO         数据线 输入与输出共用

SPI 优点及缺点

  • 优点:全双工(输入/输出独立)、物理结构简单、操作简单、数据传输速率高
  • 缺点:需要占用较多IO口、只支持单主机、没有指定的流控制、没有应答确认机制

注:SPI每有一个从器件就会多占用主器件的一个IO口,故比较浪费资源

SPI接口硬件原理

51单片机——74HC595的应用(SPI实践)_第1张图片

SPI工作原理:

  • 两个移位寄存器的数据交换,传输的数据为8位,
  • 在主器件产生的从器件使能信号和移位脉冲信号下按位传输

SPI四种工作模式 

极性(CPOL)和相位(CPHL)

CPOL(极性) 作用
0 空闲时SCLK为低电平
1 空闲时SCLK为高电平
CPHA(相位) 作用
0 每个周期第一个时钟沿采样
1 每个周期第二个时钟沿采样

51单片机——74HC595的应用(SPI实践)_第2张图片

51单片机——74HC595的应用(SPI实践)_第3张图片

  • 注:工作模式由从机芯片决定,需要查阅从机芯片手册,让单片机去适应从机芯片时序
  • 注:采样即 主机输入从机读取  ||  输出即 从机输入主机读取

74HC595应用

74HC595芯片概述

芯片功能:

  • 74HC595 是一款8位 CMOS 移位寄存器
  • 一个串行输入端口,八位并行输出端口为可控的三态输出
  • 一个串行输出端口可实现多级芯片串行控制,组成8n位并行输出

主要用途:LED数码管驱动、自动化工程等(主要用来实现 串转并 节省IO口)

74HC595封装及管脚功能

51单片机——74HC595的应用(SPI实践)_第4张图片

74HC595工作原理 51单片机——74HC595的应用(SPI实践)_第5张图片

 注:SCK时钟及SER数据输入,其本质为 CPOL(极性)=0 CPHA(相位)=0 的SPI总线

 74HC595串行转并行点亮LED灯

 程序实现 

#include

#define uint unsigned int
#define uchar unsigned char

sbit ST=P0^2; //存储寄存器时钟
sbit DS=P0^1; //串行输入数据线
sbit SH=P0^0; //移位寄存器时钟

uint num[8] = {0,0,1,0,1,0,1,1};//暂时存储点

void HC595(uint num)//移位寄存器
{ 
	SH=0;
	ST=0;
	DS=num;
	SH=0;//产生上升沿,将数据写入移位寄存器
	SH=1;
}

main()
{
	uint i=0;
	while(1)
	{
		SH=0;
		ST=0;
		for(i=0;i<8;i++)
		{
			HC595(num[i]);
		}
		ST=0;//产生上升沿将数据写入存储寄存器
		ST=1;
	}
}

 Proteus运行结构示意图

 51单片机——74HC595的应用(SPI实践)_第6张图片

你可能感兴趣的:(51单片机,51单片机,单片机)