第六章 输入 / 输出接口

26
微微微微微微微微微 微微微 微微 / 微微微微 微微微5 6

Upload: kanan

Post on 25-Jan-2016

136 views

Category:

Documents


11 download

DESCRIPTION

第六章 输入 / 输出接口. 课时数: 5 - 6. 第 六 章 主 要 内 容. 一、 I/O 接口概述 二、 常用的 I/O 数据传输控制方式 三、基本输入 / 输出接口. I/O 接口的功能与分类 ( P264 、 P266 、 P267 ) I/O 接口的硬件组成及结构 ( P211 ). 直接程序控制方式 ( P277 ) : 无条件 / 同步 、 条件 / 查询 中断控制方式 ( P282 ) 直接存储器存取( DMA )控制方式 ( P283 ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

第六章 输入 / 输出接口

课时数: 5 - 6

Page 2: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

第 六 章 主 要 内 容

一、 I/O 接口概述

二、 常用的 I/O 数据传输控制方式

三、基本输入 / 输出接口

I/O 接口的功能与分类( P264 、 P266 、 P267 )

I/O接口的硬件组成及结构( P211 )

直接程序控制方式( P277 ) :无条件/同步、条件/查询 中断控制方式( P282 )

直接存储器存取( DMA )控制方式( P283 )

键盘接口( P286 )、数码管显示接口( P293 ) 、并行打印机接口( P29

3 )

Page 3: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

第 六 章 习 题 ( P305 )

44 、 、 88 、、 99

思考: 思考: 11 ~~ 33 、、 55 ~~ 77 、、 1010 、、 1111 、、1414

2005.5.132005.5.13 交作业交作业

Page 4: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

第 六 章 结 束

Page 5: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

I/O 接口的功能与分类( P264 、 P266 )

微机系统的外部设备种类繁多,其信号类型、信号形微机系统的外部设备种类繁多,其信号类型、信号形式、数据格式、数据传输率及传输方式都可能完全不同。式、数据格式、数据传输率及传输方式都可能完全不同。

因此接口通常应该具备以下功能:数据缓冲、 设备因此接口通常应该具备以下功能:数据缓冲、 设备选择、信号转换、接收、解释并执行选择、信号转换、接收、解释并执行 CPUCPU 命令、中断管命令、中断管理、程控等。理、程控等。

是软件与硬件的结合

接口电路的分类方法很多,按数据传送方式可分为接口电路的分类方法很多,按数据传送方式可分为串串行和并行行和并行接口;按同步方式可分为接口;按同步方式可分为同步和异步同步和异步接口;按接口;按灵活性可分为灵活性可分为可编程和不可编程可编程和不可编程接口;按通用性可分为接口;按通用性可分为通用和专用通用和专用接口。接口。

Page 6: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

I/O 接口的硬件组成与结构( P267 )

数据缓冲/ 锁存器

状态寄存器

控制寄存器

总线驱动

地址译码

控制逻辑

接 CPU 一侧 接外设一侧

DB

AB

CB

数据信息

控制信息

状态信息

有关端口 (PORT) 的概念:端口

一个外设可能有多个端口,一个端口也可能属于多个外设;主机( CPU )可读

写、 8 位

长、 存储器映像或 IO 独立编

外设的各种信息 (P265) 都是通过系统的 DB 进行交换的;有关信息交换的概念:

Page 7: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

I/OI/O 端口的地址分配与地址译码端口的地址分配与地址译码( P270 ) 地址空间的分配地址空间的分配

译码电路的设计译码电路的设计

译码电路的实现译码电路的实现

(与扩展存储器的地址译码方式非常类似 )

80X8680X86 系列微处理器使用系列微处理器使用低低 1616 位地址位地址信号访问信号访问 I/OI/O 端口,端口,编址可达编址可达 64K64K 个字节端口个字节端口 (( 或者或者 32K32K 个字端口个字端口 )) 。除去已用的。除去已用的和保留的,用户通常可使用的地址范围是和保留的,用户通常可使用的地址范围是 300H300H ~~ 31FH31FH 。。

相关控制信号相关控制信号对对 8086CPU8086CPU :: M//IOM//IO 、、 /RD/RD 、、 /WR/WR 、、 /BHE/BHE 等等对对 ISAISA 总线:总线: /IOR/IOR 、、 /IOW/IOW 、、 /IOCS16/IOCS16 、、 AEN(AEN( 低有低有效效 )) 等等

地址固定式、地址可调式(开关与比较器、可编程逻辑器件)地址固定式、地址可调式(开关与比较器、可编程逻辑器件)

低位低位 ABAB 选择芯片(或模块)内部的具体端口;选择芯片(或模块)内部的具体端口;高位高位 ABAB 与控制信号一起译码形成片选;与控制信号一起译码形成片选;

地址信号地址信号

可以与高位 AB 一起译码,或直接作使能 /控制信号使用

Page 8: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

面向 ISA 总线的 02F0H 读端口地址译码电路

A9A9A7A7A6A6A5A5A4A4

A15A15A14A14A13A13A12A12

A11A11A10A10A8A8A3A3A2A2A1A1A0A0

AENAEN

译码输出译码输出

将给定的端口将给定的端口地址地址表示为二进制:表示为二进制:

0000 000000 001100 1111 1111 0000 0000

AA99 A A77…A…A44

需要用到的控制线:IOR , AEN

(都是低有效)

MOV DXMOV DX ,, 02F0H02F0H IN ALIN AL ,, DXDX

Page 9: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

面向 ISA 总线的总线的 77AH77AH 可读可写端口可读可写端口的地址译码电路的地址译码电路( P274 )

IOW W 77AH

&A 10A 9A 8A 6A 5A 4

AEN

A 1A 3

A14

A13

&A15

A12

A7A2

&A11

A 0

≥ 1

74LS04

IOR

≥ 1

≥ 1

≥ 1

R 77AH

≥ 1

74LS30

74LS20

74LS32≥ 1

注意 /IOR 和 /IOW 信号的用法 !

Page 10: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

用比较器实现的可选式译码电路用比较器实现的可选式译码电路( P276 )

A1~A0用于选择芯片内部端口 , 这里可不用参与译码 ;

A15~A10固定不变 ,可通过门电路译码形成使能信号 ;

A9~A2可由用户设置 : 利用比较器与拨动(跳线)开关 .

注:这里注:这里没有考虑没有考虑控制信号控制信号

A12

≥1

&

A 15

A 14

A 13

A 11A 10

≥1

≥1≥1

A 2A 3… A 9开关

CCV

A 0

A1…

IA=B

A7

B0B1…B7

IA>B

IA<B

OA>B

OA<B

OA=B

S 0S 1… S 7

VCC

15 12 11 8 7 4 3 0

0001 0000 0000 00000001 0011 1101 1111

≥1

Page 11: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

输入缓冲电路输入缓冲电路( P272 )

当地址信号及读控制信号有效时,缓冲器中的三态门才会打开,外部数据可送至系统数据总线。

否则三态门处于高阻状态,不影响总线上其它设备的读写操作。

微处理器系统

输入端口

A 0 B 0

A 1 B 1

A 2 B 2

A 3 B 3

A 4 B 4

A 5 B 5

A 6 B 6

A 7 B 7

EDIR

23456789

1817161514131211

119

端口地址译码

IORDIR=1 , A→ BDIR=0 , B→ A

74LS245

Page 12: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

输出锁存电路输出锁存电路( P273 )

当地址信号及写控制信号有效时,锁存器被选中 ,数据才能送至指定端口。

此后即使系统撤销数据,锁存器的输出也可以一直保持以等待慢速设备读取。

D 0 Q 0D 1 Q 1D 2 Q 2D 3 Q 3D 4 Q 4D 5 Q 5D 6 Q 6D 7 Q 7

CLKCL R

3478

13141718

256912151619

74LS273

11

+5V

1

微处理器系统

输出端口

端口地址译码

IOW

Page 13: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

无条件程序控制(同步控制)方式无条件程序控制(同步控制)方式( P277 )

端口译码器

一种最简单的 I/O 控制方式, CPU 可以随时根据需要无条件地读写 I/O 端口。

接口特点:结构简单(通常只需要数据端口),适用面较窄;

WR

RD

M/IO

AB

DB

外设要求:简单,数据变化缓慢,操作时间固定,如一组开关或 LED 显示管。外设被认为始终处于就绪状

态;

数据输入缓冲器端口

数据输出锁存器端口

开关组

LED 组

Page 14: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

条件程序控制(程序查询)方式( P279 )

数据缓冲器( 输入端口 )

状态缓冲器(输入端口)

锁存器 输

入设备

数据端口读选通

状态端口读选通 输入选通

输入数据

RQ D

+ 5V

DB (数据、状态)

READY

(1bit)

数据锁存器(输出端口)

状态缓冲器( 输入端口 )

输出设备

输出选通R Q

D+ 5V

DB (数据、状态)

BUSY(1bit)

ACK

状态端口读选通

数据端口写选通

⑤⑥

④ 一种 CPU 主动、外设被动的 I/O操作方式,很好地解决了 CPU 与外设之间的同步问题。

接口特点:避免了对端口的“盲读”、“盲写” ,数据传送的可靠性高,并且硬件接口相对简单。缺点是 CPU工作效率低, I/O 响应速度慢;

外设要求:应具有必要的联络(握手)信号如 READY 、 ACK等;

在有多个外设的系统中, CPU 的查询顺序由外设的优先级确定,实时性差。

Page 15: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

AGAIN : MOV AL , DL AND AL , 0F7H ;令 D3(START)= 0 ,停止 A/ D 转换 OUT 4 , AL CALL DELAY ;等待 ADC停止工作 MOV AL , DL OUT 4 , AL ;送出控制字,选择模拟量 A0 ,启动 A/D

D0 D1 D2

查询式 8 路模拟数据采集系统

3 2 4

A/D 转换器

DB

多路开关

数据端口读选通

1 路模拟量

状态端口读选通

控制端口写选通

READY START

D0CPU

8 路模拟量输入

A0

A7

D3

D7 ~D0 D3 ~D0

DATA

DSTOR DB 8 DUP (?)START : MOV DI , OFFSET DSTOR ;取输入数据缓冲区的偏移地址

MOV CX , 8 ;一共要采集 8次(路)数据 MOV DL , 0F8H ; DL =需要送出的控制字

POLL : IN AL , 2 ;输入状态信息 SHR AL , 1 ; D0 - > CF JNC POLL ;若 ADC未 READY ,程序循环等待

IN AL , 3 ;否则,输入数据STOSB ;将数据存入 DI所指的缓冲区INC DL ;准备选择下一路模拟输入LOOP AGAIN

Page 16: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

中 断 控 制 方 式中 断 控 制 方 式( P283 )

中断请求触发器

Q R D

数据缓冲端口译码

端口译码 控制端口

中断屏蔽触发器Q D

+5V

WR

READY

DBAB

DB

INTR

INTA

一种 CPU被动而外设主动的 I/O操作方式,较大地提高了 CPU 的工作效率,并使系统具有了实时处理功能。

接口特点:避免了 CPU 反复低效率的查询,适用于 CPU任务繁忙、而数 据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;

外设要求:应具有必要的联络(握手)信号如 READY 等;

中断可被响应的条件:中断请求触发器置位;中断屏蔽触发器清零;CPU 内部开放中断;CPU未处理更高级中断;CPU 现行指令执行完;

Page 17: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

DMA ( 直接存储器存取 ) 控制方式( P283 )

特点:数据不通过特点:数据不通过 CPUCPU ,而由,而由 DMACDMAC 直接完成存储 直接完成存储 单元或单元或 IOIO 端口之间的数据传送。端口之间的数据传送。

DB   HOLDCPU HLDA   AB

DMAC MEM I/O

请求

响应

Page 18: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

键 盘 接 口键 盘 接 口( P285 ) 线性键盘

矩阵键盘

非编码键盘: CPU 处理按键的操作,减低了 CPU 的效率。

编码键盘:使用专用的单片机处理按键操作,缓减了 CPU 的负担。

每一个按键需要占用 I/O 端口的一根口线。

所有按键按行、列排列,较节约 I/O 口线

Page 19: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

采用行扫描法的采用行扫描法的 8×88×8 矩阵键盘矩阵键盘( P285 )

8 位并行输入端口

8 位并行输出端口

+5V10kΩ

10kΩ

10kΩ

10kΩ

第0行

第1行

第2行……

第7行

第0列 第1列 第2列 第3列 …… 第7列

行扫描法步骤: 1.判断是否有键按下:各列同时输出“ 0” 2.确认按键的位置:去抖动后,各列轮流输出“ 0”

MOVMOVDXDX ,, OUTPORT MOVOUTPORT MOV

ALAL ,, 00H00HOUTOUT DXDX ,, ALALMOVMOV DXDX ,, INPORTINPORTIN IN ALAL ,, DXDXCMPCMP ALAL ,, 0FFH0FFH

CALL DELAYY ;20msCALL DELAYY ;20ms

0

1

2

8

9

10

16

17

18

MOV BL,0 ;MOV BL,0 ; 键值键值 MOV CL,0FEH ;MOV CL,0FEH ; 扫描码 扫描码 MOV DL,8 ;MOV DL,8 ; 扫描次数扫描次数 OUTOUT … … ; ; 列输出列输出 CLCL ININ … ; … ; 读行状态读行状态 CMP AL,0FFH ;CMP AL,0FFH ; 判断按键判断按键 JNZ FROW ;JNZ FROW ; 计算键值计算键值 ADD BL,8 ;ADD BL,8 ; 调整键值调整键值 ROL CL,1 ;ROL CL,1 ; 调整扫描码调整扫描码 LOOPLOOP… ;… ; 扫描下一列扫描下一列FROW: SHR AL,1FROW: SHR AL,1 JNC JNC PROCPROC ; ; 转键处理转键处理 INC BL ;INC BL ; 下一行,键值加下一行,键值加 11 JMP FROWJMP FROW

Page 20: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

教材教材 P287页勘误页勘误

设键号 =0 ,计数器 = 列数

行扫描初值 =11111110B

输出扫描值,使某一行为低电平

是否有一行接地?

读进行值

行值循环右移一位

进位位为 0 ?键盘命令处理

扫描值循环左移一位,使下一列为低电平

键号 +8 ,计数值 -1

全部扫描完?

结束

是是 否

图 6.26 行扫描法程序流程

键号+ 1

WAIT : MOV AL , 00H MOV DX , OUTPORT OUT DX , AL MOV DX , INPORT IN AL , DX CMP AL , 0FFH JZ WAITDELAY: CALL DELAYY MOV BL , 0 MOV CL , 0FEH MOV DL , 8FCOL: MOV AL , CL MOV DX , OUTPORT OUT DX , AL ROL CL , 1 MOV DX , INPORT IN AL , DX CMP AL , 0FFH JNZ FROW ADD BL , 8 DEC DL JNZ FCOL JMP DONEFROW: SHR AL , 1 JNC PROC INC BL JMP FROWPROC :……

DONE :……

Page 21: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

采用行反转法的采用行反转法的 8×88×8 矩阵键盘矩阵键盘

8 位并口B

+5V

10kΩ

10kΩ

10kΩ

10kΩ

…… 1. A 口输出全 0 (“ 00H” )。 2. B 口输入如为全 1 (“ 0FFH” )则表明无键按下,退出;否则继续向下, B 口读入值包含按键所在列信息(如“ 0FEH” 表示按键在第 7 行) 。 3. B 口输出( 2 )中读入的数据(如“ 0FEH” )。4.A 口输入按键所在行信息(如“ 10H” 表示按键在第4 行)。5.根据( 2 )及( 4 )中读入的信息计算按键编码。

……

8 位并口A

Page 22: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

微 机 键 盘 接 口( P288 ) 微机键盘工作原理微机键盘工作原理

键盘内单片机可自动识别键的按下与释放,并自动生成相应的键盘内单片机可自动识别键的按下与释放,并自动生成相应的扫描码扫描码(因此严格地说微机键盘仍属于非编码键盘);(因此严格地说微机键盘仍属于非编码键盘);

扫描码以扫描码以中断中断方式、通过方式、通过 PS/2PS/2 接口接口串行串行发送至主机;发送至主机; 主机通过主机通过 09H09H 号中断号中断获取的扫描码存放在获取的扫描码存放在 00400040 :: 001EH001EH ~~

00400040 :: 003CH003CH共共 3030 个字缓冲单元(个字缓冲单元( FIFOFIFO )中。)中。 主机将扫描码转换为反映键功能的主机将扫描码转换为反映键功能的 ASCIIASCII 码码;;

常用的与微机键盘输入有关的中断调用常用的与微机键盘输入有关的中断调用 21H 号 DOSDOS 功能调用功能调用的 01H 、 06H 、 07H 、 08H 、 0AH 、

0BH 、 0CH 号功能都可用于接收单个字符或字符串; 16H 号 BIOSBIOS 中断调用中断调用可一次读取字符的 16 位扩充 ASCII 码

Page 23: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

数码管显示接口数码管显示接口( P293 ) 一、显示器结构共阴结构:输入控制端为高电平时,对应的 LED亮 共阳结构:输入控制端为低电平时,对应的 LED亮

二、显示方式 静态显示:显示位数少时使用

各位( 8段)输入控制端分别与接口电路的输出端相连,占用 I/O 端口资源多;

各段( LED )恒定地导通或截止; 动态显示:显示位数多时使用

各位共享输入控制端,占用 I/O 端口资源少; 需同时进行位选(选中被点亮的位)和段选(输入控制端确定各 LED 的发光情况)

各位轮流显示一遍的总时间不能过长(不大于 20ms );

Page 24: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

6×86×8 数码管动态显示原理数码管动态显示原理

带锁存功能的并行输出端口

D0~D7

D7D6D5D4D3D2D1D0

D5D4D3D2D1D0

位0位1位2位3位4位5

D0~D5

段选有效

位选有效

带锁存功能的并行输出端口

Page 25: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

并行打印机接口框图并行打印机接口框图( P298 )

D0~D 7

DIR

AEN

IOR

A 0~A 9

IOW

IRQ

复位

写数据

读数据

写控制

读控制

读状态

数据信息 8

控制信息 4

状态信息 5

输出数据寄存器数

据收

发器

命令

译码

输入数据缓冲器

控制寄存

状态寄存器(2)

状态寄存器(1)

集电

极驱

动器

ISA

Page 26: 第六章 输入 / 输出接口

微机原理及应用技术微机原理及应用技术

并行打印机接口并行打印机接口时序图时序图( P298 ) BUSY

数据有效DATA 数据有效

ACK5 μ s

STROB

5μ s1. CPU查看 BUSY 状态信号2. 当 BUSY=“ 0” 时, CPU发送需打印的数据3. CPU发控制信号 /STROB锁存数据,该信号至少维持 5μs

4. /STROB 信号导致 BUSY 信号变为高电平5. 打印机在接受完数据后发出 /ACK 状态信号,该信号至少维持 5μs

6. /ACK 信号导致 BUSY 信号变为低电平

MOV DX , 379HWAIT : IN AL , DX TEST AL , 80H ;查询状态 JE WAIT ;忙,等待 MOV DX , 378H; 不忙,发数据 MOV AL , DAT OUT DX , AL MOV DX , 37AH;发选通信号 MOV AL , 09H CALL DELAY OUT DX , AL MOV AL , 08H ;撤销选通信号 OUT DX , AL