51单片机SPI实践:74HC595应用详解

目录

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接口硬件原理

    SPI工作原理:

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

    极性(CPOL)和相位(CPHL)

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

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

    74HC595芯片概述

    芯片功能:

  • 74HC595 是一款8位 CMOS 移位寄存器
  • 一个串行输入端口,八位并行输出端口为可控的三态输出
  • 一个串行输出端口可实现多级芯片串行控制,组成8n位并行输出
  • 主要用途:LED数码管驱动、自动化工程等(主要用来实现 串转并 节省IO口)

    74HC595封装及管脚功能

    74HC595工作原理 

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

     74HC595串行转并行点亮LED灯

     程序实现 

    #include<reg52.h>
    
    #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运行结构示意图

     

    物联沃分享整理
    物联沃-IOTWORD物联网 » 51单片机SPI实践:74HC595应用详解

    发表评论