0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用74373芯片进行单片机IO口扩展的方法

冬至子 来源:永珂在线 作者:沙鸥520 2023-11-02 14:20 次阅读

1.为什么要进行IO口扩展?

电路设计的某些时候,微处理器(如单片机)IO口不够用了,此时该怎么办呢?利用辅助芯片进行IO口扩展是个简单直接的方法,能用较少的成本增多IO口。

我处提供单片机、PLC、电路板、控制器/箱、仪器仪表、机电设备或系统、自动化、工控、传感、数据采集、自控系统、控制系统,软件、APP开发设计定制订做业务,如有需要可联系(业务扣扣:二五三一二六三七二六)。

2.常见的扩展方法有哪些?

IO扩展的方法一般有以下几种:

(1)利用串转并芯片扩展。这需要一个数据引脚一个时钟引脚,还需要若干控制引脚。

(2)利用锁存/缓存芯片进行扩展,如74373。这需要若干数据引脚和少量的控制引脚。

以上的方法都是可行。虽然用锁存/缓存芯片数据引脚消耗较多,但是其数据引脚可以由若干个锁存/缓存芯片分时复用,所以只需要控制少量的控制引脚就能使其扩展能力倍数级增长。

3.74373芯片介绍以及引脚定义?

74373一般有两种芯片,74LS373和74HC373。74LS373是TTL电路,74HC373是COMS电路,它们电平范围不一样,但两者实现的功能一样。本文以74HC373为例介绍。

74HC373是八路D 型锁存器,每个锁存器具有独立的D 型输入,以及适用于面向总线的应用的三态输出。所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。74HC373一般用于数字量信号锁存或缓存。

图片

表1 74HC373引脚说明

1.jpg

4.典型的扩展电路

4.1数字量输入扩展的原理和电路

图片

图片

如图 3,为用2个74373扩展数字量IO口的电路,这个电路消耗了8个微处理器的IO口,达到了至少读取16个数字量的目的。如果再继续扩展,每新增一个74373,就可以多扩展8个数字量,很有优势。说明如下:

微处理器的引脚定义:

P00控制第1个74373的OE;

P01控制第2个74373的OE;

若干个74373的数据输出脚Q并联连接接入微处理器的P10- P17;

74373的D脚接来自外部的数字量,Q脚接微处理器,OE受微处理器控制;

74373的LE引脚接高电平使其进入随动模式。

扩展流程如下:

(1)、外部电路的1-8号数字量输入引脚接入第1个74373的输入引脚1D-8D, 外部电路的9-16号数字量输入引脚接入第2个74373的输入引脚1D-8D;

(2)、2个74373的输出引脚1Q-8Q并联后接入微处理器的P10-P17引脚;

(3)、用微处理器的P00控制第1个74373的OE, 用微处理器的P01控制第2个74373的OE;

(4)、当微处理器要读取外部电路的1-8号数字量输入引脚时,令P00=0,P01=1,那么第1个74373的输出(对应1-8号外部数字量)会正常输入到微处理器,第2个74373的输出处于高阻状态,相当于断路。

当微处理器要读取外部电路的9-16号数字量输入引脚时,令P00=1,P01=0,那么第1个74373的输出处于高阻状态(相当于断路),第2个74373的输出(对应9-16号外部数字量)会正常输入到微处理器。

如此,实现数字量输入扩展。如果需要更多数字量输入扩展口类似操作即可,在后面,只需要多消耗一个IO口,就能获取8个扩展数字量。

图片

注意,在某一时刻,只能有一个74373处于导通随变状态,其余必须处于高阻态,不然可能会产生电平冲突。

4.2数字量输出扩展的原理和电路

图片

图片

引脚定义:

若干个74373的数据输入引脚D并联连接接入微处理器的P20-P27;

74373的LE引脚受微处理器控制,OE引脚接地使其进入非锁存态;

扩展流程如下:

(1)、令第1个74373的LE=1,使其处于随动状态,并第2个及其他74373的LE=0,使其处于锁存状态;

(2)、微处理器把输出数据到第1个74373,输出完成后令LE=0,使第1个74373对微处理器传输来的数据进行锁存;

(3)、再使第2个74373的LE=1,使其处于随动状态,微处理器输出数据到第2个74373后再使LE=0令其锁存,这样,各个74373的输出位就保持了微处理器输出的数据,依次类似处理各个74373,达到输出扩展的目的。

74373的输出引脚Q,分别接到待控制的外部电路中。

图片

5.典型的扩展程序流程

5.1数字量输入扩展的程序流程

数字量输入扩展的程序流程参考4.1中的过程描述,电路图参考图 3。程序流程图如下:

图片

5.2数字量输出扩展的程序流程

数字量输出扩展的程序流程参考4.2中的过程描述,电路参考图 5。参考程序流程如下:

图片

以上为利用74373进行数字量扩展的要点,关键是用好用作输入时对OE引脚的控制,用作输出时对LE引脚的控制。每次操作的最小数据单元为8位,即一个字节。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620836
  • 锁存器
    +关注

    关注

    8

    文章

    744

    浏览量

    41037
  • IO口
    +关注

    关注

    3

    文章

    164

    浏览量

    23756
  • COMS
    +关注

    关注

    1

    文章

    90

    浏览量

    32500
  • 74HC373
    +关注

    关注

    1

    文章

    4

    浏览量

    5987
收藏 人收藏

    评论

    相关推荐

    请问如何扩展单片机IO

    在很多项目上都会因单片机IO不够、或降低硬件成本要扩展IO,特别在一些机械设备上,如本人从
    发表于 04-24 06:30

    #硬声创作季 #单片机 单片机原理及应用-5.3 单片机总线扩展并行IO

    单片机IO并行IO
    水管工
    发布于 :2022年11月04日 15:09:40

    单片机原理及应用: 单片机总线扩展并行IO#单片机

    单片机并行IO
    学习硬声知识
    发布于 :2022年11月06日 12:10:14

    单片机原理与应用: 串行扩展IO#单片机

    单片机串行IO
    学习硬声知识
    发布于 :2022年11月08日 18:48:50

    单片机原理及应用:单片机IO扩展#单片机

    单片机单片机原理IO
    学习硬声知识
    发布于 :2022年11月09日 11:38:37

    51单片机的串行扩展方法

    本帖最后由 luna 于 2011-3-3 11:28 编辑 在以单片机为核心的多级分布式系统中,常常需要扩展单片机的串行通信口,本文分别介绍了基于SP2538专用串行扩展
    发表于 03-02 12:13

    51单片机怎么解决IO的复用问题

    请问51单片机怎么解决IO的复用问题,由于使用89C51单片机IO不够用了,想
    发表于 05-31 04:08

    AVR单片机与PIC单片机IO的操作方法有何不同?

    如何去操作51单片机IO、AVR单片机IO与PIC单片机
    发表于 07-07 07:34

    如何对单片机IO进行扩展

    如何对单片机IO进行扩展?TFT式显示器具有哪些优点?
    发表于 10-11 06:17

    51单片机/AVR单片机和PIC单片机IO的操作的方法是什么?

    51单片机/AVR单片机和PIC单片机IO的操作的方法是什么?
    发表于 10-29 06:43

    单片机IO如何扩展

    单片机IO扩展方法1.使用分压电阻分压,然后用单片机的ADC端口读取不同的电压值。适合应用于多
    发表于 11-18 08:41

    单片机IO扩展功能是什么

    74HC156芯片-单片机IO扩展功能:八位移位寄存器,并行输入,互补串输出芯片引脚CLK,C
    发表于 12-07 07:31

    如何让单片机IO利用最大化呢

    在项目中经常会遇到单片机IO资源不够用的情况,那么如何让单片机IO
    发表于 01-18 06:15

    如何利用8255扩展单片机IO

    8255总线实验 编写程序利用8255扩展单片机IO,控制8位数码管显示1-8。程序:#include#include#define P
    发表于 01-24 08:17

    单片机IO扩展有哪几种方法

    单片机IO扩展有哪几种方法
    发表于 11-01 07:47