主要有四种I/O扩展方法:


(1)并行总线扩展的方法
(2)串行口扩展方法
(3)I/O端口模拟串行方法
(4)通过单片机内I/O的扩展方法

IO口扩展可以通过以下芯片来实现:


1、并行扩展芯片,比如8255 ,8155等。
Refer: 8255A并行 I/O 接口芯片_Anpache的博客-CSDN博客
8031单片机和8255A的接口设计_自动控制网 (eadianqi.com)

2、锁存器或缓冲器来扩展,比如74LS273,74LS373,74LS244,74LS245等等
使用锁存器拓展:74HC573,顾名思义,就是可以通过控制LE引脚锁住输入io的点平,保持输出不变

3、串口-并口来扩展,比如74HC595,74HC164, MCP23017(IIC接口) 和 MCP23S17(SPI接口)等等。
74HC595是一个8位串行输入、并行输出的位移缓存器
Refer: 单片机I/O扩展_任长江的博客-CSDN博客
分享一款基于51单片机和MCP23017的IO扩展方案_SingleYork的博客-CSDN博客

4、译码器来扩展,比如74HC138,74HC154等等。
38译码器74HC138进行拓展,三个引脚的二进制输入可变成8个引脚的分别输出。
Refer: 
单片机_CT107D训练平台电路原理图\蓝桥杯训练板\IO扩展模块\74HC138译码器_ManGo CHEN的博客-CSDN博客

一个8线IO输出扩展为64(40)线的实例

【HCT244】        NXP74HCT244/74HC244_TI  同相三态8路缓冲器/线路驱动器(1个)
74HC244;74HCT244——三态八路缓冲器/线路驱动器_阿念没有感情的博客-CSDN博客
【74HCT138D】 NXP74HCT138D  3至8线解码器/解复用器(1个)SN74HCT138 数据表 | 德州仪器 TI.com.cn
74HCT259D】  品牌: NXP/恩智浦  8位可寻址D型锁存器(5个) 能够将单线路数据存储在八个可寻址锁存器中。
74HC259D/74HCT259D是8位可寻址锁存器 - 新品快讯 - 电子发烧友网

#define OUTDA0      BIT_ADDR(GPIOA_ODR_Addr, 8)  //寻址259内部锁存器(A0)·GPIO
#define OUTDA1      BIT_ADDR(GPIOC_ODR_Addr, 9)  //寻址259内部锁存器(A1)·GPIO
#define OUTDA2      BIT_ADDR(GPIOC_ODR_Addr, 8)  //寻址259内部锁存器(A2)·GPIO
#define OUTDA3      BIT_ADDR(GPIOC_ODR_Addr, 7)  //指向259的外部地址HCT138(A)·GPIO
#define OUTDA4      BIT_ADDR(GPIOC_ODR_Addr, 6)  //指向259的外部地址HCT138(B)·GPIO
#define OUTDA5      BIT_ADDR(GPIOD_ODR_Addr, 15) //指向259的外部地址HCT138(C)·GPIO

#define StrobeA     BIT_ADDR(GPIOD_ODR_Addr, 14) //259有源低电平使能输入(LE)·初始化是H.锁存:L---→H

#define DataBit     BIT_ADDR(GPIOD_ODR_Addr, 13) //259数据输入(D)·GPIO ON/OFF(1/0)

//#define SWAarryRst   BIT_ADDR(GPIOD_ODR_Addr, 12) //复位所有输出

锁存器、缓冲器区别:

通常在外围电路中,缓冲器用于输入、锁存器用于输出。
Refer: NI、研华、国产数据采集卡的参数比较_数据采集卡__中国工控网

1、锁存器把信号暂存以维持某种电平状态,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。
LS373  具有三态输出的八路 D类透明锁存器  TI-SN74LS373

2、触发器具有两个自行保持的稳定工作状态,根据不同的输入信号可以置成0或1的状态,输入信号消失后,触发器保持获得的新状态不变。

3、寄存器是用来暂存数码的,它由触发器和控制门电路组成。

4、缓冲器又称三态门,是寄存器的一种,输出既可以是一般二值逻辑电路,即正常的高电平(逻辑1)或低电平(逻辑0),又可以保持特有的高阻抗状态。

典型I/O电子元件:

通常用作单片机的地址锁存器的芯片有74LS373、8282、74LS273、74HC373等。
74LS244、74LS273、74LS373、74LS377等芯片都能组成输入、输出接口。
74系列选型指南 (waveshare.net)

----------- PSMC ----------------
LS06     具有集电极开路高压输出的6路【反相缓冲器/驱动器】SN74LS06
LS07     SN74LS07器件包含6路缓冲器/驱动器
74LS07 SN74LS07 (waveshare.net)

----------- DI ----------------
LS373  具有三态输出的八路 D类透明锁存器  TI-SN74LS373
LS138  3 线至 8 线解码器/多路解复用器    TI-SN54LS138

----------- NOise Filter ----------------
ACT244  SN74ACT244  具有 TTL 兼容型 CMOS 输入和三态输出的 8 通道、4.5V 至 5.5V 缓冲器
LS244     74LS244为3态8位缓冲器,一般用作总线驱动器。74LS244没有锁存的功能。
MAX3222 max232_百度百科 (baidu.com)
H8

----------- DO ----------------
HC32     4路2输入【正 - 或门】TI-SN74HC32
HC244   具有三态输出的8路【缓冲器/线路驱动器】 TI-SN74HC244
HC273   具有清零功能的8路【D 型触发器】            TI-SN74HC273
LS06     具有集电极开路高压输出的6路【反相缓冲器/驱动器】SN74LS06
LS245   具有三态输出的8路双向【总线收发器】TI-SN74LS245
LS240   具有三态输出的8路反码【反相缓冲器/驱动器】 TI-SN74LS240

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐