I/O扩展常用方法与芯片

主要有四种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) //复位所有输出

I/O扩展常用方法与芯片_第1张图片

锁存器、缓冲器区别:

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

1、锁存器把信号暂存以维持某种电平状态,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号。通常只有0和1两个值。

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

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

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

你可能感兴趣的:(单片机,stm32,嵌入式硬件)