56 lines
3.9 KiB
Markdown
56 lines
3.9 KiB
Markdown
|
---
|
|||
|
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扩展
|
|||
|
|