热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

74hc595级联c语言程序,MSP430G2553实现用两块74HC595级联控制4位LED

最近喜欢上了单片机,课程设计做的是STM32的触屏版的万年历。之前一直在专注的学习C语言还有Java,话说这Java居然是在学完Android之后才去深

最近喜欢上了单片机,课程设计做的是STM32的触屏版的万年历。之前一直在专注的学习C语言还有Java,话说这Java居然是在学完Android之后才去深入学的,自己也是醉了。课程设计做起了跟硬件搭点边的东西,真是深感其牛(*)之处(自动屏蔽不雅用词)。此处请各位玩儿硬件长大的,模电电路工程师,数电工程师接下我的各种崇拜。。。你们太牛(*)了。。。

好了,言归正传:

手里有一套别人送给我的 MSP430 LanchPad,总是想着不能就那么浪费了,从某宝买来了一些外设,先拿个LED开刀了。

0818b9ca8b590ca3270a3433284dd417.png

盗张图,无意做宣传,请忽略

串行输入4位LED。输入:Vcc,GND就不说了;SCLK,更新显示。RCLK,数据移位。DIO,数据位。

也看到了,真正的数据线只有三根。

硬件原理图如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

U1与U2都是74HC595芯片,U2作为段选(用于选择当前是哪一个数码管显示),U1作为片选(用于控制数码管

上的LED显示数字)。

工作原理:

1)首先读入8位的数字字模数据,依次移位,现在U2已经保存了数字数据。

2)再次录入8位的段选数据,用来控制当前数字由几号数码管显示。

此时,U2保存的是段选数据,而刚刚的片选数据已经通过U2的Q7‘依次传到了U1上。

3)更新显示数据。

例程:

RCLK上升沿触发,将DIO口数据向寄存器中移位。

SCLK上升沿触发,将寄存器中数据读入锁存器,也就是更新显示内容了。

每次只显示一个数码管上的数字,多次遍历刷新。我们就看到了四位不变的数字。

下面的程序代码我已经实现了一个时钟功能,但是还没有添加调整时间的功能,大家可以自己研究一下。

更新:目前已经实现了通过一个按键的长按与短按来调整时间。由于本文主要是让大家理解串行LED屏的工作原理,故不再上传更新后的代码。有需要的亲联系我吧。



推荐阅读
  • 深入解析Android GPS机制:第五部分 ... [详细]
  • 深入解析 Synchronized 锁的升级机制及其在并发编程中的应用
    深入解析 Synchronized 锁的升级机制及其在并发编程中的应用 ... [详细]
  • 类加载机制是Java虚拟机运行时的重要组成部分。本文深入解析了类加载过程的第二阶段,详细阐述了从类被加载到虚拟机内存开始,直至其从内存中卸载的整个生命周期。这一过程中,类经历了加载(Loading)、验证(Verification)等多个关键步骤。通过具体的实例和代码示例,本文探讨了每个阶段的具体操作和潜在问题,帮助读者全面理解类加载机制的内部运作。 ... [详细]
  • 在 Android 开发中,`android:exported` 属性用于控制组件(如 Activity、Service、BroadcastReceiver 和 ContentProvider)是否可以被其他应用组件访问或与其交互。若将此属性设为 `true`,则允许外部应用调用或与之交互;反之,若设为 `false`,则仅限于同一应用内的组件进行访问。这一属性对于确保应用的安全性和隐私保护至关重要。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 本文详细解析了Autofac在高级应用场景中的具体实现,特别是如何通过注册泛型接口的类来优化依赖注入。示例代码展示了如何使用 `builder.RegisterAssemblyTypes` 方法,结合 `typeof(IEventHandler).Assembly` 和 `Where` 过滤条件,动态注册所有符合条件的类,从而简化配置并提高代码的可维护性。此外,文章还探讨了这一方法在复杂系统中的实际应用及其优势。 ... [详细]
  • VS2019 在创建 Windows 恢复点时出现卡顿问题及解决方法
    在使用 Visual Studio 2019 时,有时会在创建 Windows 恢复点时遇到卡顿问题。这可能是由于频繁的自动更新导致的,每次更新文件大小可能达到 1-2GB。尽管现代网络速度较快,但这些更新仍可能对系统性能产生影响。本文将探讨该问题的原因,并提供有效的解决方法,帮助用户提升开发效率。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 本文深入分析了Java EE 6开发套件与JDK的集成包,详细探讨了JDK在默认安装位置上的配置及其对Java EE 6开发环境的影响。通过全面的技术解析,帮助开发者更好地理解和利用这一集成工具,提高开发效率和代码质量。 ... [详细]
  • 本文详细解析了Java类加载系统的父子委托机制。在Java程序中,.java源代码文件编译后会生成对应的.class字节码文件,这些字节码文件需要通过类加载器(ClassLoader)进行加载。ClassLoader采用双亲委派模型,确保类的加载过程既高效又安全,避免了类的重复加载和潜在的安全风险。该机制在Java虚拟机中扮演着至关重要的角色,确保了类加载的一致性和可靠性。 ... [详细]
  • Hyperledger Fabric 1.4 节点 SDK 快速入门指南
    本文将详细介绍如何利用 Hyperledger Fabric 1.4 的 Node.js SDK 开发应用程序。通过最新版本的 Fabric Node.js SDK,开发者可以更高效地构建和部署基于区块链的应用,实现数据的安全共享和交易处理。文章将涵盖环境配置、SDK 安装、示例代码以及常见问题的解决方法,帮助读者快速上手并掌握核心功能。 ... [详细]
  • 如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解 ... [详细]
author-avatar
雪恝1988_757
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有