74HC595芯片应用

news/2024/12/29 20:07:24/

文章目录

  • 前言
  • 一、74HC595芯片管脚定义功能
  • 二、74HC595芯片工作原理
  • 三、共阳极及共阴极数码管段码
  • 四、74HC595驱动代码
  • 总结


前言

74HC595芯片是在单片机系统中常用的芯片之一,他的作用就是把串行的信号转为并行的信号,常用在各种数码管以及点阵屏的驱动芯片,使用74HC595可以节约单片机的I/O口资源,用3个I/O就可以控制4个数码管显示,它还具有一定的驱动能力,可以免掉三极管等放大电路,所以这块芯片应用非常广泛。

一、74HC595芯片管脚定义功能

74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。

在这里插入图片描述

二、74HC595芯片工作原理

  1. 将要准备输入的位数据移入74HC595数据输入端上。
  2. 将位数据逐位移入74HC595,即数据串入。SH_CP产生上升沿,将DS上的数据移入74HC595移位寄存器中,先送高位,后送低位。
  3. 并行输出数据。即数据并出。ST_CP产生上升沿,将由DS上已移入数据寄存器中的数据送入到输出锁存器。

74HC595芯片时序图如下
在这里插入图片描述

三、共阳极及共阴极数码管段码

  • 将欲显示字符的字型码作成一个表(数组),根据显示字符从表中查找到相应字型码,然后把该字型码输出数码管各个段上。
  • LED数码管: “8”字型,7段(不包括小数点)或8段(包括小数点),每段对应一个发光二极管,共阳极和共阴极两种。共阳极数码管的阳极连接在一起,接+5V;共阴极数码管阴极连在一起接地。
  • 对于共阴极数码管,当某发光二极管阳极为高电平时,发光二极管点亮,相应段被显示。同样,共阳极数码管阳极连在一起,公共阳极接+5V,当某个发光二极管阴极接低电平时,该发光二极管被点亮,相应段被显示。
    在这里插入图片描述
    在这里插入图片描述

四、74HC595驱动代码

sbit SHCP=P1^6;
sbit STCP=P1^5;
sbit SER=P1^3;

定义移位寄存器时钟引脚、定义存储寄存器时钟输入引脚、定义串行数据输入引脚

unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

定义数码管段码数组tab[ ]

void write595(unsigned char word)
{uchar c,num;num=tab[word];            //定义变量num,将数组中的段码赋值给numfor(c=0;c<8;c++){if(num&0x80){SER=1;}else{SER=0;}num=num<<1;SHCP=0;SHCP=1;}STCP=0;STCP=1;
}

根据74HC595芯片工作原理,将八位数码管段码通过按位与取出一位,通过循环8次左移8次依次放入移位寄存器。最后再放入存储寄存器。


总结

随后即可在数码管显示中调用write595(unsigned char word)函数,将需要显示的数字传参进去。
下一节完成 “数码管动态显示实现”


http://www.ppmy.cn/news/181787.html

相关文章

CH455G驱动数码管

官方硬件原理图 这个芯片可以驱动数码管也可以扫描键盘&#xff0c;这里我们只看数码管驱动&#xff0c;所以原理图参考官方这里就行了。最多只能驱动4个数码管。 官方数码管驱动说明 文档中说了芯片是iic通信控制&#xff0c;时序也是标准的iic时序&#xff0c;所以驱动我们…

计算机网络-层级架构

计网概念 计算机网络将分散的、具有独立功能的计算机系统&#xff0c;通过通信设备与线路连接起来&#xff0c;由软件实现资源共享和信息传递&#xff0c;同时也是一些互联的、自治的计算机系统的集合 计网组成的三种划分方式 硬件、软件、协议 硬件包含主机&#xff08;端系…

GET http://localhost:8080/xxx/ net::ERR_BLOCKED_BY_CLIENT 解决方法之一

问题描述&#xff1a;在vue使用后端接口时&#xff0c;使用Postman调用的到数据&#xff0c;但是前端收不到&#xff0c;会报错GET http://localhost:8080/xxx/ net::ERR_BLOCKED_BY_CLIENT 问题分析&#xff1a;可能是由于你返回的数据中含图片地址&#xff0c;同时你又安装…

服务器inode使用100%解决

背景&#xff1a;平时服务器就挂着docker容器&#xff0c;一放好几个月没碰&#xff0c;创建文件夹&#xff0c;复制文件和启动新容器时&#xff0c;都有提示“no space left on device” 操作&#xff1a; 使用 df -h 查看硬盘使用量&#xff0c;发现还有20%多&#xff0c;没问…

天钰FP6770S6PTR芯片,VIN范围:2.7V至4.5V,低噪声恒定频率操作

描述 FP6770是一款低噪声DC/DC电荷泵产生调节输出电压的调节器从2.7V到4.5V输入电压。低外部零件计数&#xff08;一个快速电容器和两个小旁路VIN和VOUT处的电容器&#xff09;使FP6770成为理想用于小型电池供电应用。 FP6770以恒定频率模式运行开关电容器倍压器&#xff0c;…

2/3 P6770 [USACO05MAR]Checking an Alibi 不在场的证明

https://www.luogu.com.cn/problem/P6770 本题就是输出从结点1到各个有牛的结点的最小时间在M范围内的有牛结点&#xff0c;升序输出其编号。 刚开始没能ac&#xff0c;错误应该在输出格式上。 算法之外的代码应该写的逻辑清晰一点&#xff0c;一个数组尽量只代表一个意思。 &a…

neovis.js的一个坑

在vue中引入neovis.js出现的bug&#xff0c;报错信息如下 This dependency was not found: * core-js/modules/web.dom-collections.iterator.js in ./node_modules/neovis.js/dist/neovis-without-dependencies.js To install it, you can run: npm install --save core-js/…

校招面试算法集训11-3

这三道题面试难度都在中等偏上 这道题较难&#xff0c;先略去 分治合并链表