0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用串行接口以74HC595移位寄存器作为展示向设备写入数据

454398 来源:wv 2019-10-22 11:12 次阅读

第1步:硬件

如何使用串行接口以74HC595移位寄存器作为展示向设备写入数据

我的目标只是演示不同的方法我仅将74HC595的8个输出中的4个连接到LED。调试我的代码就足够了:)如果您想使项目看起来更好,则可以将所有Qx输出连接到LED:)

您可以在图像上看到连接。

似乎不同的数据表都有74HC595的不同引脚名称,所以我在我使用的数据表中附加了引脚分配。

74HC595恒定连接:

GND(引脚8)

Vcc(引脚16)至5V

OE(引脚13)接地

SRCLR(MR)(引脚10)至5V

我使用了1k电阻和3mm LED。

步骤2:简单方法

对于所有方法,您都会看到连接到电路的示波器的屏幕截图作为性能证明。黄色走线是串行时钟(SRCLK),蓝色走线是锁存信号(RCLK)。同样,对于所有方法,我将展示函数shiftByte()的实现,该函数采用单个字节并将其逐位(串行)写入74HC595

最简单的将数据写入移位寄存器的方法如本教程中所述。基本上,它使用内置的shiftOut()函数来实现串行接口。这样,写入8位数据需要90微秒。不幸的是,包括代码不是简单的方法,因此您将在附加的zip文件中找到草图,并在shiftOut()函数的屏幕截图中找到。这种方法可以,但是相对较慢。

步骤3:使用端口命令的方法

更好方式不是切换每个位,而是使用命令将数据写入整个端口。像这样:

PORTC&= B11111101;//数据时钟低

PORTC =(PORTC&B11111010)|(x&B00000001);//将时钟设置为低并输出位0

PORTC | = B00000100;//串行时钟高

您可以在此处找到有关端口操作命令的更多信息

使用此方法附带的示例草图。

以这种方式写入8位仅需4.5微秒。它比简单方法快20倍。

此方法的缺点:

代码不清楚。

所有使用的Arduino引脚应位于同一端口上。

应将74HC595的串行数据引脚连接到使用的Arduino端口的最低有效位

步骤4:使用嵌入式汇编代码

使用内联汇编代码可以实现进一步的优化。在所附的草图中,我能够在2.8微秒内写入8位。它比简单方法快32倍。

您可以在此处找到有关如何在C代码中使用内联汇编代码的好指南。

AVR指令集手册

此方法的缺点类似于上一个方法的缺点。

步骤5:使用硬件SPI接口

但是在这种情况下,最好的方法是使用硬件SPI接口。您可以在此处阅读如何使用它。基本上,它专用于芯片内部的串行通信硬件,可用于高速传输串行数据。写出所有8位只需要不到1微秒的时间。附有示例的草图。

对于此示例,74HC595与Arduino的连接应不同于所有其他示例中的连接。

由于此方法使用了Arduino内部的特定硬件,因此应连接74HC595

Arduino引脚13(SCK)到74HC595的引脚11(SRCLK)(串行移位时钟)

Arduino引脚A1到74HC595的引脚12(RCLK) (输出锁存时钟)通常这可以是任何引脚。

Arduino的11HC引脚(MOSI)到74HC595的14引脚(SER)(串行数据输入)

所以这就是最快的方法,也是相对简单的方法。

仅此而已。我希望您觉得此说明有用。任何评论将不胜感激。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 移位寄存器
    +关注

    关注

    2

    文章

    258

    浏览量

    22219
  • 串行接口
    +关注

    关注

    3

    文章

    326

    浏览量

    42561
  • 74HC595
    +关注

    关注

    7

    文章

    191

    浏览量

    30781
收藏 人收藏

    评论

    相关推荐

    74hc595的功能及作用是什么

    74HC595是一款常用的8位串行输入、并行输出的移位寄存器,广泛应用于LED显示、驱动继电器、电机控制等领域。 74HC595的功能及作用 在数字电子领域,
    的头像 发表于 10-21 09:57 324次阅读

    74HC595常用移位寄存器芯片资料包

    在电子项目中,74HC595 是一款常用的移位寄存器芯片,它在很多领域都有着广泛的应用。 74HC595 具有多个显著的特点。首先,它可以实现串行输入并行输出,这意味着只需要很少的控制
    发表于 09-24 17:19 0次下载

    74HC595D,118 (nexperia)8位移位寄存器中文参数_功能优点_功能图_封装

    74HC595D,118是nexperia安世生产的一款具有存储寄存器和三态输出的8位移位寄存器,集成了存储寄存器和三态输出,专为灵活的串行
    的头像 发表于 07-31 12:00 398次阅读
    <b class='flag-5'>74HC595</b>D,118 (nexperia)8位<b class='flag-5'>移位寄存器</b>中文参数_功能优点_功能图_封装

    74HC595D/74HCT595D(nexperia)移位寄存器_中文参数_功能特点_工作原理

    移位寄存器和存储寄存器时钟,从而提供高效的数据传输和存储能力。 74HC595D/74HCT595D功能图 产品功能和优势 1.8位
    的头像 发表于 06-06 09:56 1024次阅读
    <b class='flag-5'>74HC595</b>D/<b class='flag-5'>74HCT595</b>D(nexperia)<b class='flag-5'>移位寄存器</b>_中文参数_功能特点_工作原理

    SN74HC595-EP带3态输出寄存器的8位移位寄存器数据

    电子发烧友网站提供《SN74HC595-EP带3态输出寄存器的8位移位寄存器数据表.pdf》资料免费下载
    发表于 06-04 11:11 0次下载
    SN<b class='flag-5'>74HC595</b>-EP带3态输出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b><b class='flag-5'>数据</b>表

    采用三态输出寄存器的 8 位移位寄存器SN74HC595B数据

    电子发烧友网站提供《采用三态输出寄存器的 8 位移位寄存器SN74HC595B数据表.pdf》资料免费下载
    发表于 05-31 09:25 0次下载
    采用三态输出<b class='flag-5'>寄存器</b>的 8 位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74HC595</b>B<b class='flag-5'>数据</b>表

    带3态输出寄存器的8位移位寄存器SN74AHC595数据

    电子发烧友网站提供《带3态输出寄存器的8位移位寄存器SN74AHC595数据表.pdf》资料免费下载
    发表于 05-20 11:07 0次下载
    带3态输出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74AHC595</b><b class='flag-5'>数据</b>表

    具有三态输出寄存器的 SN74HCT595-Q1 汽车类8位移位寄存器数据

    电子发烧友网站提供《具有三态输出寄存器的 SN74HCT595-Q1 汽车类8位移位寄存器数据表.pdf》资料免费下载
    发表于 05-11 10:59 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的 SN<b class='flag-5'>74HCT595</b>-Q1 汽车类8位<b class='flag-5'>移位寄存器</b><b class='flag-5'>数据</b>表

    具有三态输出寄存器的CD74HC595 8位移位寄存器数据

    电子发烧友网站提供《具有三态输出寄存器的CD74HC595 8位移位寄存器数据表.pdf》资料免费下载
    发表于 05-07 10:14 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的CD<b class='flag-5'>74HC595</b> 8位<b class='flag-5'>移位寄存器</b><b class='flag-5'>数据</b>表

    具有三态输出寄存器的 8 位移位寄存器SN74LV595A-Q1数据

    电子发烧友网站提供《具有三态输出寄存器的 8 位移位寄存器SN74LV595A-Q1数据表.pdf》资料免费下载
    发表于 05-07 09:21 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的 8 位<b class='flag-5'>移位寄存器</b>SN<b class='flag-5'>74LV595</b>A-Q1<b class='flag-5'>数据</b>表

    具有三态输出寄存器的SN74LV595A 8位移位寄存器数据

    电子发烧友网站提供《具有三态输出寄存器的SN74LV595A 8位移位寄存器数据表.pdf》资料免费下载
    发表于 05-07 09:20 0次下载
    具有三态输出<b class='flag-5'>寄存器</b>的SN<b class='flag-5'>74LV595</b>A 8位<b class='flag-5'>移位寄存器</b><b class='flag-5'>数据</b>表

    具有三态输出寄存器的 SNx4HC595 8位移位寄存器数据

    电子发烧友网站提供《具有三态输出寄存器的 SNx4HC595 8位移位寄存器数据表.pdf》资料免费下载
    发表于 04-30 10:22 1次下载
    具有三态输出<b class='flag-5'>寄存器</b>的 SNx4<b class='flag-5'>HC595</b> 8位<b class='flag-5'>移位寄存器</b><b class='flag-5'>数据</b>表

    8位串行输入/串行输出或并行输出移位寄存器74LVC595A产品数据

    电子发烧友网站提供《8位串行输入/串行输出或并行输出移位寄存器74LVC595A产品数据表.pdf》资料免费下载
    发表于 02-25 09:22 0次下载
    8位<b class='flag-5'>串行</b>输入/<b class='flag-5'>串行</b>输出或并行输出<b class='flag-5'>移位寄存器</b><b class='flag-5'>74LVC595</b>A产品<b class='flag-5'>数据</b>表

    移位寄存器的工作原理 移位寄存器左移和右移怎么算

    移位寄存器是一种用于在数字电路中实现数据移位操作的基本电路元件。它由多个触发以及相关控制电路组成,具有存储、接受和移动数据的功能。
    的头像 发表于 01-18 10:52 7116次阅读

    描述74hc595芯片的引脚功能

    74HC595是一款8位移位寄存器芯片,拥有广泛的应用领域。它具有多种引脚功能,下面将详细介绍每个引脚的功能及其用途。 引脚1 (SER): 串行数据输入 SER引脚是74HC595
    的头像 发表于 12-18 17:17 3857次阅读