总结-第8章

2026/1/27 1:17:48

第8章 接口技术

8.1 分析教材内容

输入/输出接口电路,是微处理器和外部设备交换信息的通道,是微型计算机的重要组成部分。本章主要介绍:8255A并行I/O接口芯片;8251A串行I/O接口芯片;8253计数器/定时器芯片;AD574、ADC0809和DAC0832等模/数、数/模转换芯片。

输入/输出接口电路,一方面要接收来自CPU的地址信号、数据信号和控制信号,另一方面还要与各种类型的外设相连接,以实现CPU与外设之间的数据传送。

8.1.1 分析重点、难点问题

本章重点是:从硬件方面要掌握8255A并行I/O接口芯片;8251A串行I/O接口芯片;8253计数器/定时器芯片;AD574、ADC0809和DAC0832等模/数、数/模转换芯片与CPU的连接原理和连接方法。从软件方面要掌握可编程芯片的初始化编程,并掌握其应用程序的编写。要达到以上目的,还要从基本概念出发,循序渐进地进行。 1.并行通信和并行接口芯片 1)并行通信

所谓并行通信就是把一个字符的全部n个数据位用n条线同时进行传输。实现并行通信的接口就是并行接口。一个并行接口根据需要,可以设计为输入接口,负责输入信息;也可以设计为输出接口,负责输出信息;还可以设计为双向通信接口,既负责输入信息,又负责输出信息。例如,在计算机系统中连接纸带读入机的接口是输入接口;连接行式打印机的接口是输出接口;连接磁盘驱动器的接口是双向通信接口。 2)8255A可编程并行接口芯片

8255A是Intel系列的可编程并行接口芯片。通过软件可以设置该芯片的工作方式。 ① 8255A的内部结构

8255A芯片的内部结构如图8-1所示。 从图中可知,8255A由以下四部分组成: Ⅰ. 数据端口A、B、C

8255A有三个8位数据端口,分别为端口A、端口B和端口C。通过编程用户可以将其用作输入端口或者输出端口。三个端口内部组织结构如下:

? 端口A

端口A内部设置了一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器。因此,用端口A作为输入或输出端口时,数据均能被锁存。

? 端口B

端口B内部设置了一个8位的数据输入缓冲器和一个8位的数据输出锁存器/缓冲器。因

1

此,端口B作为输入端口时,数据不能被锁存,而作为输出端口时,数据能被锁存。

图8-1 8255A内部结构框图

? 端口C

端口C内部设置了一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器。因此,当端口C作为输入端口时,数据不能被锁存,而作为输出端口时,数据能够被锁存。

在三个端口使用中,端口A和端口B常常作为独立的输入端口或者输出端口,端口C往往是配合端口A和端口B的工作。通过向芯片写入方式选择控制字,端口C可以被分成两个4位端口。根据芯片工作方式的不同,这两个4位端口,可以用作一般的输入输出,也可以分别作为端口A和端口B的输入状态信号、输出控制信号。

Ⅱ. A组控制和B组控制

A组控制电路控制端口A、端口C高4位(PC7~PC4)的工作方式和读/写操作。 B组控制电路控制端口B、端口C低4位(PC3~PC0)的工作方式和读/写操作。 这两组控制电路,根据芯片内部的控制寄存器内容(存放着CPU输出的方式选择控制字),以及来自读/写控制逻辑电路的读/写命令,决定两组端口的工作方式和读/写操作。

Ⅲ. 读/写控制逻辑电路

将CPU地址总线的A1、A0(8086为A2、A1)和CS(片选)信号及有关的控制信号(RD、

WR、RESET)组合,用来控制整个8255A芯片的工作过程,以完成对数据信息、状态信息

和控制信息的传输。

Ⅳ. 数据总线缓冲器

它是一个双向三态的8位数据缓冲器,8255A芯片通过它与系统数据总线相连,用来传送输入数据、输出数据、CPU发出的控制字以及外设的状态信息。

② 8255A的控制字

CPU通过向8255A控制端口中写入方式选择控制字来决定其工作方式。控制字分为两类,根据D7位的状态来决定。

Ⅰ. 方式选择控制字

方式选择控制字的格式如图8-2所示。

2

图8-2 8255A方式选择控制字

在方式选择控制字中,D7=1是其特征标志,D6、D5、D4和D3位用来选择A组的工作方式以及端口A和端口C上半部的输入/输出性质,D2、D1和D0位用来选择B组的工作方式以及端口B和端口C下半部的输入/输出性质。

? 8255A有三种工作方式,即: 方式0——基本的输入/输出方式 方式1——选通的输入/输出方式 方式2——双向传输方式

? 端口A可以工作于三种工作方式中任何一种,端口B只能工作于方式0或者方式1,

端口C经常配合端口A和端口B工作,为端口A或B提供控制信号和状态信号。 ? 允许划为同一组的两个端口分别工作于输入状态和输出状态。也即,端口A和端口

C的上半部合称A组,若A组工作在方式0,端口A用于输入时,端口C的上半部可用于输出。

为了巩固对8255A控制字的理解,下面举一例说明方式选择控制字的用法。

设在某8086系统中有一个8255A芯片,8255A之D7~D0接到8086系统数据总线之低八位,8255A之A1、A0分别接到系统地址总线之A2、A1。若已知该芯片的四个端口地址是0E0H、0E2H、0E4H和0E6H,要求该8255A芯片工作在如下工作方式:

端口A —— 方式0,输出 端口B —— 方式0,输入 端口C高四位 —— 输出 端口C低四位 —— 输入

经分析,其方式选择控制字为83H,以下指令完成该芯片工作方式的选择: MOV AL,83H ;方式选择控制字送AL

OUT 0E6H,AL ;方式选择控制字输出给8255A控制端口 Ⅱ. 端口C置位/复位控制字

端口C的各位经常作为控制位或状态位来使用,为了方便用户单独设置端口C之某一位的状态,在设计8255A芯片时,就设计了端口C置位/复位控制字。该控制字的D7位为0,这是其标志位。端口C的置位/复位控制字的具体格式如图8-3所示。

3

图8-3 8255A端口C置位/复位控制字

分析:图8-3中控制字的D3D2D1位指明了对端口C哪一位进行操作,而D0位则指明对端口C相应位的操作是置“1”还是清“0”,D6-D4为任意值。需要引起注意的是,尽管是利用该控制字对端口C的各位置“1”或清“0”,但是,该控制字必须写入8255A的控制口。例如,把端口C的PC7位置“0”,其控制字为00001110B,即十六进制的0EH;端口C的第五位置“1”,其控制字应为0BH。假设8255A控制口地址为0E6H,则可用下列程序实现上述要求。

MOV AL,0EH MOV DX,00E6H OUT DX,AL MOV AL,0BH OUT DX,AL

;PC7清“0”控制字送AL ;控制口地址送DX ;对PC7清“0”操作 ;PC5置“1”控制字送AL ;对PC5置“1”操作

③ 8255A的工作方式

8255A端口A有三种工作方式可以选择,而端口B只能在方式0或者方式1下工作。 Ⅰ. 方式0——基本输入/输出方式

在这种方式下,三个数据端口A、B、C(C分为两个4位端口),通过方式选择控制字,可任意选定其为输入口或者输出口。而且同属于一组的两个端口也可以分别定义为输入口或者输出口。各端口无固定的应答线联系。CPU只要对8255A执行I/O指令即可输入和输出数据。

方式0的主要特点归纳如下:

? 两个8位端口A、B及两个4位端口(端口C之高、低4位)中的任一端口,均可

以作为输入端口或输出端口,且各端口之间没有规定必然的联系。

? 四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。 ? 各端口输入时无锁存,输出时有锁存。 Ⅱ. 方式1——选通的输入/输出方式

在这种方式下,端口A和端口B进行输入/输出传输时,必须利用端口C提供的选通信号和应答信号,而且这些信号与端口C中的数位之间有着固定的对应关系,这种关系不是软件可以改变的。

4


总结-第8章.doc 将本文的Word文档下载到电脑
搜索更多关于: 总结-第8章 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219