什么是单片机的I/O 接口
扫描二维码
随时随地手机看文章
计算机系统的输入(Input) 设备和输出设备(Output)被称为 I/O 设备或外设。常用的
I/O 设备有鼠标、打印机、投影仪、键盘和扫描仪等, 通过这些设备,计算机可以与外界进 行数据和信息的交换。
1. I/O 接口的作用
通常外设不能直接与单片机交换信息,信息交换应该通过I/O 接口来进行,其主要原因如下:
1)外设与单片机的信号类型不一致。单片机能直接处理的信号是数字信号,而外设的 信号既可能是数字的也可能是模拟的,可能是并行传输的也可能是串行传输的。
2)外设的数据传输速度差别很大,而且与单片机的传输速度不一致。 3)外设的控制信号复杂、多样,需要单片机提供。 4)外设与单片机的电气特性可能不匹配, 如:工作电压和电流不一致。
5)外设与单片机的数据位数可能不一致。如: MCS-51 的字长是 8 位的,而外设的字长 可能不是 8 位的。
基于上述原因, 单片机与外设之间需要 I/O 接口作为信息交换的桥梁。I/O 接口的主要作用
有:① 信号的变换,如信号格式的转换(如串并转换和并串转换)、模拟信号和数字信号之间的 数-模和模-数的转换等; ② 数据的缓冲, 如实现高速单片机与低速I/O 接口之间的速度匹配等。
2. I/O 接口的结构
I/O 接口的典型结构如图 5-14 所示,其内部有三类寄存器,即:
(1)数据寄存器
数据寄存器通过数据总线与单片机交换数据。该数据可以由单片机传给外设,也可以由 外设传向单片机, 前者是单片机向外设写数据, 后者是单片机从外设读数据。
(2)状态寄存器
状态寄存器用于保存 I/O 接口或外设的工作状态信息,该信息可以通过数据总线传送给 单片机。
(3)控制寄存器
I/O 接口可以分为可编程的 I/O 接口和不可编程的 I/O 接口。可编程的 I/O 接口可以有多 种工作方式,其工作方式由单片机控制选择,而控制寄存器的作用是接收单片机通过数据总 线发送的控制信息。
I/O 接口中的寄存器也被称为端口(Port),因此其中的数据寄存器、状态寄存器和控制寄存 器分别被称为数据端口、状态端口和控制端口,进一步可以被简称为数据口、状态口和控制口。
由图 5-14 可知,I/O 接口的数据信息、状态信息和控制信息都通过数据总线与单片机 交换,因此 I/O 接口的数据信息、状态信息和控制信息都是广义上的数据。另外, I/O 接口 中的地址译码电路的作用是:接收地址总线传送的地址,并将其译码后用于选择 I/O 接口 中的某个端口;控制总线传送单片机的控制命令,以控制 I/O 接口的工作。
图 5-14 I/O 接口的典型结构
3. 对 I/O 接口的基本要求
单片机系统对 I/O 接口的基本要求是:输入接口有三态缓冲功能、输出接口有锁存功 能。这样要求的原因如下:
(1)输入接口有三态缓冲功能
单片机可以通过输入接口读取外设的数据。在单片机读取输入接口时,输入接口需要把 数据送到数据总线上。但是,当单片机与多个输入接口相连时,每一时刻仅允许一个输入接 口向单片机传送数据,否则将导致总线信息混乱。为了避免信息混乱,必须对那些不被允许 向单片机传送数据的输入接口进行隔离操作。具有隔离功能的典型元件是三态缓冲器,其具
有高电平(逻辑 1)、低电平(逻辑 0) 和高阻态(即第三状态)等三种不同状态。因此,可 以利用带三态缓冲功能的输入接口电路实现单片机与外设之间的隔离。
(2)输出接口有锁存功能
单片机通过写总线操作将数据送到数据总线上,以传送给输出接口,外设通过输出接口 间接获得该数据。需要注意的是,在单片机的写总线操作过程中, 数据在数据总线上停留的 时间非常短,处理速度较慢的外设没有充裕的时间完成数据接收操作。为了避免数据丢失, 就需要通过带有锁存功能的输出接口将单片机输出的数据锁存住, 以使慢速设备有足够的时 间来完成数据的接收。