39
1 微微微微微微7微 微微微微 7.1 微微微微微微 微微微微微微微微微微微微微微微 微微微微 微微微微 微微微微微微微微 微微微微 微微微微 微微微微微微微微 微微微微微微微微微 微微微微微微微微微

第 7 章 并行接口

  • Upload
    ciqala

  • View
    79

  • Download
    3

Embed Size (px)

DESCRIPTION

第 7 章 并行接口. 7.1 并行接口概述. 并行接口和串行接口的结构示意图. 并行接口传输速率高,一般不要求固定格式,但不适合长距离数据传输. 7.2 可编程并行接口芯片 82C55 7.2.1 8255 的基本功能. 8255 具有 2 个独立的 8 位 I/O 口( A 口和 B 口)和 2 个独立的 4 位 I/O ( C 口上半部和 C 口下半部) ,提供 TTL 兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。其中, A 口具有双向传输功能。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第 7 章  并行接口

1

微计算机系统第 7 章 并行接口 7.1 并行接口概述并行接口和串行接口的结构示意图

并行接口传输速率高,一般并行接口传输速率高,一般不要求固定格式,但不适合不要求固定格式,但不适合长距离数据传输长距离数据传输

Page 2: 第 7 章  并行接口

2

微计算机系统7.2 可编程并行接口芯片 82C55 7.2.1 8255的基本功能 1. 8255 具有 22 个独立的个独立的 88 位位 I/OI/O 口(口( AA 口和口和 BB 口)和口)和

22 个独立的个独立的 44 位位 I/OI/O (( CC 口上半部和口上半部和 CC 口下半部)口下半部),提供 TTL 兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。其中, A 口具有双向传输功能。2. 8255 有 33 种工作方式种工作方式,方式 0 、方式 1 和方式 2 ,能使用无条件、查询和中断等多种数据传送方式完成 CPU 与 I/O 设备之间的数据交换。3. B 口和 C 口的引脚具有达林顿复合晶体管驱动能力,在 1.5V 时输出 1mA 电流,适于作输出端口。4. C 口除用做数据口外,当当 82558255 工作在方式工作在方式 11 和方式和方式

22 时,时, CC 口的部分引脚作为固定的联络信号线口的部分引脚作为固定的联络信号线。

Page 3: 第 7 章  并行接口

3

微计算机系统7.2.2 8255的内部结构和外部引脚 1. 内部结构

Page 4: 第 7 章  并行接口

4

微计算机系统2. 外部引脚

Page 5: 第 7 章  并行接口

5

微计算机系统表 7.18255 的端口与操作选择表

A1 A0 RD WR CS 操作 0 0 1

010

000

111

000

A 口内容读至数据总线B 口内容读至数据总线C 口内容读至数据总线

 输入0011

0101

1 1 1 1

0000

0000

数据总线内容写至 A 口数据总线内容写至 B 口数据总线内容写至 C 口DB 内容写至控制寄存器

输出

X1X

X1X

X01

X11

100

端口输出为高阻非法端口输出为高阻禁止

 

Page 6: 第 7 章  并行接口

6

微计算机系统7.2.3 8255 的工作方式 1 .方式 0

方式 0 提供两个 8 位口( A 和 B )和两个 4位口( PC7~PC4 , PC3~PC0 ),任何一个口都可用做输入或或输出 ( 单向),由 CPU 用简单的 I/O 指令来进行读 / 写。 一般用于无条件传送的场合,也可以用做查询式传送。 习惯上将 A 口和 B 口作为数据口,将 C 口作为控制输出和状态输入口。

Page 7: 第 7 章  并行接口

7

微计算机系统

图 7.4 8255A 方式 0 输入时序和参数说明

Page 8: 第 7 章  并行接口

8

微计算机系统 2 .方式 l ( A 口和 B 口有此方式,单向)( 1 )方式 l 的输入

图 7.6 A 口和 B 口方式 l 的输入组态

Page 9: 第 7 章  并行接口

9

微计算机系统

• INTE 为中断允许位,对应 PC 口寄存器 ( 状态字 ) 的 D4 位( INTEA )和 D2 位 ( INTEB

) ,可通过对 PC 口按位写方法设置;• PC2 、 PC4 引脚作用:用作锁存数据口数据;• 中断条件: STB#( 引脚 )=1( 无效 ) , IBF=1、 INTE=1 ;• PC6 、 7 可作为数据线使用。

Page 10: 第 7 章  并行接口

10

微计算机系统

Page 11: 第 7 章  并行接口

11

微计算机系统

方式 1 下的输入过程:• 外设把数据送到 8255 端口• 外设用选通信号 STB 把数据打入端口的输入锁存器• 输入缓冲器满信号 IBF 有效, CPU 可查询该信号• 如果 INTE 有效, 8255 将使 INTR 有效,申请中断• CPU 向 8255 发读信号 RD ,从 8255 端口读数据• 中断请求信号 INTR 变无效,然后 IBF 无效,外设可送下一个数据。

Page 12: 第 7 章  并行接口

12

微计算机系统( 2 )方式 1 的输出

图 7.8 8255 方式 1 输出组态

Page 13: 第 7 章  并行接口

13

微计算机系统

• INTE 为中断允许位,对应 PC 口寄存器 ( 状态字 ) 的 D6 位( INTEA )和 D2 位 ( INTEB

) ,可通过对 PC 口按位写方法设置;• PC2 、 PC6 引脚作用:用作对 OBF 的回应;• 中断条件: ACK ( 引脚 )=1( 无效 ) , OBF=1(W 无效 ) 、 INTE=1 ;• PC4 、 5 可作为数据线使用。

Page 14: 第 7 章  并行接口

14

微计算机系统

Page 15: 第 7 章  并行接口

15

微计算机系统

方式 1 下的输出过程:• CPU 发 WR 信号,向 8255 送一个数据• WR 使 INTR 无效, OBF 有效,通知外设可取数据• 外设接到数据后,向 8255 回送 ACK 信号• OBF 无效,接着 ACK 无效,其上升沿引发 INTR 有效,向 CPU 发中断申请,请求发送新数据。

Page 16: 第 7 章  并行接口

16

微计算机系统3 .方式 2

图 7.10 8255 方式 2 组态

双向 I/O ,只有 A 口有此方式

Page 17: 第 7 章  并行接口

17

微计算机系统7.2.4 8255 的控制字与初始化编程

1 .工作方式控制字(写, A1A0 = 11 )

图 7.11 8255 工作方式控制字

Page 18: 第 7 章  并行接口

18

微计算机系统例 7.1 某系统要求使用 8255 的 A 口工作于方式 1 作输入, B 口工作于方式 0 作输出, C 口上半部输入,下半部输出。 8255 端口地址为 60H-63H 。

控制字为: 10111000B=0B8H

初始化程序为: MOV AL , 0B8H OUT 63H , AL

Page 19: 第 7 章  并行接口

19

微计算机系统2 . C 口按位置 / 复位控制字(写, A1A0 =11 )

图 7.12 C 口按位置 / 复位控制字例 7.2如上例,若 A 口工作于方式 1 作输入,要使用中断传送方式,则应当写 PC4 的按位置位字: MOV AL , 00001001B OUT 63H , AL

Page 20: 第 7 章  并行接口

20

微计算机系统 方式 1 下 8255 状态字中 INTE 位的置位和复位

⊙ 若禁止 PA 口输入中断请求 MOV DX , 303H ; 8255 命令口 MOV AL , 000010010000B ;置 PCPC44=0 ,禁止中断请求 OUT DX , AL

⊙ 若允许 PA 口输入中断请求 MOV DX , 303H ; 8255 命令口 MOV AL , 00001001001B ;置 PCPC44=1 ,允许中断请求 OUT DX , AL

⊙ 若允许 PA 口输出中断请求 MOV DX , 303H ; 8255 命令口 MOV AL , 00001101101B ;置 PCPC66=1 ,允许中断请求 OUT DX , AL

Page 21: 第 7 章  并行接口

21

微计算机系统⊙ 若允许 PB 口输入中断请求 MOV DX , 303H ; 8255 命令口 MOV AL , 00000100101B ;置 PCPC22=1=1 ,允许中断请求 OUT DX , AL

⊙ 若禁止 PB 口输入中断请求 MOV DX , 303H ; 8255 命令口 MOV AL , 000001001000B ;置 PCPC22=0=0 ,禁止中断请求 OUT DX , AL

⊙ 若允许 PB 口输出中断请求 MOV DX , 303H ; 8255 命令口 MOV AL , 00000100101B ;置 PCPC22=1=1 ,允许中断请求 OUT DX , AL

Page 22: 第 7 章  并行接口

22

微计算机系统例 7.3图 7.13 采用一个 8255 芯片和软盘控制器相连,箭头标明了 I/O 的方向,根据该图,试写出 8255 的初始化程序。设 8255 端口地址为 0300-0303H 。

图 7.13 8255 用作软盘基本接口

Page 23: 第 7 章  并行接口

23

微计算机系统 A 口工作在方式 2 , PC4-PC7 作应答联络信号线, P

C3 用作 A 组中断请求, B 口和 PC0-PC2 作输出,工作在方式 0 。

工作方式控制字为: 11XXX000B 初始化程序为: MOV DX , 303H MOV AL , 0C0H OUT DX , AL MOV AL , 00001001B OUT DX , AL ;; PC4PC4 置位,开放输入中置位,开放输入中断断 MOV AL , 00001101B OUT DX , AL ;; PC6PC6 置位,开放输出中置位,开放输出中断断

Page 24: 第 7 章  并行接口

24

微计算机系统例 7.4某应用系统以 8255A 作为接口,采集一组开关 S

7~S0 的状态,然后通过一组发光二极管 LED7~LED0显示开关状态 ,(Si 闭合,则对应 LEDi 亮, Si 断开,则对应的 LEDi 灭)电路连接如下图,已知 8255A 、B 两组均工作在方式 0 。1) 写出 8255 四个端口的地址。2) 写出 8255 工作方式控制字。3)画出实现给定功能的汇编语言程序。

Page 25: 第 7 章  并行接口

25

微计算机系统LED7

LED0

S7

S0

PB7

PB0

PA7

PB0

8255A

D7~D0D7~D0

WRRD

IOWIOR

Y0G1

G2A

G2B

CBA

74LS138

CSA9

AEN

&A8A7A6A5

A4A3A2A1A0

A1A0

Page 26: 第 7 章  并行接口

26

微计算机系统答:1) A 口、 B 口、 C 口和控制口的地址分别是

320H 、 321H 、 322H 和 323H 。2) A 口工作在方式 0 输出, B 口工作在方式 0 输入,

C 口空闲,所以其控制字是 10000010b = 82H3) 程序如下:

MOV AL, 82H ; 置方式字MOV DX, 323H ; 置控制端口地址OUT DX, AL

L1: MOV DX, 321H ; 置 B 口地址IN AL, DX ; 读开关状态( 1 断, 0 通)NOT AL ; 状态取反MOV DX, 320H ; 置 A 口地址OUT DX, AL ; 输出( 1 亮, 0 灭)JMP L1

Page 27: 第 7 章  并行接口

27

微计算机系统思考题:如果上题要求修改成:不用查询方式,而是每 50ms 来一次中断,在中断中读 B 口,输出 A 口,请问电路和程序要怎么改动?假设系统提供一个 2KHz 的脉冲。

Page 28: 第 7 章  并行接口

28

微计算机系统

7.3 并行打印机接口标准 ◆ Centronics 并行打印接口标准

Page 29: 第 7 章  并行接口

29

微计算机系统

Page 30: 第 7 章  并行接口

30

微计算机系统 ◆ Centronics 并行接口时序

Page 31: 第 7 章  并行接口

31

微计算机系统表 7.3主机 - 打印机接口信号连线表◆

Page 32: 第 7 章  并行接口

32

微计算机系统

控制字格式

控制字锁存器

状态字格式

状态端口

微机系统中打印机卡 1 的地址是:数据口 0378H 、状态口 0379H 、控制口 037AH

微机系统中打印机卡 2 的地址是:数据口 0278H 、状态口 0279H 、控制口 027AH

Page 33: 第 7 章  并行接口

33

微计算机系统例 7.5 假设利用 8255 的 A 口方式 0 与打印机相

连,将内存缓冲区 BUFF 中的字符打印输出。 打印机接口在 STB 有效时,接收数据,而

在 BUSY 有效时,表示打印机忙,不能接收数据。

Page 34: 第 7 章  并行接口

34

微计算机系统打印机时序

返回

Page 35: 第 7 章  并行接口

35

微计算机系统

图 7.14 8255 与打印机接口

Page 36: 第 7 章  并行接口

36

微计算机系统DATA SEGMENTBUFF DB ‘HELLO,WORLD!’ , 13 , 10 ,‘ $’PORTA EQU60HPORTB EQU 61HPORTC EQU62HPORTCN EQU63HDATA ENDSCODE SEGMENT

ASSUME CS : CODE , DS : DATASTART : MOV AX , DATA

MOV DS , AXMOV SI , OFFSET BUFFMOV AL , 88H;; 82558255 初始化,初始化, AA 口方式口方式 00 输出,输出, CC 口上半部输口上半部输入入

Page 37: 第 7 章  并行接口

37

微计算机系统 OUT PORTCN , AL ;; CC 口下半部输出口下半部输出

MOV AL , 01H ;置位;置位 PC0PC0 ,, STBSTB 无无效效 OUT PORTCN , ALWAIT : IN AL , PORTC ;读打印;读打印机状态,若“忙”则等待机状态,若“忙”则等待

TEST AL , 80H JNZ WAIT MOV AL , [SI] CMP AL ,‘ $’ JZ PRINT_OVER

Page 38: 第 7 章  并行接口

38

微计算机系统OUT PORTA, AL ;数据送出MOV AL, 00H

;产生选通信号,打印机接收数据,开始打印;产生选通信号,打印机接收数据,开始打印。。

OUT PORTCN ,AL MOV AL,01H OUT PORTCN ,AL INC SI JMP WAIT

PRINT_OVER: MOV AH,4CH INT 21H

CODE ENDSEND START

看图

Page 39: 第 7 章  并行接口

39

微计算机系统思考题:如果改成 8255 使用方式 1 ,应该怎么连接?程序该怎么编写?