微机原理与接口技术并行接口
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方式选择控制字
A组控制 B组控制
D7
D6
D5
D4
D3
D2
D1
D0
PC3 ~ PC0 1:输入 0:输出
D7 = 1 特征位
A组工作方式
0 0 :方式0 0 1 :方式1 1×:方式2
B口 1:输入 0:输出 B组工作方式 PC7 ~ PC4 1:输入 0:输出 0:方式0 1:方式1
A口 1:输入
方式2中信号的规定
8位数据输入输出
端口A
PC7 输出缓冲区满信号OBFA
8 2 5 5 A
PC6 PC5
响应信号ACK,外设取得数据 输入缓冲区满信号IBFA
选通信号STB,外设数据准备好 中断请求信号输出INTRA
外 设
PC4 PC3
至CPU
PC2
PC1
PC0
外 设
端口B
A端口:方式2
8位数据输入输出
设打印字符在CL中,8255A的端口地址为: A端口:00D0H B端口:00D1H C端口:00D2H 控制口:00D3H PP: MOV AL,81H OUT 00D3H,AL ;写控制寄存器,设置各端口工作方式 MOV AL,0DH OUT 00D3H,AL ;用C端口置0/置1方式使PC6为1,即STB高电平 LPS: IN AL,00D2H ;读取C端口的值 TEST AL,04H ;测试PC2是否为1,即BUSY信号是否为1 JNZ LPS ;不为0,说明BUSY信号为1,循环等待 MOV AL,CL ;将打印字符送AL OUT 00D0H,AL ;如不忙,将CL的内容送端口A MOV AL,0CH OUT 00D3H,AL ;用C端口置0/置1方式使PC6为0,即STB低电平 ADD AL,1 ;将AL加1 OUT 00D3H,AL ;用C端口置0/置1方式使PC6为1,即STB高电平
8255A的内部功能结构
8255A端口工作方式
8255A有三种基本工作方式
方式0:基本的输入/输出方式 方式1:选通的输入/输出方式 方式2:双向传输方式 端口A可以工作在3种工作方式中的任何一种。 端口B只能工作方式0或者方式1。 端口C一般分为两组,高4位与端口A构成一组配合工作, 低4位与端口B构成一组配合工作,为A和B端口的输入/输出提 供控制信号和状态信号。
„ „ „ „
8255A的工作方式-方式1
方式1称为选通的输入/输出方式。和方式0相比最主要的差 别是A端口和B端口用方式1输入输出时, 端口C配合A端口和 B端口工作,提供选通信号和联络信号,而这些信号与端口C 中的数位有固定的对应关系。 特点: 1)端口A和端口B可以分别工作在方式1,任何一个端口都可作 为输入端和输出端。 2)如果8255A的A端口工作于方式1,那么C端口就有3位配合A端 口工作,B端口和C端口的剩下的5位可以工作在方式0即可以 作为输出也可作为输入;反之亦然。 3)如果A端口和B端口都工作在方式1,那么C端口有3位配合A端 口工作,有3位配合B端口工作,剩下2位可作为输入输出。 方式1使用场合主要是外设和CPU使用不同的时序信号,工作 在异步方式下,接口需要传递应答信号和查询外设的状态。
PC0
至CPU
外 设
端口B
8位数据输出
B端口:方式1输出
9.2 8255A应用举例
8255A作为非编码键盘的接口
+5V 10kΩ *4
8 2 5 5 A
PA0 PA1 PA2 PA3
键0 键1 键2 键3
在有键按下时,与之对应列短接,形成通路,A端口的对应位输入为低 电平0,通过读取A端口的数据就能判别是哪个键按下(闭合)。该方式的缺 点是占用的端口太多。
PC1
PC0
至CPU
外 设
端口B
8位数据输出
8255A的工作方式-方式2
方式2也称为双向传输方式。只有端口A能工作在该方式下。
外设可以通过8位数据线,即向CPU发送数据,又从CPU接收数 据。和方式1相同,端口C的固定位提供控制和状态信号。 特点: 1)端口A工作于方式2时,C端口的PC3-PC7共5位数位分别提供 控制信号和状态信号配合A端口工作。 2)端口A工作于方式2时,B端口可以工作在方式0的输入输出 下,端口C的PC0-PC2共3位可以工作在方式0的输入输出下; 端口B也可以工作在方式1的输入输出下,端口C的PC0-PC2共3 位配合B端口工作。 方式2的使用场合:如果一个外部设备即可以作为输入设备 也可以作为输出设备,并且输入输出不会同时进行,将该设 备连接在A端口,并工作于方式2非常合适(例如磁盘)。
端口A
PC7 输出缓冲区满信号OBFA
8 2 5 5 A
PC6 PC5
响应信号ACK,外设取得数据 输入缓冲区满信号IBFA
选通信号STB,外设数据准备好 中断请求信号输出INTRA
外 设
PC4 PC3
至CPU
PC2
PC1
响应信号ACK,外设取得数据 输出缓冲区满信号OBFA 中断请求信号输出INTRB
- CPU将待打印的数据通过8255A送给打印机
状态信号:
- 打印机的忙信号(BUSY)通过8255A输入给CPU
- CPU通过8255A将数据准备好信号(STB)输出给打印机
8255A端口工作方式选择 - A端口工作于方式0,用于数据输出 - B端口不用 - C端口工作于方式0,PC2为BUSY信号输入端,故PC3~PC0 为输入方式;PC6为STB信号输出端,故PC7 ~PC4为输出方式
非编码键盘的行扫描法识别按键
+5V
10KΩ
第0行
PA0
PA1 PA2
„ „
第7行 第0列
…
PA7
PB0 PB1 PB2
8 2 5 5 A
第7列
„ „
…
PB7
键盘扫描程序
第一步:判断有无按键按下 使A端口输出00H,读入B端口的数据,如果是FFH,则没有 按键按下,继续第一步。否则进行第二步。 第二步:行扫描法识别按键 (1)使A端口的PA0输出低电平,其余为高电平。 (2)观察列线的状态。 (3)如果某条列线变为低电平,则第0行与该列相交位置上的 键被按下;否则第0行没有键按下。 (4)使PA1输出低电平,其余为高电平。 (5)观察列线的状态判断是否有键按下。 (6)如此逐行扫描下去,直到最后一行。 通过分析可知,8255A的端口A工作在方式0的输出,端口B 工作在方式0的输入,端口C不用。8255A端口的地址如下:
外 设
端口B
8位数据输入
方式1输出时信号的规定
8位数据输出
端口A
PC7 PC6 输出缓冲区满信号OBFA
响应信号ACK,外设取得数据
8 2 5 5 A
外 设
PC5 PC4 PC3 中断请求信号输出INTRA
至CPU
PC2
响应信号ACK,外设取得数据 输出缓冲区满信号OBFA 中断请求信号输出INTRB
方式1输入时信号的规定
8位数据输入
端口A
PC7 PC6
8 2 5 5 A
PC5 PC4 PC3
输入缓冲区满信号IBFA 选通信号STB,外设数据准备好 中断请求信号输出INTRA
外 设
至CPU
PC2
选通信号STB,外设数据准备好 输入缓冲区满信号IBFB 中断请求信号输出INTRB
PC1
PC0
至CPU
8255A的工作方式-方式0
方式0也称为基本输入/输出方式。该方式下端口A和端口B可
以通过方式选择控制字作为输入口或者输出口;端口C分为两 个4位端口,也可以规定位输入口或输出口。 方式0的特点是任何1个端口可作为输入口或作为输出口,各 端口之间没有必然的联系。各端口的输入或者输出可以有16 中组合,适用于多种使用场合。 方式0的使用场合有两个: 一种是同步传输,发送方和接受方的动作由一个时序信 号来管理,不需要应答信号和查询外设的状态,对接口的要 求简单,只要能传递数据,可以实现3路并行传输。 二种是查询传输,端口A和端口B传送数据,端口C配合端 口A和B工作:作为输出口,输出对外设的控制信号;作为输 入口,读取外设的状态。信号与端口C的数位没有具体关系。
注意:只有端口A可以工作在方式2
8255A的初始化
8255A的控制寄存器控制着它的3个端口的工作方式和数 据传送方式,所以对8255A的初始化就是对控制寄存器写入控 制字的过程。 8255A控制寄存器的端口的选中要求A1、A0=11 8255A的控制字分为两类: 一类是芯片各端口的方式选择控制字,它可以使8255A的 各端口工作于不同的方式下。方式选择控制字总是将端口C分 为2组来控制。控制字的第7位称为标识位。如果为1,则写入 控制寄存器的是方式选择控制字。 一类是C端口按位置1/置0方式字,它可以使C端口中的任 何1位置0或者置1。控制字的第7位如果为0,则写入控制寄存 器的是C端口按位置1/置0方式字。
8255A的引腿功能
端口C对应1个8位的数据输入缓冲器和1 8255A的控制寄存器,A组控制决定A端口 个8位的数据输出锁存/缓冲器,端口C作 和C端口高4位的输入输出和工作方式,B 端口B对应1个8位的数据输入缓冲器和1 端口A对应1个8位的数据输入锁存器和1 为输出时数据收到锁存。端口C通常被划 组控制决定B端口和C端口低4位的输入输 个8位的数据输出锁存/缓冲器,端口B作 个8位的数据输出锁存/缓冲器,端口A作 分为两个4位端口,它们分别为端口A和 出和工作方式, 为输出时数据收到锁存。 为输入输出时数据均收到锁存。 端口B提供控制和状态信号。
0:输出
C端口按位置1/置0方式字
D7 D6 D5 D4 D3 D2 D1 D0
1:置位 0:复位 任选(可1可0) C口选择 000:PC0 001:PC1 010:PC2 011:PC3 100:PC4 101:PC5 110:PC6 111:PC7
D7 = 0 (特征位)
例如微机系统中,8255A的控制端口的地址为00E7H,要求各 端口的工作方式如下: 端口A:方式0,输出 端口B:方式0,输入 端口C的高4位:输出 端口C的低4位:输入 设置8255A的方式选择控制字的程序段如下: MOV AL, 83H 1 00 0 0 0 1 1 MOV DX,00E7H OUT DX, AL 例如微机系统中,8255A的控制端口的地址为00E7H,要求端 口C的PC3位置0,下面的程序段可以实现该要求。 MOV AL, 06H 0 000 011 0 MOV DX,00E7H OUT DX, AL源自例:8255A作为打印机接口
8255A作为连接打印机的接口,工作过程如下: 当主机要往打印机输出字符时,首先查询打印机的忙信
号,如果打印机正在处理一个字符或者打印一行字符,忙信
号为1;反之忙信号为0。当CPU查询到忙信号为1时,则循环 等待,当忙信号为0,则通过8255A向打印机输出一个字符。
数据信号:
第9章
并行接口
9.1 8255A的工作原理
并行通信的基本概念
并行通信就是把一个字符的各数据位用几条传输线同时进行传输。
D0 D1
优点: 实际的传输速度快,信息率高。 缺点: 随着传输距离的增加,电缆开销大。
… …
… …
D7
… …
t
并行接口的基本结构
输入准备好
数据总线
读信号 写信号 复位
控制寄存器
端口c配合a端口和8255a外设外设方式1输入时信号的规定端口a端口b8位数据输入8位数据输入pc5pc4pc3pc2pc1pc0pc7pc6选通信号stb外设数据准备好选通信号stb外设数据准备好至cpu中断请求信号输出intrb至cpu中断请求信号输出intra输入缓冲区满信号ibfa输入缓冲区满信号ibfb8255a外设外设方式1输出时信号的规定端口a端口bpc5pc4pc2pc1pc0pc7pc6响应信号ack外设取得数据响应信号ack外设取得数据至cpu中断请求信号输出intrb至cpu中断请求信号输出intra8位数据输出8位数据输出pc3输出缓冲区满信号obfa输出缓冲区满信号obfa8255a的工作方式方式2?方式2也称为双向传输方式
输入应答
数据输入
输 入 设 备
输入缓冲寄存器
CPU
中断信号 地址 地址 译码
输出缓冲寄存器
CS A0 A1
数据输出
状态寄存器
输出准备好 输出应答
输 出 设 备
并行接口
可编程并行接口8255A
8255A是INTEL系列的并行 接口芯片,使用单一5V电源且 具有40个引脚的双列直插式芯 片,其特点是: 利用软件编程控制芯片的工 作方式。 构成系统不需要附加电路 与外设提供3组8位数据的并 行通信端口,称为A端口、B端 口、C端口。
8255A的芯片引腿信号,除了电源 和地之外,其他信号分为两组:
与外设相连的引腿信号: PA7~PA0: A组数据信号输入输出 PB7~PB0: B组数据信号输入输出 PC7~PC0: C组数据信号输入输出 与CPU相连的引腿信号: RESET:复位信号 RD: 读信号,CPU从8255A读数据 WR:写信号,CPU向8255A写数据 CS:片选信号,8255A被选中 D7~D0:8255A数据线,与数据总线相连 A1、A0 :端口选择信号。8255A一共有 3个数据端口和1个控制端口,共4个端口 当A1、A0为00时,选中A端口 当A1、A0为01时,选中B端口 当A1、A0为10时,选中C端口 当A1、A0为11时,选中控制端口