MSC-51单片机常用I/O接口的设计

I/O接口拓展概述

MCS-51单片机具有4个并行8位I/O 口(即PO、Pl、P2> P3),原理上这4个I/O 口均可用作双向并行I/O接口,但在实际应用中,只有当单片机在不使用外部扩展时,才允许这4个I/O 口作为用户I/O使用,但是这种情况在单片机应用系统开发中几乎是不可能的。

在单片机应用系统开发中,需要实现单片机对多种外设(如键盘、显示器等)进行控制,I/O接口是MCS-51与外设交换数字信息的桥梁,也属于系统扩展的一部分。

在这种情况下,可提供给用户使用的I/O 口只有P1 口和部分P3 口及作为数据总线用的P0 口,而P3 口在应用系统设计中常使用其第二功能。因此,在单片机的I/O 口不够用的情况下,可以借助外部器件对I/O 口进行扩展。

I/O接口的功能

I/O接口电路应满足以下要求:

  1. 实现和不同外设的速度匹配。大多数外设的速度很慢,无法和微秒量级的单片机速度相比。单片机只有在确认外设已为数据传送做好准备的前提下才能进行I/O操作。想知道外设是否准备好,需I/O接口电路与外设之间传送状态信息。
  2. 输出数据锁存。由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电路应具有数据锁存器,以保证接收设备接收。
  3. 输入数据三态缓冲。输入设备向单片机输入数据时,但数据总线上面可能“挂”有多个数据源,为不发生冲突,只允许当前时刻正在进行数据传送的数据源使用数据总线,其余的数据源应处于隔离状态。

I/O端口的编址

在学习I/O端口的编址方法之前,首先要明确接口和端口的概念。在进行单片机应用系统设计时,通常需要多种外设,而这些外设要想接入,就需要用自己的接口和总线上的某个匹配接口匹配对接,这种单片机与外部设备之间的I/O接口芯片就称为接口

而单片机在与外设进行通信时,要发数据到某个外设或从外设读取信息,其实就是从对应的接口电路中多个寄存器或缓冲器获取信息,这种具有端口地址的寄存器或缓冲器就称为端口,简称I/O 口。对一个系统而言,通常会有多个外设,每个外设的接电路中又会有多个端口,如数据口、命令口、状态口对于单片机而言,访问外部设备就是访问相关的端口,而所有的信息会由接口转给外设。

对一个系统而言,通常会有多个外设,每个外设的接口电路中又会有多个端口,每个端口都需要一个地址,为每个端口标识一个具体的地址值,是系统必须解决的事,这就需要进行I/O端口的编址。
I/O端口编址分为两种方式:独立编址统一编址

  1. 独立编址方式
    I/O寄存器地址空间和存储器地址空间分开编址,但需一套专门的读写I/O的指令和控制信号。
  2. 统一编址方式
    I/O寄存器与数据存储器单元同等对待,统一编址。不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强。

MCS-51单片机使用统一编址的方式 每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。

I/O数据的传送方式

为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。I/O数据传送的几种方式是:同步传送、异步传送和中断传送。

  1. 同步传送方式(无条件传送)
    当外设速度和单片机的速度相比拟时,常釆用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。
  2. 异步传送方式(条件传送)
    査询外设“准备好”后,再进行数据传送。
    优点:通用性好,硬件连线和査询程序十分简单。
    缺点:效率不高。
    为提高效率,通常采用中断传送方式。
  3. 中断传送方式
    外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行,工作效率高。

I/O接口电路

常用的外围I/O接口芯片如下所述。

  1. 82C55:可编程的通用并行接口电路(3个8位I/O 口)。
  2. 8155H:可编程的IO/RAM扩展接口电路(2个8位I/O 口、1个6位I/O 口、256个RAM字节单元、1个14位的减法定时/计数器)。

这些接口引路芯片都可与MCS-51单片机直接连接,接口逻辑十分简单。此外,74LS系列的TTL电路也可以作为MCS-51单片机的扩展I/O 口,如74LS244、74LS273等。

Snipaste_2020-05-28_19-17-06

猜你喜欢

转载自www.cnblogs.com/lihello/p/12983480.html