74ls164的原理及接口特性是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了74ls164的原理及接口特性是啥?相关的知识,希望对你有一定的参考价值。
74LS164,是:串入并出移位寄存器。
164 的 DSA 和 DSB 端是输入信号的。
CLK 是输入移位脉冲的。
MR 是用来清零的,一般接一个 22K 电阻再接 +5V。
输出端,可以接上 LED,也可以用共阳极数码管。
Q0~Q7 接一个 1K 电阻后分别连到 LED 的 a~dp 端。
在 DSA 和 CLK 输入信号,LED 就会显示了。
电路图如下:
74ls164相关信息:
作 用:8 位串入,并出移位寄存器
解 释:高速硅门 CMOS 器件
强 制:所有的输出为低电平
功能作用
8 位串入,并出移位寄存器。
特性
门控串行数据输入。
异步中央复位符合 JEDEC 标准 no. 7A。
静电放电 (ESD) 保护。
HBM EIA/JESD22-A114-B 超过 2000 V。
MM EIA/JESD22-A115-A 超过 200 V。
多种封装形式。
额定从 -40 °C 至 +85 °C 和 -40 °C 至 +125 °C 。
“Serializable”接口背后的基本原理是啥? [复制]
【中文标题】“Serializable”接口背后的基本原理是啥? [复制]【英文标题】:What's the rationale behind "Serializable" interface? [duplicate]“Serializable”接口背后的基本原理是什么? [复制] 【发布时间】:2015-04-25 15:32:06 【问题描述】:如果我们想序列化一个对象,我们可以简单地做如下实现:
class MyClass implements Serializable
private static final long serialVersionUID = 12345L;
并且不需要额外的努力来强制实现对象将如何写入文件和从文件中读取。 Java 只负责处理所有事情。
另一方面,Externalizable
确实定义了显式的序列化和反序列化方法,因此我们可以进行命令式编程。
这给我留下了一个问题:如果 Serializable
不需要额外的努力,那么让它成为我们必须实现的接口来序列化/反序列化对象的基本原理是什么,而不是默认情况下每个对象都可以序列化/反序列化?
【问题讨论】:
好问题。在 Python 中,默认情况下所有内容都是serializable
或 pickle-able
。
答案可以在这里找到:***.com/questions/441196/…
【参考方案1】:
当程序员将一个类标记为可序列化时,他负责如果这个类将来发生变化,保存对象的程序将能够将它们读回更新的类。详细信息在 Effective Java 第 74 条:明智地实现 Serializable
还有另一个理由。你有没有注意到ObjectOutput.writeObject(Object obj)
接受对象,而不是可序列化的?这是因为它假定可以使用不同的序列化机制来保存对象。 Serializable
表示该对象应该使用 Java 标准序列化来保存
【讨论】:
你的意思是ObjectOutput.writeObject()
或ObjectOutputStream.writeObject()
。
我的意思是接口ObjectOutput,ObjectOutputStream.writeObject(Object)只接受Serializable【参考方案2】:
因为:
-
并非所有对象都对此具有有意义的语义。示例:单例对象
安全。如果您将对象传递给其他人的代码并且他们总是可以捕获和传输对象,那么就需要选择退出与安全相关的代码,并且当人们忽略某个对象时会出现安全漏洞。所以“默认关闭”更安全。
内置的序列化格式会为您编写的每个对象写出类名,因此效率非常低。仅将其用于数据很少的非常简单的情况。
默认序列化不会轻易地与用其他语言编写的代码共享数据,因此如果今天编写的数据将来可能需要由其他软件读取,则应考虑使用特定的表示。所以这不是一个好的长期格式。
并非所有开发人员都牢记它在所有情况下如何工作的确切规则。
如果您阅读 Joshua Bloch 的 Effective Java 一书,它会解释使用内置功能是多么棘手。大多数开发人员在很多情况下都避免使用它。这个答案给出了一个很好的经验法则https://softwareengineering.stackexchange.com/a/240432/129659
【讨论】:
【参考方案3】:Serializable 接口仅作为标识的掩码。如果每个类 具有被序列化的能力,那么每个类都需要维护serialVersionUID以避免版本冲突。另外,它可能会导致安全问题:有些人会将它用作创建新对象的一种方式,虽然 该对象不打算由客户端代码创建。使用 Serializable 接口是不安全的。有关更多信息,请参阅有效的 Java。
【讨论】:
以上是关于74ls164的原理及接口特性是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Proteus仿真51单片机74LS164+74LS165扩展 I/O示例
Arduino UNO 利用74HC164循环显示(0-F)
基于51单片机+74LS138译码器+8位共阴数码管时钟设计—按键修改时间