obsidian-notes/数字电路/转换/IO扩展.md

56 lines
3.9 KiB
Markdown
Raw Normal View History

2024-04-15 03:19:57 +00:00
---
title: IO扩展
updated: 2022-05-24 00:51:35Z
created: 2022-01-08 13:17:45Z
tags:
- '#io扩展'
---
> 原文链接https://mbb.eet-china.com/forum/topic/79968_1_1.html
# 输入/输出扩展3-逻辑芯片实现
74系列逻辑芯片非常经典而且功能强大也可以实现对单片机IO口的扩展。常用的扩展芯片有74HC138、74HC165、74HC595、74HC164、74HC148等。这类数字芯片可以使用较少的单片机IO即可实现多路输入或者多路输出但是需要根据芯片的时序图或者真值表进行编程。
## 逻辑芯片实现扩展输出
以74HC164为例介绍如何通过逻辑芯片实现单片机IO口的扩展输出74HC164是串入并出的移位寄存器占用单片机3个IO口就可以实现8个IO口的输出。==与该芯片类似的芯片是74HC595该芯片是带锁存的移位寄存器并且可以级联扩展==即通过3个IO口就能实现多个八路输出的扩展。典型电路原理图 如6所示。
![5e6df28a5df3b42db9c2a4890ccb559c.png](../../../_resources/5e6df28a5df3b42db9c2a4890ccb559c.png)
6-数字芯片实现输出扩展
## 逻辑芯片实现扩展输入
以74HC165为例介绍如何通过逻辑芯片实现输入扩展74HC165是并入串出的移位寄存器单片74HC165可以扩展8路输入只需要占用单片机3个IO口。并且可以级联实现多个8路输入的扩展。典型的74HC165的扩展电路图如下图所示。
![217b0528b5143bc2dc854a3f53796003.png](../../../_resources/217b0528b5143bc2dc854a3f53796003.png)
7-数字芯片实现输入扩展
## 逻辑芯片实现扩展的优缺点分析
逻辑芯片实现输入输出IO口的扩展时其硬件电路非常简单电路原理非常清晰关键是价格非常便宜国产逻辑芯片价格只有几毛钱。其稍微复杂的地方是真值表和时序图。以上介绍的逻辑芯片都是需要通过编程来实现扩展的程序虽然不复杂但如果是第一次使用可能需要费一番功夫的。
# 模拟口的扩展-多路选择开关实现
在设计产品的时候可能要用到多路AD采样端口如实现多路PT100温度采样。单片机虽然有多路AD采样通道但是多通道的AD采样在程序的时序上稍微复杂或者所剩与AD口不足这时候就要扩展对于采样类扩展选用多路选择开关是一个不错的选择。
## HCF4051
单片机使用三个IO口作为HCF4051的通道选择控制端一个AD采样口接第3引脚可以实现8路模拟量的采集。其实现电路原理图如图8所示。
![1573bbfdd42b78419b29b3212937bed2.png](../../../_resources/1573bbfdd42b78419b29b3212937bed2.png)
8-模拟口的扩展
## ADS1015
除了用这种多路选择开关实现外还可以使用专用的模拟量扩展芯片如ADS1015这类芯片即可以作为四通道的单端采样使用又可以当作两通道的差分采样使用其与单片机的接口为IIC接口。
## 模拟口扩展的优缺点分析
使用4051之类的多路选择开关虽然只占用一个AD采样口但是只能使用多路轮询的方式采集每一个通道导致采样周期过长而且采样的时序不好控制采用ADS1015类的采样芯片由于是通过IIC与单片机通讯的所以采样时许容易控制但是价格比较贵。
# 显示驱动及键盘扫描芯片
**CH423S**为IIC接口扩展芯片提供8个双向输入输出引脚和16个通用输出引脚
**CH455G**,便宜
## CH423
官方定义“两线远程IO扩展芯片”提供8个双向输入输出引脚和16个通用引脚支持输入电平中断可静态驱动24只LED或动态驱动128只LED。
常见用于1602屏中IIC到SPI转换以减少驱动IO
**可优先使用**
## CH455G
本是为扩展IO驱动数码管而设计支持键盘扫描故分“位”和“段”两种驱动共4位8段。
但变通后可用于通用IO扩展可直接扩展4+8路带锁存IO只是比74HC595略微复杂。
##IO扩展