当前位置:首页 > 经验 >

移位寄存器的工作原理(八位循环移位寄存器工作原理)

来源:原点资讯(www.yd166.com)时间:2022-11-06 07:23:36作者:YD166手机阅读>>

结果是 LED 显示从 0 到 255 的二进制计数。

您可以试验代码并操纵一些值并观察对 LED 的影响。尝试将shiftOut 语句中的MSBFIRST参数更改为LSBFIRST,看看会发生什么。

这是理解基本移位寄存器操作的简单方法。

驱动 7 段显示器

74HC575 的另一个用途是驱动 7 段 LED 显示屏。您可以使用它来显示连接到一台显示器的数量,或者您可以级联多个 74HC595 来驱动多台显示器。

7 段 LED 显示屏

典型的 7 段 LED 显示布局如下所示:

移位寄存器的工作原理,八位循环移位寄存器工作原理(17)

请注意,“7 段”显示器中实际上有八个 LED 元件,第八个 LED 用作小数点。在某些显示中,这可以用冒号代替。

LED 显示屏有两种配置:

  • 共阳极– 所有 LED 都使用共阳极(正极)连接。
  • 共阴极- 所有 LED 都与一个共阴极(负极)连接相连。

两种显示类型都使用相同的引脚排列,因此了解您的类型非常重要。一个很好的判断方法(除了参考显示器部件号)是在“二极管测试”功能上使用万用表。当以正确的极性连接时,它可用于点亮 LED 元件。

共阴极显示器更常见,是我们将用于实验的类型。

74HC595 7 段显示器连接

由于共阴极 7 段 LED 显示屏实际上只是将八个 LED 连接到一个公共阴极(负极)端子,因此与我们在第一个实验中使用的八个 LED 没有什么不同。所以我们可以使用完全相同的电路来接线。

移位寄存器的工作原理,八位循环移位寄存器工作原理(18)

使用连接图中的图表将显示引脚连接到降压电阻。COM 引脚(公共阴极)连接到 Arduino 的地。请注意,显示器将有两个 COM 引脚,您只需连接一个。

完成所有连接后,您可以通过运行上一个代码来测试它,该代码应该测试所有 LED 段,包括小数点。

但要真正显示连贯的东西,我们需要不同的代码。

74HC595 7段显示代码

这是我们将用来测试我们的 7 段显示器的代码。

/* 74HC595 Shift Register with 7-segment LED display 74hc595-7segdisplay.ino Count in hex from 0-F and display on 7-segment Common Cathode LED display DroneBot Workshop 2020 https://dronebotworkshop.com */ // Define Connections to 74HC595 // ST_CP pin 12 const int latchPin = 10; // SH_CP pin 11 const int clockPin = 11; // DS pin 14 const int dataPin = 12; // Patterns for characters 0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F int datArray[16] = {B11111100, B01100000, B11011010, B11110010, B01100110, B10110110, B10111110, B11100000, B11111110, B11110110, B11101110, B00111110, B10011100, B01111010, B10011110, B10001110}; void setup () { // Setup pins as Outputs pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { // Count from 0 to 15 for (int num = 0; num < 16; num ) { // ST_CP LOW to keep LEDs from changing while reading serial data digitalWrite(latchPin, LOW); // Shift out the bits shiftOut(dataPin, clockPin, MSBFIRST, datArray[num]); // ST_CP HIGH change LEDs digitalWrite(latchPin, HIGH); delay(1000); } }

此代码与前一个代码有许多相似之处,当您认为它在同一件事上做得很好时,这并不奇怪。

我们通过定义与 74HC595 的连接重新开始。

然后我们创建一个包含 16 个元素的数组,每个元素代表要在 7 段 LED 上显示的字符模式。

这些元素以二进制形式编写,因此很容易理解它们的工作原理。在二进制字节中,每一位代表一个 LED 段。从 MSB 到 LSB(从左到右),它们代表显示屏中的以下段:

a – b – c – d – e – f – g – DP

当该位设置为“1”时,LED 各段点亮,“0”表示熄灭。

数组是有序的,所以元素 0 是“0”的字符。元素1是“1”等的字符。它是十六进制的,所以元素15是“F”。

查看数组元素,您将看到排列。

再次在设置中,我们将连接设置为输出,然后进入循环。

我们再次使用计数器,只是这次 介于 0 和 15 之间。我们将在 LED 显示屏上以十六进制格式显示这些值。

我们一次遍历数组一个元素,使用shiftOut将数组中的数据发送到移位寄存器。

移位寄存器的工作原理,八位循环移位寄存器工作原理(19)

加载代码并观察显示。如果一切都正确连接,您会看到它从 0 到 F 计数,然后重复。

74HC165 的额外输入端口

现在我们已经了解了如何使用移位寄存器添加输出端口,现在是时候做相反的事情并添加一些输入了。对于这项工作,我们将使用 74HC165。

我们将使用 74HC165 移位寄存器和八个轻触式按钮开关。移位寄存器将从开关中获取 8 个输入,并将它们作为串行数据发送到 Arduino。

Arduino shiftIn() 函数

Arduino 再次具有用于接收串行数据的专用功能。

所述SHIFTIN()函数中的一个字节在一个时间移位串行数据。可以设置为先取 MSB 或 LSB。它通常与 74HC165 或CD4021BE等移位寄存器一起使用。

与其表亲shiftOut函数一样,shiftIn函数也提供时钟信号来同步数据传输。

Arduino & 74HC165 连接

74HC165 的输入需要拉低以防止错误读数,因此除了我们的八个按钮开关之外,我们还需要八个下拉电阻。我使用了 10k 电阻,但从 4.7k 到 27k 的任何值都可以正常工作。

移位寄存器的工作原理,八位循环移位寄存器工作原理(20)

栏目热文

变频器寄存器通俗解释(变频器作用通俗解释)

变频器寄存器通俗解释(变频器作用通俗解释)

1、系统配置1.1 软件安装 Step7 Micro/Win SMART software(含 Modbus协议库)的P...

2022-11-06 07:27:33查看全文 >>

3分钟看懂时序图(plc时序图通俗解释)

3分钟看懂时序图(plc时序图通俗解释)

操作时序永远使用是任何一片IC芯片的最主要的内容。一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事...

2022-11-06 07:40:21查看全文 >>

plc寄存器基础知识(plc中寄存器有哪几种)

plc寄存器基础知识(plc中寄存器有哪几种)

1、 S7-200将1个字长(16位)数字值按比例转换为电流或电压。可以用区域标识符(AQ)、数据长度(W)及字节的起始...

2022-11-06 06:56:07查看全文 >>

寄存器通俗图解(寄存器编程知识讲解)

寄存器通俗图解(寄存器编程知识讲解)

这些显示电子系统中信号波形的动图,有助于帮助我们理解传输的机理。1SPI传输▲ 图1 SPI 数据传输▲ 图1.2 SP...

2022-11-06 07:09:25查看全文 >>

寄存器仿真原理动画(电路寄存器接口图解)

寄存器仿真原理动画(电路寄存器接口图解)

 仿真器出现的原因1、早期的单片机内部没有ROM,比如8031、8032,这种单片机只能外部扩展紫外擦除的EPROM存储...

2022-11-06 07:39:40查看全文 >>

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

序言前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器。寄存器这个太多太复杂...

2022-11-06 07:33:35查看全文 >>

图解寄存器(寄存器寻址图解)

图解寄存器(寄存器寻址图解)

引言指令计数器即程序计数器。它是计算机处理器中的寄存器,它包含当前正在执行的指令的地址(位置)。当每个指令被获取,指令计...

2022-11-06 07:26:17查看全文 >>

8位移位寄存器原理(8位移位寄存器电路设计)

8位移位寄存器原理(8位移位寄存器电路设计)

Arduino从零开始你将学到什么1、你将学到如何增加arduino uno的数字输出针脚2、你将学到74HC595移位...

2022-11-06 07:03:05查看全文 >>

寄存器通俗解释(单片机寄存器通俗解释)

寄存器通俗解释(单片机寄存器通俗解释)

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 starhttps://github.com/crisxua...

2022-11-06 07:22:54查看全文 >>

计算机寄存器原理图(计算机中所有的寄存器)

计算机寄存器原理图(计算机中所有的寄存器)

通过前面的学习,我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什...

2022-11-06 07:20:50查看全文 >>

文档排行