分类 物联网 下的文章

74HC245是一种在单片机系统中常用的驱动器,三态输出八路收发器,它在电路中的作用是:增加io口的驱动能力,比如说51单片机的io口本身的驱动电流较小但所带的负载很大,这种时候就可以使用74HC245来增强io口的驱动能力,下面介绍一下74HC245的管脚图等资料.

  • 主要特性

    • 采用 CMOS 工艺
    • 宽电压工作范围:3.0V—5.0V
    • 双向三态输出
    • 八线双向收发器
    • 封装形式:SOP20、SOP20-2、TSSOP20、DIP20
  • 管脚定义
    管脚定义.png
    管脚说明.png
  • 真值表
    真值表.png

当OE非和DIR都是低电平时,信号传输方向为B to A
当OE非为低,DIR为高时,信号传输方向为 A to B
当OE非为高,DIR为空时,芯片为隔离状态。

74HC138D 是一种三通道输入、 八通道输出译码器, 主要应用于消费类电子产品。

  • 主要特性

    • 采用 CMOS 工艺
    • 低功耗
    • 工作电压: 3.0V-5.0V
    • 封装形式: SOP16
  • 管脚功能定义和管脚说明
    管脚定义.png
    管脚说明.png
  • 真值表
    真值表.png

从上面的管脚功能定义说明及真值表可以知道该芯片使用方法非常简单, 给E1、 E2 使能管脚低电平, E3 管脚为高电平, 至于哪个管脚输出有效电平( 低电平) , 要看 A0, A1, A2 输入管脚的电平状态。 如果 A0, A1, A2 都为低电平, 则Y0 输出有效电平( 低电平) , 其他管脚均输出高电平。 如果 A0 为高电平, A1,A2 都为低电平, 则 Y1 输出有效电平( 低电平) , 其他管脚均输出高电平。 其他几种输出大家可以对照真值表查看。 如果 E1、 E2 使能管脚任意一个为高电平或者 E3 为低电平, 不论输入是什么, 输出都为高电平。这里给大家总结一个方法: A0、 A1、 A2 输入就相当于 3 位 2 进制数, A0 是低位, A1 是次高位, A2 是高位。 而 Y0-Y7 具体哪一个输出有效电平, 就看输入二进制对应的十进制数值。 比如输入是 101(A2, A1, A0) , 其对应的十进制数是 5, 所以 Y5 输出有效电平(低电平) 。

74HC573锁存器的介绍

锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制器与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。锁存器是利用电平控制数据的输入,它包括不带使能控制的锁存器和带使能控制的锁存器。
74HC573引脚图.png

74HC573锁存器的使用

74HC573真值表.png
由真值表可以看出,当OE为高电平时,无论LE与D端为何种电平状态,其输出都为高阻态,此时该芯片处于不可控状态。当OE为低电平时,我们再看LE,当LE为H时,D与Q同时为H或L;而当LE为L时,无论D为何种电平状态,Q都保持.上一次的数据状态。这也就是说,当LE为高电平时,Q端数据状态紧随D端数据状态变化;而当LE为低电平时,Q端数据将保持住LE端变化为低电平之前Q端的数据状态。因此我们将锁存器的LE端与单片机的某一引脚相连,再将锁存器的数据输入端与单片机的某组I/O 口相连,便可通过控制锁存器的锁存端与锁存器的数据输入端的数据状态来改变锁存器的数据输出端的数据状态。

注:真值表中字母代码含义如下:H高电平;L低电平;X任意电平;Z高组态,也就是既不是高电平也不是低电平,它的电平状态由与它相连的其他电气状态决定;Q0上次的电平状态。

小编今天在利用Arduino开发工具开发esp8266的程序的时候,发现无法写入,出现这样的错误

问题:
Executable segment sizes:
IROM   : 243180          - code in flash         (default or ICACHE_FLASH_ATTR)
IRAM   : 26888   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...)
DATA   : 1264  )         - initialized variables (global, static) in RAM/HEAP
RODATA : 964   ) / 81920 - constants             (global, static) in RAM/HEAP
BSS    : 24968 )         - zeroed variables      (global, static) in RAM/HEAP
项目使用了 272296 字节,占用了 (26%) 程序存储空间。最大为 1044464 字节。
全局变量使用了27196字节,(33%)的动态内存,余留54724字节局部变量。最大为81920字节。
pyserial or esptool directories not found next to this upload.py tool.

解决办法:
打开 arduino esp8266 sdk 目录: ~/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/
打开浏览器下载最新版 esptool 和 pyserial
下载地址:

https://github.com/espressif/esptool/archive/v3.0.zip
https://github.com/pyserial/pyserial/archive/v3.4.zip

解压后,把文件夹重命名为esptool和pyserial,然后直接替换就可以了。