74HC164

采用移位寄存器(SN74HC164DR)驱动多个LED<应用案例> 主控通过MCU_LED_DA和MCU_LED_CLK两个引脚控制移位寄存器74HC164,clk上升沿时将数据右移,将多个串起来会自动右移。例如如上图所示,驱动中给20个时钟,实现将LG3_L/A点亮。for(i = 0;i++){//由于硬件中实际控制的灯只有20个,所以gpio_cnt为20个。通过赋予da不同的值达到控制灯亮的目的。例如s[0]为1时,当此for循环执行完成后LG3_L/A引脚会置位为高电平。 阅读详情
AI摘要

本文详细介绍了74HC164高速CMOS移位寄存器的功能特性,包括其串行输入并行输出的工作原理、引脚配置、极限值等关键信息,并提供了一个用于驱动数码管的示例程序。

8 位串入、并出移位寄存器

1. 概述

74HC164、74HCT164 是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。

2. 特性

·                                 门控串行数据输入

·                                 异步中央复位

·                                 符合 JEDEC 标准 no. 7A

·                                 静电放电 (ESD) 保护:

 ·HBM EIA/JESD22-A114-B 超过 2000 V

 ·MM EIA/JESD22-A115-A 超过 200 V 。

·                                 多种封装形式

·                                 额定从 -40 °C 至 +85 °C 和 -40 °C 至 +125 °C 。

3. 功能图

3. 功能图

图 1. 逻辑符号

图 2. IEC 逻辑符号

图 3. 逻辑图

图 4. 功能图

4.引脚信息

图 5. DIP14、SO14、SSOP14 和 TSSOP14 封装的引脚配置

引脚说明 

 

 符号

 

 引脚

 

 说明

 

 DSA

 

 1

 

 数据输入

 

 DSB

 

 1

 

 数据输入

 

 Q0~Q3

 

 3~6

 

 输出

 

 GND

 

7 

 

 地 (0 V)

 

 CP

 

 8

 

 时钟输入(低电平到高电平边沿触发)

 

 /M/R

 

 9

 

 中央复位输入(低电平有效)

 

Q4~Q7

 

10~13

 

输出

 

VCC

 

14

 

正电源罗亩的笔记

5. 功能表

 

工作模式

 

输入

 

输出

 

/M/R

 

CP

 

DSA

 

DSB

 

Q0

 

Q1 至 Q7

 

复位(清除)

 

L

 

L

 

X

 

X

 

L

 

L 至 L

 

移位

 

 

H

 

↑

 

l

 

l

 

L

 

q0 至 q6

 

H

 

↑

 

l

 

h

 

L

 

q0 至 q6

 

H

 

↑

 

h

 

l

 

L

 

q0 至 q6

 

H

 

↑

 

h

 

H

 

H

 

q0 至 q6

H = HIGH(高)电平

h = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 HIGH(高)电平

L = LOW(低)电平

l = 先于低-至-高时钟跃变一个建立时间 (set-up time) 的 LOW(低)电平

q = 小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入 (referenced input) 的状态

↑ = 低-至-高时钟跃变

6. 极限值

符合绝对最大额定值体系 (IEC 60134) 的规定。电压参考点为 GND(地 = 0 V)。

[1] 对于 DIP14 封装:Ptot 在超过 70 °C 时以 12 mW/K 的速度线性降低。

[2] 对于 SO14 封装:Ptot 在超过 70 °C 时以 8 mW/K 的速度线性降低。

     对于 SSOP14 和 TSSOP14  封装:Ptot 在超过 60 °C 时以 5.5 mW/K 的速度线性降低。

     对于 DHVQFN14 封装:Ptot 在超过 60 °C 时以 4.5 mW/K 的速度线性降低。

 

 

 

74HC164驱动程序


//-------------------------------------库函数声明,管脚定义--------------
#include <reg52.h>
sbit simuseri_CLK=P1^6;           //用P1^6模拟串口时钟
sbit simuseri_DATA=P1^5;          //用P1^5模拟串口数据
sbit drive74164_CLR=P1^7;            //用P1^7控制CLR
sbit a0=ACC^0;
//-----------------------------------------------------------------------
//  函数名称:out_simuseri 
//  输入参数:data_buf
//  输出参数:无
//  功能说明:8位同步移位寄存器,将data_buf的数据逐位输出到simuseri_DATA 
//-----------------------------------------------------------------------
void out_simuseri(char data_buf)
 {    
    char i;
    i=8;
    ACC=data_buf;
    do
       {  
       simuseri_CLK=0;
       simuseri_DATA=a0;
       simuseri_CLK=1;
       ACC=ACC>>1;
        }
while(--i!=0);
    simuseri_CLK=0;
}
//-----------------------------------------------------------------------
//  函数名称:PA_out 
//  输入参数:Pseri_out,需要输出的8位数据
//  输出参数:无
//  功能说明:将Pseri_out中的数据送到74165并行口A-G输出
//-----------------------------------------------------------------------
void  PA_out (char Pseri_out ) 
{
drive74165_CLR =0;     //并口输出清零
drive74165_CLR =1;     //开始串行移位
out_simuseri(Pseri_out);
}

 

 

 

 /*********************************************************************************/

/*********************************************************************************/

/*********************************************************************************/

74hc164驱动数码管,我试了很久了,也看了很多资料,都不成功,真郁闷,请大家帮忙!

首先,我用一颗单片机发74hc164发送串行数据,比如发送的是0-9的数字,每发完一个数字,暂停3秒发下一个数字,如此循环,数码管为共阴极数码管,电路图如下:



图中的正好是刚发送完数字5,二进制为101,根据串行输入,并行输出的特点,输出了101的高电平,很显然数码管并没有显示5,但从多方面资料证实,74hc164是完全可以用来驱动数码管的,我就疑问了,数码要怎么才能实现显示5呢?

数码要怎么才能实现显示5呢? 答:输出101是正确的,5字三划,要三个1,首先要学会编码。。。。应该输入8bit的数,分别对应数码管8个二极管,还要看共阴,共阳 ,请好好看看7段数码管原理,7448自带译码,直接输四位BCD, 164可没这功能 。。。

 

单个数码管用3-8译码器作处理

 
   -A- 
 F|   |B 
  |-G-|
 E|   |C
   -D-  .DOT
   数码管显示
 数字  A B C D  E F G DOT  全值
  0     1 1 1 1  1 1 0  0   0110 111(0/1)   0XFC
  1     0 1 1 0  0 0 0  0   0110 000(0/1)   0X60
  2  1 1 0 1  1 0 1  0   1101 101(0/1)   0XDA
  3  1 1 1 1  0 0 1  0   1111 001(0/1)   0XF2
  4  0 1 1 0  0 1 1  0   0110 011(0/1)   0X66
  5  1 0 1 1  0 1 1  0   1011 011(0/1)   0XB6
  6  1 0 1 1  1 1 1  0   1011 111(0/1)   0XBE
  7  1 1 1 0  0 0 0  0   1110 000(0/1)   0XE0   
  8  1 1 1 1  1 1 1  0   1111 111(0/1)   0XFE   
  9  1 1 1 1  0 1 1  0   1111 011(0/1)   0XF6   
  A  1 1 1 0  1 1 1  0   1110 111(0/1)   0XEE
  b  0 0 1 1  1 1 1  0   0011 111(0/1)   0X3E   
  C  1 0 0 1  1 1 0  0   1001 110(0/1)   0X9C   
  d  0 1 1 1  1 0 1  0   0111 101(0/1)   0X7A   
  E  1 0 0 1  1 1 1  0   1001 111(0/1)   0X9E   
  F  1 0 0 0  1 1 1  0   1000 111(0/1)   0X8E
注意这里DOT(也就是DP)后都是0,要改变DP,另外作与或
还有,这里是从高到低,你要从低到高的话,将序列反过来
__________________________
不明白先看数据手册,看数据手册一定要仔细!!

 

别再死记硬背时序图!用74HC164和51单片机实战理解‘串入并出’通信协议 本文通过74HC164和51单片机实战,详细解析了串入并出通信协议的工作原理。从LED流水灯到数码管驱动,逐步展示如何通过硬件连接和代码实现,避免死记硬背时序图,真正掌握串行输入并行输出的核心机制。适合嵌入式开发初学者快速上手。 阅读详情

相关推荐

74hc164驱动数码管c语言程序,74hc164应用电路图_74hc164驱动源程序

74hc164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74hc164是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。时钟 (CP) 每次由低变高时,数据右移一位,...

weixin_29016315的博客 4909

扩展IO口:移位寄存器 74HC164(含电路和程序)

▪ 基本信息   在我们的单片机应用系统中,常常会遇到 I/O 口不够的情况。譬如说接有外部 RAM 而且要求有 16 个以上的按键,8 位数码管以上的显示。而且还不包括其它的外围器件。这时整个系统的 I/O 资源就很吃紧了。系统的扩展性也不好。这时我们就需要考虑对单片机的 I/O 进行扩展了。   虽然专门的 I/O 扩展芯片市场上也有不少,但对于我们一般的应用,没有必要整的那么复杂。用一些简单的移位寄存器芯片一样可以实现我们的目标。下面我们首先来认识一下 74HC164 这款芯片。这款芯片的作用是把

外来物种 3万+

8片74hc164级联数码管显示

8片74hc164级联数码管显示 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新...

小白总结 2397

移位寄存器的串行扩展(74hc164)

转自:http://jiancaihong.blog.hexun.com/17638422_d.html 1. 74HC16474HC164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口。如图1所示。      当时钟信号从低电平变为高电平的时候将输出一个数据到输出端D0,当时钟第二次由低电平变为高电平的时候将输出第二个数据到D0,而第一

深水蓝的专栏 1万+

74HC164(移位寄存器)

1.Proteus 8 仿真器2.keil 5 编辑器。

爱吃编程的苦 1970

构建基于AT89C52和74HC164的数字显示系统

AT89C52单片机是由Atmel公司生产的一款8位微控制器,属于MCS-51系列。它具有8K字节的可编程Flash存储器,可以存储和执行用户编写的程序。此外,它还配备了256字节的RAM和32个I/O口,以及定时器、串行口等多种功能模块,非常适合于各种控制场合。Proteus是一个多用途的电子设计自动化软件,支持电路原理图捕获、仿真和PCB设计等多功能集成。它最显著的特点是其电路仿真功能,允许工程师在实际构建物理电路之前,对设计进行测试和验证。

weixin_35748962的博客 931

74HC164用法

74HC164用法 DSA和DSB都是数据输入引脚, DSA和DSB的与运算的值 作为移位数据输入到移位寄存器, 并且164不带锁存器功能, 也就是说在移位的过程中数据会实时反应在输出口上 74HC595带锁存器功能,74HC164没有锁存器功能 /*74HC164用法*\ //其中ShowData为164数据脚, //ShowClck为164时钟脚; #include<reg52.h> #include〈intrins.h〉 sbit ShowData=P2^0;//数据 sbit Sho

weixin_45211835的博客 7955

74HC164中文资料

SN74HC164是8位移位寄存器,当其中一个(或二个)选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端(A 和B) 可完全控制输入数据。一个高电平输入后就使另一个输入端赋能,这个输入就决定了第一个触发器的状态。

74HC164D芯片介绍

74HC164D是一款8位串行输入、并行输出的移位寄存器芯片,可将串行数据转换为并行输出,常用于微控制器IO扩展。其核心特性包括:通过时钟上升沿触发数据移位,主复位引脚(/MR)可异步清零输出,两个串行输入引脚(A&B)采用"与"逻辑。典型应用包括LED驱动和多芯片级联扩展输出,具有接口简单、成本低的优点,但输出无锁存功能可能导致闪烁。相比74HC595,74HC164D缺少输出锁存和三态控制功能,但仍适用于基础串并转换需求。工作电压2-6V,兼容3.3V/5V系统,是理解移位寄存器原理的实用器件。

道阻其长,未来可期。笔耕不辍,行则将至! 1787

气象干旱触发水文(农业)干旱的概率及其触发阈值的动态变化-贝叶斯copula模型

本文通过建立不同类型干旱传播过程的触发阈值模型,解析了在不同等级气象干旱胁迫下诱发次一级干旱类型的触发阈值。通过贝叶斯概率模型,我们推导了气象干旱与水文干旱、农业干旱、地下水干旱之间的条件概率关系,进一步明确了气象干旱引发水文干旱、农业干旱和地下水干旱的概率及其触发阈值。该模型有效揭示了气象干旱对各级干旱类型的传播机制及其动态变化,为干旱预警系统的建立和水资源管理提供了理论依据和技术支持。

frankgis的博客 2501

通信原理与MATLAB(八):2PSK的调制解调

通信原理和MATLAB

菜yuan~的博客 3万+

按键扫描——74HC164驱动(一)

前言:笔者经常

qq_36749906的博客 5497

Vue3+Element Plus:构建现代化后台管理系统的核心布局实践

本文详细介绍了使用Vue3和Element Plus构建现代化后台管理系统的核心布局实践。从开发环境搭建到核心布局设计,再到动态菜单与路由集成,提供了完整的解决方案和优化技巧。特别适合需要快速开发高效、响应式后台系统的开发者,通过实战案例展示了如何提升开发效率和系统性能。

weixin_28309723的博客 457

小美我喜欢你!不行我喜欢理解74HC164芯片的!!!74HC164芯片看这一篇就够了·内置驱动电路、代码

今天跟小美表白了,小美给我说她喜欢会74hc164芯片的男生,难受的我苦读芯片数据手册,同时写下了这篇理解笔记,跟驱动数码管电路还有驱动代码。!!

看,是大狗 1704

ESP32、MicroPython、天问ASR-PRO,串口发送数据并播报

天问ASRPRO语音芯片内置脑神经网络处理器,支持DNN、TDNN、RNN等神经网络及卷积运算硬件运算,非软件运算,支持语音识别、声纹识别、语音增强、语音检测、单麦克风降噪增强、单麦克风回声消除、360度全方位拾音等功能。ASR-PRO可以图形化编程,降低开发难度,对小白友好。之前使用ASRPRO与ESP32进行过语音控制,这次由于一个项目需要对ESP处理过后的数据进行播报,就想到利用该模块。以下程序主要为测试代码,并非实际项目,仅供参考学习(若有错误,欢迎指正)。二者通过串口通信,波特率为9600。

weak_student的博客 5945

3D Slicer学习记录(4)-PLUSapp连接双目相机Intel Realsense

plusapp是基于openIGTLink协议的免费的开源库和应用程序API接口,用于数据采集、预处理、校准和实时流成像、位置跟踪和其他传感器数据。这里以intel realsense双目相机为例详细的演示整个图像流导入到3D Slicer的流程。

weixin_39090239的博客 1344

51单片机74HC164(右移的芯片)的使用

电路图以及代码我都上传到资源里面的有需要的自己去下,都是免费的。我一个学弟问我这个咋用,给他写的顺便分享一下吧哈哈 目的:74HC164的使用,74HC164就是一个串入并出的芯片A和B端就是串入数据的接收端,当CLK端来一个上升沿信号后,就会把A和B端接收到的数据传到输出端,即Q0到Q7,每来8个上升沿以后Q0到Q7便会都有数据,我这里为了更清楚的观察到输出端的数据变化连接的是LED,弄懂了输出端的数据变化就可以自己试着把LED改为数码管了。 代码的易错点解释: void senddata(uint da

qq_45049500的博客 6423

帆软报表导出各种格式之后台导出

我们前面介绍了帆软报表在界面上的导出是通过类似的URL:http://localhost:8075/webroot/decision/view/report?op=export&sessionID=10653244-3e46-408c-bc54-f89a214a9bc7&format=image&extype=PNG 来完成的,就是带OP=export以及format参数来完成的。如果不从界面传参数,比如我们自己实现了一个HTTP接口,也可以通过传参数format来完成各种格式的导

帆软爱好者的专栏 4270

7.DSP学习记录之74HC164驱动数码管

[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d6755463926c48baaff98a523ba02fef.png一位数码管由8个LED组成,数码管的显示,就是简单的高低电平输出其连接方式有共阳极和共阴极两种,共阳极连接在数码管的连接端直接拉低电平即可,而共阴极接法需要使用驱动芯片进行驱动LED管使其导通。

weixin_63295750的博客 1357

Vue - 详细完美解决 ElementUI MessageBox “多次“ 弹框问题,让其无论执行多少次都只弹出来一次(常见于请求拦截器多次触发弹框,导致弹出来很多个)详细示例代码,保证完美解决!

vue如何防止ElementUIMessageBox多次弹框,vueelement弹框弹出来很多次怎么办,elementvueMessageBox解决执行多次后出现多次弹框的问题,elementUI如何阻止MessageBox多次弹出来,vue+element解决多个请求同时报错,弹出多个消息框message,饿了么组件库MessageBox弹框频繁弹出解决方法,vue调用MessageBox出现多次弹框,vueelementMessageBox怎么只弹出一次,vue之axios请求

🏆 前端领域优质创作者 8195

微信小程序——01开发前的准备和开发工具

微信小程序——01开发前的准备和开发工具

总裁余(余登武)博客 1万+

STC单片机74hc164驱动8位数码管动态显示

74hc164驱动8位数码管动态显示,分位显示,共阳极数码管,74hc164联级驱动,扩展IO口

weixin_46324172的博客 7575

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

串口控制74HC164C语言,51单片机74HC164串口控制数码管显示

一般数码管需要接7个脚才能显示,如果用单片机本身的I/O口,虽然可以但是浪费宝贵的i/O口资源。本例用移位寄存器74HC164作为数码管驱动进行控制。74HC164特性 是一种8位串转并口的控制芯片,用于数码管和液晶显示等.工作电压2--6V管脚定义:1) A,B管脚:与门数据输入引脚。2)QA---QH 数据并口输出引脚3)...

weixin_36185512的博客 3397

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

74hc164c语言用法,74hc164控制数码管显示系统设计方案

一、数码管的结构数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0~9。数码管分为共阴极和共阳极两种结构。所谓共阴极,及时将所有的LED的阴极连到一起,而共阳极这相反,所有的阳极被连到了一起。但不是那种结构,其设计的原理基本相同,唯一不同的是驱动电路的设计有差异,一般共阴极采用推(Push)电流的方式来驱动,而共阳极结构则采用拉(Pull)电流的方式来驱动。二、数码管工作原...

weixin_42295859的博客 1963

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

按键扫描——74HC164驱动(二)

前言:

qq_36749906的博客 1757

74hc164如何驱动数码管

http://www.elecfans.com/dianlutu/187/20180129625897.html 74HCT164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一...

childboy的博客 1万+
下一篇: c#(转)
一醉不醒
博客等级 码龄18年 15粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值