微机原理与接口技术第七章习题课件
合集下载
《微机原理及接口技术》第七章
数。计数过程中,新装入值不影响原计数过程。计数为偶数,计数器减2,到
0,OUT改变,计数值重新装入,反复工作。为奇数,则第一次减1,以后减2。
10/20
一、8253的工作方式5
1、000:方式 0(计数结束产生中断)
第七章、可编程计数/定时控制器8253
本章要点:
计数器/定时器基本概念 可编程计数器/定时器8253的工作原理 可编程计数器/定时器8253结构、功能 可编程计数器/定时器8253的应用
2/20
7.1 可编程计数/定时控制器8253的结构
一、可编程计数/定时控制器
在微机应用系统中,常常要求有一些实时时钟,以实现对外部事件进行定时或 对微机外部输入的脉冲进行计数。一般有3种方法可实现定时/计数的要求。
按照CPU发来的读写信号及地址信号产生相应的控制信号,
来选择读/写操作的端口、控制数据的传送方向,以及对控制寄存器的写入。
3、控制字寄存器: 控制字寄存器是8位的,只能写不能读。
在初始化编程时,CPU写入方式控制字到控制字寄存器中,
用以选择计数通道及其相应的工作方式。
4、计数器0、计数器1、计数器2: 内部结构相同、功能相同,有各自独立的端口地址。
1、软件方法 通过编制一个延时程序段让微处理器执行,利用执行程序所需时钟状态,得到定 时的时间。这种方法通用性和灵活性好,但占用CPU时间。 2、不可编程的硬件方法 采用分频器、单稳电路或简易定时电路控制定时时间,例如555定时电路,这种 方法不占用CPU时间,但通用性、灵活性差。 3、可编程计数器/定时器方法 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,可由软件 设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。
课件:微机原理与接口技术7章
输入输出传送方式
• 查询式传送(异步传送方式)
– 这种方式,CPU要遵循“先查询,后传送”的 原则,保证只有在外设已经是在“准备好”状 态,才开始传送数据。
– 查询式传送的一般流程: • 先从状态口读入状态字; • 如果状态是“准备好”,开始传送; • 如果状态是“没有准备好”,则继续查询,直 到“准备好”,开始传送。
微机原理与接口技术
第七章 微型计算机和外设间的数据传输
第七章 微型计算机外设间的数据传输
概述
• 把外部设备同计算机连接起来实现数据传 送的控制电路称为I/O接口电路,简称 I/O 接口。
I/O接口
(1)转换信息格式——例如串/并、并/串转换等; (2)提供联络信号——协调数据传送的状态信息,如设备
输入输出传送方式
• 查询方式的优点:CPU和外设之间可以很好 地配合工作 。
• 缺点:CPU要长期地查询外设的状态,查询 实际上就是一种等待。CPU长期的等待会影 响CPU的工作效率。
输入输出传送方式:中断
• 中断方式: 中断方式是由外设向CPU发出要求交换数据 的请求,即中断请求。CPU收到中断请求后, 中断当前的工作,为外设服务。服务结束 (输入或输出)后,继续原来的工作。
“就绪”、“忙”、“选通”、“应答”,数据缓冲器 “满”、“空”等; (3)协调定时差异——为协调计算机与外设在“定时”或 数据处理速度上的差异,使两者之间的数据交换取得同步, 有必要对传输的数据或地址加以缓冲或锁存; (4)进行译码选址——一般微机系统中都具有多台外设, 因此I/O接口必须提供设备地址译码以及确定其端口的功 能; (5)实现电平转换——外部电路采用的电平多种多样,包 括TTL, CMOS, RS-232等,接口电路必须提供计算机同外 设间的电平转换和驱动功能; (6)具备时序控制——有的接口电路具有自己的时序,以 满足计算机和各种外设在时序方面的要求。
微机原理与接口技术7-2
址,符合了8259A的编程要求。
注意:8086系统中数据总线为16位,CPU传送数据时,低8 位数据总线传送到偶地址端口,高8位数据总线传送到奇地 址端口。当8位I/O接口芯片与8086CPU16位数据总线相连 接时,既可以连到低8位数据总线,也可以连到高8位数据 总线。
2019/10/11
9
3. 级联缓冲/比较器
什么时刻使ISR中对应位置“0”,就产生不同的中断结 束方式。
2019/10/11
23
① 普通EOI结束方式 在完全嵌套工作方式下,任何一级中断处理结束返回上 一级程序前,CPU向8259A传送EOI结束命令字,8259A 收到EOI结束命令后,自动将ISR寄存器中级别最高的置 “1”位清“0”(此位对应当前正在处理的中断)。
2019/10/11
20
③ 优先级自动循环方式 在优先级自动循环方式中,优先级别可以改变。
初始优先级次序规定为IR0、IR1、…、IR7,当任何一级中 断被处理完后,它的优先级别变为最低,将最高优先级赋给 原来比它低一级的中断请求,其它依次类推。
优先级自动循环方式适合用在多个中断源优先级相等的场合。
CPU向8259A发特殊EOI结束命令字,命令字中将当前要 清除的中断级别也传给8259A。此时,8259将ISR寄存器 中指定级别的对应位清“0”,它在任何情况下均可使用。
2019在自动AEOI方式中,任何一级中断被响应后,ISR寄存器 对应位置“1”,但在CPU进入中断响应周期,发第二个INTA 脉冲后,8259A自动将ISR寄存器中对应位清“0”。
应位清“0”。
2019/10/11
15
三、8259A的中断管理方式
1.8259A的编程结构
2019/10/11
注意:8086系统中数据总线为16位,CPU传送数据时,低8 位数据总线传送到偶地址端口,高8位数据总线传送到奇地 址端口。当8位I/O接口芯片与8086CPU16位数据总线相连 接时,既可以连到低8位数据总线,也可以连到高8位数据 总线。
2019/10/11
9
3. 级联缓冲/比较器
什么时刻使ISR中对应位置“0”,就产生不同的中断结 束方式。
2019/10/11
23
① 普通EOI结束方式 在完全嵌套工作方式下,任何一级中断处理结束返回上 一级程序前,CPU向8259A传送EOI结束命令字,8259A 收到EOI结束命令后,自动将ISR寄存器中级别最高的置 “1”位清“0”(此位对应当前正在处理的中断)。
2019/10/11
20
③ 优先级自动循环方式 在优先级自动循环方式中,优先级别可以改变。
初始优先级次序规定为IR0、IR1、…、IR7,当任何一级中 断被处理完后,它的优先级别变为最低,将最高优先级赋给 原来比它低一级的中断请求,其它依次类推。
优先级自动循环方式适合用在多个中断源优先级相等的场合。
CPU向8259A发特殊EOI结束命令字,命令字中将当前要 清除的中断级别也传给8259A。此时,8259将ISR寄存器 中指定级别的对应位清“0”,它在任何情况下均可使用。
2019在自动AEOI方式中,任何一级中断被响应后,ISR寄存器 对应位置“1”,但在CPU进入中断响应周期,发第二个INTA 脉冲后,8259A自动将ISR寄存器中对应位清“0”。
应位清“0”。
2019/10/11
15
三、8259A的中断管理方式
1.8259A的编程结构
2019/10/11
微机原理与接口技术课件(铁道大学)第7章(简版)_ppt课件
…
1 M B
FFFFH
I/ O 空 间 64 KB I/ O 端 口 2 I/ O 端 口 图7.2a I/O映射(I/O独立编址)
2018/11/16
第7章第8页共172页
第7章 输入和输出技术 在多CPU模式时,若访问存储器,则使MEMW或MEMR信 号有效;而访问I/O端口时,则使或信号有效。 优点是I/O端口不占用存储器的地址空间,使用专门的I/O 指令对端口进行访问,具有I/O指令短、执行速度快、译码简 单的优点。 缺点是专门的I/O指令功能相对较弱,一般只有传送功能, 而没有运算功能。Intel 80x86 CPU中,I/O端口和存储器是单 独编址的,采用专用的输入/输出指令访问端口。
2018/11/16
第7章第3页共172页
第7章 输入和输出技术 7.1.2 输入/输出指令及其寻址方式 在微型计算机系统中,端口的编址通常有两种不同的方式, 一是I/O端口与存储器单元统一编址;二是I/O端口独立编址。 1. I/O端口与存储器单元统一编址 I/O端口与存储器单元统一编址,也称为存储器映像 (Memory Mapped)I/O方式,既把每个I/O端口都当作一个存储器 单元看待,I/O端口与存储器单元在同一个地址空间中进行统一 编址。通常,是在整个地址空间中划分出一小块连续的地址分配 给I/O端口。被分配给I/O端口的地址,存储器不能再使用。内存 映射与I/O映射编址如图7.2所示。
2018/11/16
第7章第9页共172页
第7章 输入和输出技术 3. 输入/输出指令及其寻址 1) 8086/8088采用的IN和OUT指令 I/O指令可以采用8位(单字节)或16位(双字节)地址两种寻址 方式。如采用单字节作为端口地址,则最多可以有256个端口(端 口地址号从00H~FFH),并且是直接寻址(直接端口寻址)方式,
微机原理与接口技术课件 7.中断向量表(已看)
8259A的工作过程
8259A对中断请求的处理过程如下:
当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求INT 检测到第1个INTA信号后,置ISRi=1,IRRi=0 检测到第2个INTA信号后,把ISRi=1中最高优先级 的中断类型码 n 放到DB上
19
可编程中断控制器8259A
PIC,Programmable Interrupt
可对8个中断源实现优先级控制 (单个管8个) 可扩展至对64个中断源实现优 先级控制(9个管64个) 可编程设置不同工作方式(多套 管理方案) 根据中断源向x86提供不同中断 类型码n(来访者1人1号) 引脚分配及功能见右图
的中断;
内部中断:由处理器电路或中断指令产生的中断,
如除0中断,int指令等。
4
8086的中断向量表
存放各类中断的中断服务程序的入口地址CS:IP(段 CS和偏移IP)——中断向量 表的地址位于内存的00000H~003FFH,大小为 1KB,共256个中断向量(中断向量表) 每个中断向量占用4 Bytes,低字为段内偏移IP,高 字为段基址CS 根据中断类型号n获得中断服务程序入口的方法: 中 断向量在IVT中的存放地址=4×n (中断向量地址)
中断指令 INT n
(n=0~255)
软件 硬件
外部/硬件中断请求
2
NMI
非屏蔽中断请求
可 屏 蔽
中 断 请 求
11
DB
3 中断逻辑
n 中断控 制器 8259A PIC
0
1
单步中断
内部排队 中断开关
微机原理与接口技术课件PPT
返 回
7.1.1 中断、中断源及中断系统
1.中断 在CPU正常运行程序时,由于内部事件、外 部事件或由程序预先安排的事件所引起的 CPU暂时停止正在运行的程序,而转去执行 请求CPU服务的内部/外部事件或预先安排事 件的服务程序,待服务程序处理完毕后又返回 去继续执行被暂停的程序 2.中断源 发出中断请求的外部设备或引起中断的内部原 因称为中断源
返 回
7.2.4 8086的中断响应过程
1.内部中断响应过程 2.外部中断响应过程
1.内部中断响应过程
过程: (1)将类型号乘4,计算出中断向量的地址; (2)CPU的标志寄存器入栈,以保护各个标志位, 此操作类似于PUSHF指令。 (3)清除IF和TF标志,屏蔽新的INTR中断和单 步中断。 (4)保存断点,即把断点处的IP和CS值压入堆 栈,先压入CS值,再压入IP值。 (5)根据第一步计算出来的地址从中断向量表 中取出中断服务程序的入口地址(段和偏移), 分别送至CS和IP中。 (6)转入中断服务程序执行。
例7-2
将中断服务程序的入口地址直接写入中断向量表。
┇ MOV MOV MOV MOV MOV MOV MOV ┇ AX,00H ES,AX BX,60H*4 ;中断号×4→BX AX,OFFSET_INTR ;中断服务程序偏移值→AX ES:[BX],AX ;装入偏移地址 AX,SEG_INTR ;中断服务程序的段基址→AX ES:[BX+2],AX ;装入段基址
T1
T2
INTA T3
周期
第二个总线
T4
T1
T2
INTA T3
周期
T4
图7-5 8086对INTR的中断响应时序
微机原理与接口技术_第7章8253
15
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表
清华大学出版社微机原理与接口技术(第3版)第7章
IOW
IOR
A1
A0 高
位 地
译码器
址
8253
D0~D7 WR CLK RD GATE A1 OUT A0 CS
精选2021版课件
外部时钟 门控信号
外设
16
应用中的注意点
每一次启动计数,需有两次写操作:
写控制字 写计数器初值
如果初值为8位字长,则一次写入;若初值为16位字长,则 初值
初始化CNT2
精选2021版课件
19
初始化程序流程
写入全部计数器控制字 写CNT0计数初值 写CNT1计数初值
原则:
先写入控制字 后写入计数初值
写CNT2计数初值
精选2021版课件
20
8253应用例一
采用8253作定时/计数器,其接口地址为 0120H~0123H。
设计系统线路图,要求用138译码器设计译码电路;
编写8255初始化程序及启动、测试和报警控制程 序
精选2021版课件
47
地址范围:
0001 0000 0010 00XX
IOW
&
IOR
A15 A14 A13 A11
┇
A6
≥1
A12
&
A5
A4 A3 A2
D0 ~ D7
IOR IOW
A1 A0
G1
精选2021版课件
11
工作方式
方式4
软件启动,不自动重复计数。 计数结束输出一个CLK宽度的低电平
方式5
硬件启动,不自动重复计数 波形与方式4相同
精选2021版课件
12
工作方式小结
需要两个写脉冲
两条OUT指令
精品课件-微型计算机原理及接口技术-第7章_2
74LS74
D CLK Pr CLR
8237DMA的 DREQ0
到盒式磁带电路 到8255的PC5 +5 V
4.7 k 到speaker驱动电路
PB1 8255 端口61
speaker数据
74LS38 集电极开路门
图7.24 PC机中8253的连
19
7.2 可编程定时器8253 五、8253的初始化及应用
初始化顺序: 【方法1】 逐个对计数器进行初始化。 【方法2】 先写所有计数器的方式字,再装入各计数器的计数值。
20
. .
图 7
25
写入方式控制字
一 个 计 写入计数值低字节 数 器 的 写入计数值高字节 初 始 化 顺 序
序图 7 26
另 一 种 初 始 化 编 程 顺
写方式控制字(计数器0) 写方式控制字(计数器1) 写方式控制字(计数器2) 写计数值低字节(计数器1) 写计数值高字节(计数器1) 写计数值低字节(计数器2) 写计数值高字节(计数器2)
; 写入控制寄存器,01 01 010 0
; 写低字节
; 计数值:18 ; 频率发生器
电路图 控制寄存器
PCLK经二分频后,频率为1.19318MHz,则负脉冲间隔时间:
18×(1 / 1.19318)μs = 15 μs
→ DRAM 刷新
23
7.2 可编程定时器8253 五、8253的初始化及应用
; 写低字节 ; ; 计数值:65536 ; 输出对称ቤተ መጻሕፍቲ ባይዱ波
电路图 控制寄存器
22
7.2 可编程定时器8253 五、8253的初始化及应用
在IBM公布的软件BIOS中,对8253初始化的程序:
MOV AL, 54H
微机原理与接口技术第七章.ppt
用户编程原则 ①尽可能使用DOS的系统功能调用,
提高程序可移植性。 ②在DOS功能不能实现情况下,
考虑用BIOS功能调用。 ③在DOS和BIOS的中断子程不能解决问题时,
使用IN/OUT指令直接控制硬件。 3
1. 调用方法
设置入口参数
在AH设置功能号m 执行中断指令INT N
分析、应用出口参数
4
2、DOS功能调用要注意的问题 使用DOS功能调用还要注意下列问题: (1)从键盘输入的字符由系统自动转换为ASCII码, 在进行数据处理时要特别注意; (2)需要在屏幕上显示的字符要在程序中将其转 换为ASCII码。
stri DB ‘Tsinghua University’, ‘$’
data ENDS
code SEGMENT
ASSUME CS:code, DS:data
start: MOV AX, data ; 置 缓 冲 区 地 址 于
DS:DX
MOV DS, AX
LEA DX, stri
MOV AH, 09H
;定义缓冲区 ;定义限制最多输入个数 ;用于存放实际输入个数 ;用于存放输入的字符串
从键盘输入‘ABCD’, 回车,内存的存放结果:
地址
0 1 2 3 4 5 6 7 8 9 0a 0b 0c 0d 0e 0f
内容
0B 04 41 42 43 44 0D 00 00 00 00 00 00 00 00 00
INT 21H
MOV AH, 4CH
INT 21H
;返回DOS
code ENDS
END start
2
PC—DOS是IBM PC微型计算机的磁盘操作系统。 它为用户提供了许多命令,也有80多个子程序可供用 户调用。这些子程序的功能主要是实现对存储器和基 本I/O设备的管理等。为了便于调用将所有子程序顺 序编号,如PC DOS2.0有87个子程序,编号从0开始到 57H。
提高程序可移植性。 ②在DOS功能不能实现情况下,
考虑用BIOS功能调用。 ③在DOS和BIOS的中断子程不能解决问题时,
使用IN/OUT指令直接控制硬件。 3
1. 调用方法
设置入口参数
在AH设置功能号m 执行中断指令INT N
分析、应用出口参数
4
2、DOS功能调用要注意的问题 使用DOS功能调用还要注意下列问题: (1)从键盘输入的字符由系统自动转换为ASCII码, 在进行数据处理时要特别注意; (2)需要在屏幕上显示的字符要在程序中将其转 换为ASCII码。
stri DB ‘Tsinghua University’, ‘$’
data ENDS
code SEGMENT
ASSUME CS:code, DS:data
start: MOV AX, data ; 置 缓 冲 区 地 址 于
DS:DX
MOV DS, AX
LEA DX, stri
MOV AH, 09H
;定义缓冲区 ;定义限制最多输入个数 ;用于存放实际输入个数 ;用于存放输入的字符串
从键盘输入‘ABCD’, 回车,内存的存放结果:
地址
0 1 2 3 4 5 6 7 8 9 0a 0b 0c 0d 0e 0f
内容
0B 04 41 42 43 44 0D 00 00 00 00 00 00 00 00 00
INT 21H
MOV AH, 4CH
INT 21H
;返回DOS
code ENDS
END start
2
PC—DOS是IBM PC微型计算机的磁盘操作系统。 它为用户提供了许多命令,也有80多个子程序可供用 户调用。这些子程序的功能主要是实现对存储器和基 本I/O设备的管理等。为了便于调用将所有子程序顺 序编号,如PC DOS2.0有87个子程序,编号从0开始到 57H。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;设置类型号52H的中断向量
;设置类型号54H的中断向量
8
(2)8259A初始化编程:设8259A的端口地址为FFC8H和FFC9H
MOV AL,00010011B(13H);定义ICW1,单独使用,边沿触发 MOV DX,0FFC8H
OUT MOV MOV
DX,AL AL,50H DX,0FFC9H
A2H IP
00H 00H
CS 08H 40H
PSW 02H
堆栈
指令INT 9为双字节指令,因此下一条指令的地址为0800H:00A2H;
9×4=36(24H),中断向量表地址00024H中取得0060HIP,00026H 中取得1000HCS,即执行指令INT 9后,CS=1000H,IP=0060H。
22:58:03
6
14. 50H×4=00140H
20H
IR0 类型号50H
50H
00H
10H
…
52H×4=00148H
00H
IR2 类型号52H
61H
00H
10H
…
54H×4=00150H
50H
IR4 类型号54H
32H
00H
10H
中断向量表
22:58:03
7
(1)中断向量表形成
MOV AX,1000H
转入执行中断服务子程序;恢复现场和中断返回。
CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以
下工作:
⑴从数据总线上读取中断类型号,将其存入内部暂存器。
⑵将标志寄存器PSW的值入钱。
⑶将PSW中的中断允许标志IF和单步标志TF清0,以屏蔽外部其它中断
请求,避免CPU以单步方式执行中断处理子程字。
9
(3)中断服务子程序 PUSH AX …… STI …… CLI MOV AL,20H MOV DX,0FFC8H OUT DX,AL …… POP AX IRET
22:58:03
;保护现场
;开中断 ;中断处理 ;关中断 ;定义OCW2,普通EOI结束命令
;恢复现场 ;中断返回
10
16. 83H×4=0020CH 94H×4=00250H A4H×4=00290H
不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期 高电平有效。不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等 紧急情况,CPU必须予以响应。
22:58:01
2
4. 【答】:CPU响应中断要有三个条件:外设提出中断申请;本中断位未
被屏蔽;中断允许。
可屏蔽中断处理的过程一般分成几步:中断请求;中断响应;保护现场;
22:58:03
…
…
00H 主片IR3,类型号为83H 18H 00H 20H
00H 1#从片IR4,类型号为94H 28H 00H 20H
00H 2#从片IR4,类型号为A4H 38H 00H 20H 中断向量表
3
5. 【答】:由于响应中断时CPU自动关闭中断(IF=0),故在中断服务 子程序中STI指令后方可实现中断嵌套。一般在中断服务子程序中保护现场后 即设置开中断指令STI(IF=1),以便实现中断嵌套。
6. 【答】:中断结束命令EOI后,清除中断服务寄存器中的标志位,即允 许响应同级或低级中断,为避免错误,一般将中断结束命令EOI置于中断服务 子程序结束前。
MOV DS,AX
MOV DX,5020H
MOV AL,50H
MOV AH,25H
INT 21H
MOV DX,6100H
MOV AL,52H
INT 21H
MOV DX,3250H
MOV AL,54H
INT
22:58:03
21H
;DS中为段地址 ;DX中为偏移地址 ;中断类型号为50H ;设置类型号50H的中断向量
微机原理与接口技术
第七章作业习题课
2020年5月5日星期二
P302 1. 【答】:当CPU正常运行程序时,由于微处理器内部事件或外设请求,
引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断 服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中 断。
可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的 高电平必须维持到CPU响应中断才结束。可以通过软件设置来屏蔽外部中断, 即使外部设备有中断请求,CPU可以不予响应。当外设有中断申请时,在当 前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中 断;若IF=1,CPU就允许响应外设的中断请求。
7. 【答】:中断向量表又称中断服务程序入口地址表。将每个设备的中
断服务程序入口地址(矢量地址)集中,依次放在中断向量表中。当CPU响应中
断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务
程序的入口地址送到段寄存器和指令指针寄存器,CPU转入中断服务子程序。
这样大大加快中断处理的速度。 8086/8088系统允许处理256种类型的中断,
;发ICW1命令 ;IR0的中断类型号为50H
OUT MOV OUT
DX,AL AL,00000001B DX,AL
;发ICW2命令 ;定义ICW4,完全嵌套,非缓冲
MOV AL,11101010B(0EAH);定义OCW1,允许IR0、IR2、
OUT DX,AL
;IR4中断,其余中断请求屏蔽
的00000H~003FFH,占1K字节空间,用作存
放中断向量。每个类型号占4个字节,高2个字节存放中断入口地址的段地址,
低2个字节存放段内偏移地址。
22:58:01
4
10.
...
...
00024H 60H 00H
00026H 00H 10H
中断向量表
...
SP=00FAH SP=0100H
22:58:02
5
10.
标志寄存器 PSW
X X X X OF DF IF TF SF
ZF X AF X
PF X CF
执行INT 9前 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
执行INT 9后 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 PSW=0040H
⑷保护断点,将当前指令下面一条指令的段地址CS和指令指针IP的值入
栈,中断处理完毕后,能正确返回到主程序继续执行。
⑸根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子
程序。
⑹中断处理程序结束以后,从堆栈中依次弹出IP、CS和PSW,然后返回
主程序断点处,继续执行原来的程序。
22:58:01
;设置类型号54H的中断向量
8
(2)8259A初始化编程:设8259A的端口地址为FFC8H和FFC9H
MOV AL,00010011B(13H);定义ICW1,单独使用,边沿触发 MOV DX,0FFC8H
OUT MOV MOV
DX,AL AL,50H DX,0FFC9H
A2H IP
00H 00H
CS 08H 40H
PSW 02H
堆栈
指令INT 9为双字节指令,因此下一条指令的地址为0800H:00A2H;
9×4=36(24H),中断向量表地址00024H中取得0060HIP,00026H 中取得1000HCS,即执行指令INT 9后,CS=1000H,IP=0060H。
22:58:03
6
14. 50H×4=00140H
20H
IR0 类型号50H
50H
00H
10H
…
52H×4=00148H
00H
IR2 类型号52H
61H
00H
10H
…
54H×4=00150H
50H
IR4 类型号54H
32H
00H
10H
中断向量表
22:58:03
7
(1)中断向量表形成
MOV AX,1000H
转入执行中断服务子程序;恢复现场和中断返回。
CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以
下工作:
⑴从数据总线上读取中断类型号,将其存入内部暂存器。
⑵将标志寄存器PSW的值入钱。
⑶将PSW中的中断允许标志IF和单步标志TF清0,以屏蔽外部其它中断
请求,避免CPU以单步方式执行中断处理子程字。
9
(3)中断服务子程序 PUSH AX …… STI …… CLI MOV AL,20H MOV DX,0FFC8H OUT DX,AL …… POP AX IRET
22:58:03
;保护现场
;开中断 ;中断处理 ;关中断 ;定义OCW2,普通EOI结束命令
;恢复现场 ;中断返回
10
16. 83H×4=0020CH 94H×4=00250H A4H×4=00290H
不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期 高电平有效。不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等 紧急情况,CPU必须予以响应。
22:58:01
2
4. 【答】:CPU响应中断要有三个条件:外设提出中断申请;本中断位未
被屏蔽;中断允许。
可屏蔽中断处理的过程一般分成几步:中断请求;中断响应;保护现场;
22:58:03
…
…
00H 主片IR3,类型号为83H 18H 00H 20H
00H 1#从片IR4,类型号为94H 28H 00H 20H
00H 2#从片IR4,类型号为A4H 38H 00H 20H 中断向量表
3
5. 【答】:由于响应中断时CPU自动关闭中断(IF=0),故在中断服务 子程序中STI指令后方可实现中断嵌套。一般在中断服务子程序中保护现场后 即设置开中断指令STI(IF=1),以便实现中断嵌套。
6. 【答】:中断结束命令EOI后,清除中断服务寄存器中的标志位,即允 许响应同级或低级中断,为避免错误,一般将中断结束命令EOI置于中断服务 子程序结束前。
MOV DS,AX
MOV DX,5020H
MOV AL,50H
MOV AH,25H
INT 21H
MOV DX,6100H
MOV AL,52H
INT 21H
MOV DX,3250H
MOV AL,54H
INT
22:58:03
21H
;DS中为段地址 ;DX中为偏移地址 ;中断类型号为50H ;设置类型号50H的中断向量
微机原理与接口技术
第七章作业习题课
2020年5月5日星期二
P302 1. 【答】:当CPU正常运行程序时,由于微处理器内部事件或外设请求,
引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断 服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中 断。
可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的 高电平必须维持到CPU响应中断才结束。可以通过软件设置来屏蔽外部中断, 即使外部设备有中断请求,CPU可以不予响应。当外设有中断申请时,在当 前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中 断;若IF=1,CPU就允许响应外设的中断请求。
7. 【答】:中断向量表又称中断服务程序入口地址表。将每个设备的中
断服务程序入口地址(矢量地址)集中,依次放在中断向量表中。当CPU响应中
断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务
程序的入口地址送到段寄存器和指令指针寄存器,CPU转入中断服务子程序。
这样大大加快中断处理的速度。 8086/8088系统允许处理256种类型的中断,
;发ICW1命令 ;IR0的中断类型号为50H
OUT MOV OUT
DX,AL AL,00000001B DX,AL
;发ICW2命令 ;定义ICW4,完全嵌套,非缓冲
MOV AL,11101010B(0EAH);定义OCW1,允许IR0、IR2、
OUT DX,AL
;IR4中断,其余中断请求屏蔽
的00000H~003FFH,占1K字节空间,用作存
放中断向量。每个类型号占4个字节,高2个字节存放中断入口地址的段地址,
低2个字节存放段内偏移地址。
22:58:01
4
10.
...
...
00024H 60H 00H
00026H 00H 10H
中断向量表
...
SP=00FAH SP=0100H
22:58:02
5
10.
标志寄存器 PSW
X X X X OF DF IF TF SF
ZF X AF X
PF X CF
执行INT 9前 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
执行INT 9后 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 PSW=0040H
⑷保护断点,将当前指令下面一条指令的段地址CS和指令指针IP的值入
栈,中断处理完毕后,能正确返回到主程序继续执行。
⑸根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子
程序。
⑹中断处理程序结束以后,从堆栈中依次弹出IP、CS和PSW,然后返回
主程序断点处,继续执行原来的程序。
22:58:01