一门包含六个教程的课程,介绍如何使用库来管理和控制级联中的单个或多个移位寄存器,或同时进行多个移位寄存器排列。ez_SIPO8_lib
提醒一句:
这些教程和用户指南仅限于 SIPO8 库功能的使用和实施,它们不包括有关 SIPO 输出连接到标准 LED 以外的组件(例如继电器或其他组件)的注意事项 - 此处需要注意匹配所使用的特定 SIPO IC、它们要连接的组件以及可能超出所连接微控制器的总体功率要求。
互联网提供了大量涵盖上述内容的材料,建议读者在使用 LED 进行任何简单项目之前先围绕这些问题做一些研究。
虽然这些教程中引用的示例草图是为 Arduino 微控制器配置的,但它们也同样适用于 ESP 32 板。
如果您希望浏览ez_SIPO8_lib
Project Hub 上的库文章,请点击此链接。
本文介绍了一系列包含六个教程的教程,这些教程介绍了ez_SIPO8_lib
用于管理和控制移位寄存器或串行输入/并行输出 (SIPO) IC 的库的功能。图书馆设计和应用的概念不同于现有的资源和方法,因为它将为以下方面提供支持:
那么,如果您需要使用一个或多个 SIPO IC,那么也许ez_SIPO8_lib
对您有用?如果您想访问原始ez_SIPO8_lib
文章,请点击此链接:ez_SIPO8_lib
文章。
通过遵循和学习教程,您将更全面地了解和欣赏图书馆的潜力。
提供了六个教程,每个教程都建立在下一个教程之上,它们是:
教程 1 - 绝对寻址
通过将单个 SIPO IC 视为虚拟和单独映射的 SIPO 端口的连续阵列,引入 SIPO 输出的绝对寻址。
教程 2 - 相对寻址
使用单个 SIPO IC 引入 SIPO 输出的相对寻址。在这种情况下,寻址是相对的,因为它被认为是相对于所讨论的“银行”而不是一个完整的数组。
教程 3 - 使用定时器
涵盖使用 SIPO8 库定时器功能的原理,同样使用单个 SIPO IC。定时器作为库资源的一部分提供,因为它通常有助于将定时间隔应用于更新输出,例如闪烁 LED、打开/关闭继电器等。库允许设计人员在库中创建任意数量的定时器类实例化,每个都可以通过自己唯一的计时器 ID 寻址。
教程 4 - 级联 SIPO
本教程将指导读者创建两个 SIPO IC 作为单个组作为级联。然后,所涵盖的原则允许通过 SIPO IC 的直接扩展来创建任何规模的 SIPO 库,而对驱动软件草图的更改很小。
教程 5 - 库交错
本教程着眼于库交错的特性,其中可以将任意数量的相同大小的 SIPO 库映射到相同的3 线数字接口,根据需要使库“发挥作用”。请注意,这与正常的连接方式相反,但确实为设计者引入了新的可能性。
教程 6 - 问答
最后,本教程提供了有关“我如何……”、“我如何……”等具体问题的答案。
希望在教程结束时,您将获得足够的洞察力和实践来决定ez_SIPO8_lib
库的功能是否对您的项目有所帮助。
但是,在我们开始之前,让我们先了解一些您在此过程中需要的概念、术语和指南。
起源- 这些教程基于之前一篇介绍该库的文章,ez_SIPO8_lib
其中包含有关该库各个方面的全面技术概述和详细信息,包括许多示例和教程。如果您还没有看过这篇文章,并且想要详细了解该库,那么一定要看看它。可以通过以下链接访问它:ez_SIPO8_lib
文章。您会在本文中找到完整用户指南和 Crib Sheet 的链接,以及更多有用的帮助。
术语:“ SIPO IC” ——在整个教程、代码和其他文档中,使用术语“SIPO IC”或“SIPO”而不是移位寄存器,但这些术语是同义词。
位编号- 库的寻址函数假定位编号遵循二进制符号的传统约定。也就是说,最低有效位出现在字节右侧的位 0。
术语:“数组” ——库将所有连接的 SIPO IC 称为数组,指的是从第一个 IC 的端口 0 到最后一个 IC 的最后一个端口是连续的,无论这些是如何配置的(“切碎” ) 存入银行(见下文)。数组位映射每个已连接和活动的 SIPO IC 的每个输出端口。
术语:“库” ——库是指一个或多个级联的 SIPO IC。例如,可以仅使用一个 SIPO IC 或级联在一起的多个 SIPO IC 创建一个库。一旦一个库是软件定义/创建的,代表该库输出端口的数组位图就会被激活。尽管通常情况下,bank 寻址总是相对于 bank 定义的 SIPO,但要注意的是,如果仅配置了一个SIPO IC bank,则无论大小如何,绝对地址和相对地址都是对齐的。
Concurrent & variable size banking——库的设计理念允许任何规模的banks同时独立配置和操作。此外,银行的规模也可能不同。例如,我们可以创建一个由一个 SIPO IC 组成的组,加上一个由三个级联 SIPO IC 组成的组,再加上一个由八个级联 SIPO IC 组成的组,等等。所有 bank 都可以一起存在,并且可以通过它们各自的 bank id(相对寻址)或作为一个完整且连续的数组(绝对寻址)来寻址。
让我们看另一个例子,这次是一个图解例子,说明ez_SIPO8_lib
库功能的灵活性,考虑以下设计图:
在这里,我们将 11 个 SIPO IC 配置为五个 3WI 上的五个组 - 见图。请注意绝对和相对地址范围。我们可以通过多种方式安排这 11 颗 SIPO IC;应选择适合设计需要的安排。
我们有完全的自由来解决这种安排,可以作为一个完整的连续输出端口阵列(从端口 0 到端口 87),也可以作为单独的输出端口组(请参阅上表以了解按组 ID 划分的相对地址范围)。
3 线接口- 每个组都需要一个 3 线接口 (3WI) 来连接到微控制器(数据、时钟和锁存器引脚)。然而,相同大小的组可以使用“交错”的概念共享相同的 3WI(参见教程 5 )。
库文件- 您需要下载库文件才能运行教程。将库文件下载ez_SIPO8_lib
到您的...Arduino/libraries/ 目录。
下载三个文件,分别是
ez_SIPO8_lib.h
,ez_SIPO8_lib.cpp
和keywords.txt
(这些包含在本文中,请参阅代码部分,但也可以通过 Arduino IDE 库管理器下载)。
库声明和实例化- 每个教程草图示例的库声明及其实例化在很大程度上是相同的,区别仅在于教程调用的 SIPO IC 和计时器的数量。以下示例取自教程 1 -
库声明:
#include
库类的实例化:
...
#define max_SIPOs 1 // one 1 SIPO for this tutorial
#define max_timers 0 // no timers required
// initiate the class for max SIPOs/timers required
SIPO8 my_SIPOs(max_SIPOs, max_timers);
...
我们实例化库类,将其命名为“ my_SIPOs
”,用于定义我们需要的 SIPO IC 和计时器的数量。对于这个例子,我们将只使用一个 SIPO IC 而没有定时器(我们将在教程 3中介绍定时器)。
我们在所有教程中使用相同的方法来声明和实例化,根据教程的要求改变类的参数。
按照以下链接访问和下载有用的资源和示例:
ez_SIPO8_lib
用户指南
ez_SIPO8_lib
床单
阅读ez_SIPO8_lib
全文
有趣的草图示例 -掷骰子,第 2 部分
特别是 Crib Sheet,它是一个非常方便的简短用户指南,提供了图书馆功能、保留字等的顶级范围和规范。
我希望您能找到感兴趣的教程,并希望您探索该ez-SIPO8_lib
库的更多功能。
享受!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !