程序控制方式
程序控制方式是指CPU与外设间的数据传送是在程序的控制下完成的一种数据传送方式。
分为:
1. 无条件传送方式
2. 查询传送方式
1. 无条件传送方式及其接口
所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。
当简单外设作为输入设备时,其输入数据的保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器与系统数据总线相连。
当简单外设作为输出设备时,由于外设的速度较慢,CPU送出的数据必须在接口中保持一段时间,以适应外设的动作,因此输出采用锁存器。
端口地址
译码器
三态
输入缓冲器
输出
锁存器
DB
AB
CE
CE
WR
M/IO
RD
&
&
来自输入
设备的数据
至输出设备
无条件传送方式的接口电路
6个LED数码显示器循环显示课本P308
流程图
初始化定义
显示提示信息
显示第一个显示器
延时200ms
返回DOS
是
所有显示是否完毕?
显示下一个显示器
否
左移一位
查询传送方式在传送数据前先查询外设的状态,当外设准备好时,CPU执行I/O指令传送数据;若未准备好时,则CPU等待。
要求CPU与外设间的接口电路需要两个端口:数据端口和状态端口。
优点:能较好地协调外设与CPU之间的定时关系,因而比无条件传送方式容易实现准确传送。
缺点:该方式需要不断查询外设的状态,大量时间花在等待循环中,当主机与中、低速外设交换信息时,大大降低了CPU利用率。
数据端口译码输出
DB
M/IO
输入设备
锁存器
三态
缓冲
器
(8)
三态
缓冲
器
(1)
端口
地址
译码
器
状态端口
译码输出
&
&
R
Q
D
STB
D7
AB
RD
RD
+5V
查询传送方式输入接口电路
输入状态信息
外部设备准备好否?
否
输入数据
是
流程图
例
设接口电路中状态端口的地址为STATUS,数据端口的地址为DATA,则CPU读取输入设备的数据应执行下列程序段:
TEST: IN AL, STATUS ;①
TEST AL, 80H ;②测试状态位
JE TEST ;③未准备好,转移
IN AL, DATA ;④
STOSB
AB
M/IO
去CPU DB
选通信号
D7
输出设备
锁存器
WR
数据端口
译码输出
端口地址译码器
状态端口译码输出
RD
ACK
&
&
DB
三态
缓冲
器
+5V
D
Q R
<
查询传送方式输出接口电路
组合图形的面积 来自淘豆网m.daumloan.com转载请标明出处.