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

这篇具有很好参考价值的文章主要介绍了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实践)

SPI工作原理:

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

SPI四种工作模式 

极性(CPOL)和相位(CPHL)

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

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

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

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

74HC595应用

74HC595芯片概述

芯片功能:

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

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

74HC595封装及管脚功能

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

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运行结构示意图

 51单片机——74HC595的应用(SPI实践)文章来源地址https://www.toymoban.com/news/detail-433736.html

到了这里,关于51单片机——74HC595的应用(SPI实践)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 51单片机——IO拓展(串转并)-74HC595 小白详解

    51单片机——IO拓展(串转并)-74HC595 小白详解

    74HC595 芯片介绍 74HC595 是一个 8 位串行输入、并行输出的位移缓存器,其中并行输出为三 态输出(即高电平、低电平和高阻抗)。芯片管脚及功能说明如下:图1 上面两张都是 74HC595 芯片管脚图,细心的朋友就会发现左侧的 1 脚是 QB, 而右侧芯片的 1 脚是 Q1,左侧芯片的 11

    2024年02月04日
    浏览(11)
  • 51单片机驱动8位数码管(74HC595驱动)滚动显示

    51单片机驱动8位数码管(74HC595驱动)滚动显示

    原文链接:https://www.yourcee.com/newsinfo/2929591.html 点击图片购买 主要关注下供电电压是3.0-5.0v(建议5V),请在规定范围内供电。 模块上芯片引出5个引脚,芯片引脚与模块引脚对应关系是:VCC-VCC SCK-SCLK, RCK-RCLK,SER-DIO,GND-GND 可以对比程序学习时序图,便于理解。 1.显示异常可排除

    2024年02月15日
    浏览(22)
  • 使用74HC595完成16*16led矩阵广告牌(51单片机软件仿真)

    使用74HC595完成16*16led矩阵广告牌(51单片机软件仿真)

    目录 74HC595简介(个人理解)与模块代码 软件仿真和代码  SHCP是写入595芯片数据的配置 STCP是发送595芯片内信息的配置 DS是数据配置的区域 595芯片有9个输出引脚,最后一个是供给下一块串联的595使用的,下一块串联的595stcp和shcp与上一块连接的引脚一致,下一块的DS与上一块

    2024年02月06日
    浏览(13)
  • 51单片机LED点阵控制原理、74HC595工作原理和字母和滚动显示实验代码

    51单片机LED点阵控制原理、74HC595工作原理和字母和滚动显示实验代码

    目录 1. 74HC595工作原理图解  2.LED点阵控制原理 3.点阵LED实验 3.1 配置74HC595代码 3.2 D点阵LED显示H   3.3 滚动LED  (1) 滚动扫描图示  (2)程序代码 4.遇到奇怪的bug    :        输出使能,输入低电平允许输出,因此需要用接线帽j24让oe和地短接。 (但是我普中A2的板子,不

    2024年02月04日
    浏览(14)
  • 51单片机通过两片74HC595级联,用8位LED数码管,分别显示当前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真实现。

    51单片机通过两片74HC595级联,用8位LED数码管,分别显示当前日期,如:“2”、“0”、“-”、“0”、“5”、“-”、“2”、“6”,用Proteus仿真实现。

    1.先上仿真图,但这么连仿真图是不太正确的,要注意。展示的话能用就行。 2.从上到下依次放上数据手册上的引脚解释和逻辑功能和时序图    3.贴上代码:写了发送一字节数据函数,发送全部字节函数,加上一些写了很久的解释(求赞)。

    2024年02月08日
    浏览(13)
  • 单片机(二):3个IO扩展n*8个IO,基于74hc595与74hc165的8x8矩阵键盘

    单片机(二):3个IO扩展n*8个IO,基于74hc595与74hc165的8x8矩阵键盘

    3个IO通过一片74hc595扩展8个输出IO,3个IO通过一片74hc1655扩展8个输入IO,最终成为8X8的矩阵键盘。对于普通的矩阵键盘,再加入防止鬼键、消抖和按下与松开识别。 74HC595是一个8位串行输入、并行输出的移位缓存器。通俗的来讲就是在输入时钟的上升沿数据输入端的数据可以位

    2024年02月10日
    浏览(11)
  • 利用芯片74hc165为单片机增加输入扩展端口proteus仿真arduino

    利用芯片74hc165为单片机增加输入扩展端口proteus仿真arduino

    我们前面的博文《输入端口少如何扩展?74hc148或74ls148级联在arduino中实现16转4的应用》介绍了148,148输入后可以立即输出到数码管,可以说它是自带编BCD编码器的。而今天这里我们主要介绍的74hc165是没有编码器,这里我们以proteus为仿真环境,arduino作为编译代码环境。 文章原

    2024年02月07日
    浏览(12)
  • 51单片机蓝牙模块(HC05)运行原理

    51单片机蓝牙模块(HC05)运行原理

    在所有工作进行之前首先看一看自己的蓝牙模块是否是正常的,这一步很重要。一块正常的蓝牙模块是所有后续工作的基础! 首先把蓝牙模块链接到51单片机上 这时需要注意!!!我们需要将 蓝牙模块的RXD和单片机上的P30(RXD)引脚连接,将蓝牙模块的TXD和单片机上的P31(

    2023年04月08日
    浏览(30)
  • 基于51单片机hc-05,hc-06蓝牙传送数据到手机APP

    基于51单片机hc-05,hc-06蓝牙传送数据到手机APP

           通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 1s (自己可设定)传输一批传感器数据      最近在封装一些传感器的程序,在通过蓝牙连接手机调试数据的时候遇到的一点小问题。蓝牙的介绍网上有很多,这里就不说。把51代码丢出来供大家移植。 通过蓝牙发送浮点型、

    2024年02月11日
    浏览(57)
  • 51单片机使用HC-S104超声波模块

      HC-S104超声波模块是一种测量距离的传感器,可以用于51单片机的测距应用。下面是使用HC-S104超声波模块的步骤: 1.将HC-S104超声波模块的VCC引脚连接到51单片机的3.3V或5V电源,GND引脚连接到51单片机的GND,TRIG引脚连接到51单片机的一个可编程输出口,ECHO引脚连接到51单片机的

    2024年02月12日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包