刚开始的时候把74HC164当成了74HC573使了,还看了原理图,半天摸不出个所以然,然后上网查了资料,才知道原来74HC164是串入并出的,此时才知道思考方向出错了。于是再看原理图再分析示例代码方有所获。
原来164只有一个输入端sda(P10),一个控制位clk(P11),还有四个位选:dig1~dig4分别与P13~P15相连,我们可以通过控制dig来达到选位的目的,然后再用sda来向164里传数。而164共有8个输出端,刚好对应了数码管的一个字节(a,b,c,d,,e,f,g,dp),从而显示出不同的数。
还有我写的一个例子程序发现了一个小问题,现在想不通,放到这以后再想:为164送数的时候不能用while(1)死循环,因为这样会导致传不进数,至于原因,我还不清楚。
以下是我成功在74HC164上显示数码管的一个成功的例子:
#include<reg52.h>
sbit sda=P1^0;
sbit clk=P1^1;
sbit dig1=P1^2;
sbit dig2=P1^3;
sbit dig3=P1^4;
sbit dig4=P1^5;
int i;
void main()
{
dig1=0;
dig2=0;
dig3=0;
dig4=0;//将4个数码管全部选中
for(i=0;i<8;i++)
{
clk=1;
sda=1; //将所有段全部赋1,会使全部段都显示
clk=0;
}
}
程序运行效果:将显示4个8和4个点。
分享到:
相关推荐
这个特性使得74HC164非常适合用于需要动态扫描的数码管显示。数码管通常由多个段组成,每个段对应一个控制信号,74HC164的8个输出端可以驱动8个独立的数码管段,通过改变输出状态实现不同的字符显示。 在数码管驱动...
74HC164芯片正是通过这种方式来控制数码管的显示。 74HC164具有8个独立的数据输入D0到D7,这些输入可以依次通过串行时钟(SCK)进行加载。每接收一个时钟脉冲,数据就会被移位一位,并在最后一个时钟脉冲后存储在...
STM32F103单片机源码STM32-74HC165控制数码管显示提取方式是百度网盘分享地址
通过并行输出端将数据输出到对应的数码管,利用动态显示原理,以快速轮流的方式控制每个数码管的显示,从而达到用74HC164控制16个数码管的目的。 由于74HC164的输出端口数量有限,为了控制16个数码管,我们需要构造...
二是在所有数据都移位完成后,通过ST_CP脉冲将移位寄存器的数据并行输出到输出寄存器,以稳定数码管显示。 此外,由于OCR扫描文档可能会出现识别错误,因此在理解程序代码时,应当结合74HC595和51单片机的实际工作...
你可以通过这个程序学习如何将数据串行输入到移位寄存器,并控制数码管显示特定的数字或字符。 3. "74HC164.pdf":这份文档可能详细解释了74HC164芯片的技术规格、引脚配置和操作模式,有助于深入理解芯片的工作方式...
74hc244驱动数码管显示电路 大部分的逻辑IC的吸收电流要强于输出电流。因此,大家都爱使用共阴极的数码管,因为可选的IC多些。可是这组数码管是共阳的,因此公共端用三级管来驱动。最常用的S9012,首先得计划好电路...
- 每个74HC164负责驱动一个数码管,通过并行输出连接到数码管的各个段控制线,以显示相应的数字或字符。 - 控制逻辑通常包括使能信号(Latch或LE)、清零信号(RST)以及时钟信号(CK),这些信号由主控器提供以...
在压缩包的文件列表中,`main.c`是主程序文件,其中包含了控制数码管显示的主逻辑。`Project1_Opt.Bak`和`Project1_Uv2.Bak`可能是编译优化后的备份文件,`Project1.hex`是编译生成的可烧录到微控制器的十六进制文件...
由于其价格便宜、易于使用,特别适合使用在需要用到数码管显示 IO 口又比较紧张的电子产品中。 首先,我们需要了解 74HC164 的引脚功能和逻辑图,如图 1 和图 2 所示。通过真值表,我们可以了解到,A、B 两个输入端...
本文将深入解析如何利用74HC595芯片控制数码管显示,尤其是在单片机系统中的具体实现。 #### 74HC595芯片简介 74HC595是一种高电平有效的8位串行输入/并行输出移位寄存器和存储器组合芯片。它包含了一个8位串行...
- 在程序中,通过设置相应的段码和位码,可以控制数码管显示0到F的十六进制数字。 5. 实际电路应用: - 介绍了如何在WSF-51DB开发板上使用两片74HC595芯片来驱动一个8位共阴极数码管。 - 指出了段选芯片与数码管...
使用PIC16F877和两个273控制两位数码管从00显示数字到99
89S52微控制器具有8KB的Flash存储器,256B的RAM,32个可编程I/O口线,以及内置定时器、中断系统等,足以满足控制数码管显示的需求。编写针对89S52的程序,需要熟悉其汇编语言或者C语言编程,通过设置端口电平,配合...
在这个电路中,AT89C52作为主控单元,负责处理数据、计算以及控制数码管的显示。 74HC164是一种8位串行输入并行输出的移位寄存器,具有高速CMOS技术。在该电路中,74HC164主要作用是将微控制器的串行数据转换为并行...
例如,通过设置P0口输出控制74LS138的信号,然后根据要显示的数字,设置P1口的值来控制数码管的位选。程序需要考虑数码管的消隐和扫描周期,以避免闪烁。 通过这个项目,不仅可以掌握51单片机的基本编程和接口技术...
数码管显示函数则涉及将要显示的数字转化为段码,并通过74HC164的控制信号进行显示。定时刷新是为了消除人眼对亮度变化的感知,使数码管看起来始终常亮。 此外,WillingGY7可能是指一个开发板或者模块,它集成了15W...
74HC164是一款8位串行移位寄存器,常用于数据传输或显示控制。在这个特定的应用中,它可能被用来驱动六位数码管,通过串行输入数据来显示不同的数字或字符。 首先,让我们详细了解一下74HC164芯片。这款芯片有8个...
动态数码管显示程序74HC573,利用74HC573芯片实现动态显示效果,是一种常见的显示技术。74HC573芯片是一种8位锁存器,具有三态输出能力,广泛用于数字电路中,与单片机配合使用实现数据的稳定存储和传输。本文将详细...