(1)程序控制输出接口 n图5.6的译码器和74LS273构成了一个程序控制的 输出接口。 下面程序按次序使每个发光二极管点亮,延迟一段 时间后再熄灭。 微处理器 220H 译码 CP 74LS273 OE Q7 Q6 Qs Q4 地址器 驱动器 图56程序查询传送方式举例 桂小林 21
桂小林 21 (1)程序控制输出接口 ◼ 图5.6的译码器和74LS273构成了一个程序控制的 输出接口。 ◼ 下面程序按次序使每个发光二极管点亮,延迟一段 时间后再熄灭。 220H
(1)程序控制输出接口 MOV DX, 220H MOV AL,10000000B ;首先点亮最左侧的发光二极管 REPT OUT DX, AL CALL DELAY 200ms ;调用延时200毫秒子程序 MOV H, AL ;暂存AL MoV AL, OOH OUT DX, AL ;发光二极管熄灭 MoV AL, AH ROR AL, 1 循环右移,准备点亮下一个LED JMP REPT 微处理器 D 2201 ,,,, 译 CP 74LS273 OE 码 Q 地址器 开关K 驱动器 +5V 桂小林 图56程序查询传送方式举例 22
桂小林 22 (1)程序控制输出接口 220H
(2)程序控制输入接口 n输入接口一般用来读取开关量。图56的译码器和 74LS244构成了一个程序控制的输入接口。 下面程序读取开关K的状态。如果开关闭合转 CLOSE,开关开放转oPEN。 微处理器 DD:D 220H 译码 地址器 开关K 驱动器 +5V 桂小林 图56程序查询传送方式举例 23
桂小林 23 (2)程序控制输入接口 ◼ 输入接口一般用来读取开关量。图5.6的译码器和 74LS244构成了一个程序控制的输入接口。 ◼ 下面程序读取开关K的状态。如果开关闭合转 CLOSE,开关开放转OPEN。 220H
(2)程序控制输入接口 MOV DX. 221H ;开关K的端口号 IN AL DX ;检测开关K的状态 TEST AL,10000000B;比较D7位 JNZ OPEN D7位不为零,未闭合,转oPEN JMP CLOSE ;开关闭合,转 CLOSE (3)程序控制输入、输出接口 对于上面的例子,开关电路(开关K)通过74Ls244连接到数据总线D7上。如 果当开关闭合时,才点亮所有的LED,则完成上述功能的具体8086程序段如下: MOV DX 221H ;开关K的端口号 IN AL DX 检测开关K的状态 TEST AL. 1000 0000B ;比较D7位 JNZ QUIT ;D7位不为零,未闭合,退出 MOV DX. 220H ;D7位为零,开关闭合 MOV AL,11111111B 高电平点亮发光二极管 OUT DX AL 点亮所有发光二极管 桂小林 24
桂小林 24 (2)程序控制输入接口 MOV DX,221H ;开关K的端口号 IN AL,DX ;检测开关K的状态 TEST AL,1000 0000B ;比较D7位 JNZ OPEN ;D7位不为零,未闭合,转OPEN JMP CLOSE ;开关闭合,转CLOSE (3)程序控制输入、输出接口 ◼ 对于上面的例子,开关电路(开关K)通过74LS244连接到数据总线D7上。如 果当开关闭合时,才点亮所有的LED,则完成上述功能的具体8086程序段如下: MOV DX,221H ;开关K的端口号 IN AL,DX ;检测开关K的状态 TEST AL,1000 0000B ;比较D7位 JNZ QUIT ;D7位不为零,未闭合,退出 MOV DX,220H ;D7位为零,开关闭合 MOV AL,1111 1111B ;高电平点亮发光二极管 OUT DX,AL ;点亮所有发光二极管
5.3.2中断控制方式接口设计 中断控制方式有时也归结为程序控制的一种,本书 将其单独列出,方便讲解。 n中断控制相比上节介绍的程序控制,需要更多的硬 件参与,因而电路更加复杂,需要专门的芯片来完 成中断系统的控制功能 在8086系统中,典型的中断控制芯片为 Intel 8259A。 中断控制的基本思想是:当cPU需要进行输入/输 出时,cPU暂停正在执行的程序,转至另一服务程 序去处理这一输入/输出操作,待处理完毕后返回 原程序继续执行 桂小林 25
桂小林 25 5.3.2 中断控制方式接口设计 ◼ 中断控制方式有时也归结为程序控制的一种,本书 将其单独列出,方便讲解。 ◼ 中断控制相比上节介绍的程序控制,需要更多的硬 件参与,因而电路更加复杂,需要专门的芯片来完 成中断系统的控制功能。 ◼ 在8086系统中,典型的中断控制芯片为Intel 8259A。 ◼ 中断控制的基本思想是:当CPU需要进行输入/输 出时,CPU暂停正在执行的程序,转至另一服务程 序去处理这一输入/输出操作,待处理完毕后返回 原程序继续执行