微型计算机原理及应用第7章课件_第1页
微型计算机原理及应用第7章课件_第2页
微型计算机原理及应用第7章课件_第3页
微型计算机原理及应用第7章课件_第4页
微型计算机原理及应用第7章课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第7章 中断及应用技术7.1. 中断系统 (1)中断 CPU正在执行某一段程序的过程中,如果外界或内部发生了紧急事件,要求CPU暂停正在运行的程序转去执行这个紧急事件的处理程序,待处理完后再回到被停止执行程序的间断点,继续执行原来被打断了的程序,这一过程称为中断。 (2)中断源 产生中断请求的事件叫中断源。 (3)中断请求 中断源向CPU发出的申请中断的信号。中断源只有在自身未被屏蔽情况下才能发中断请求。 (4)可屏蔽中断与不可屏蔽中断 所谓“屏蔽”是中断源的中断请求信号CPU拒绝响应。凡是微处理器内部能够“屏蔽”的中断,称为可屏蔽中断;凡是微处理器内部不能够“屏蔽”中断,称为不可屏蔽中断,

2、通常是由内部的中断触发器(或中断允许触发器)来控制的。 (5)中断优先权 CPU需要规定各个中断源的优先级,使CPU在多个中断源同时发出中断请求时能找到优先级最高的中断源。 (6)中断响应 CPU收到中断源的中断请求后,并不立即响应,而是在一定时刻、满足一定条件下,才能响应中断源的请求。 (7)中断源识别及中断判优 1)查询中断 中断源识别包括两个方面:确定中断源和找到该中断服务程序的首地址。 查询中断采用硬件电路与软件程序查询相结合的方式,来确定中断源及中断处理程序的人口地址。断源查询方式硬件原理示意图 : 设中断源的优先级由高到低的顺序为:ABCD 查询方式程序如下: INAL,IPORT

3、;从输入接口读取D0D3.TESTAL,01H;是设备A请求吗?JNZA;是,转设备A中断服务程序.TESTAL,02H;否,是设备B请求吗?JNZB;是,转设备B中断服务程序.TESTAL,04H;否,是设备C请求吗?JNZC ;是,转设备C中断服务程序.TESTAL,08H;否,是设备D请求吗?JNZ D ;是,转设备D服务程序. 2)中断优先级编码 通过硬件设置中断优先级编码电路见图6-12。 (8) 中断过程 中断过程主要包括: 中断请求; 中断判优; 中断响应; 中断处理(执行中断服务程序); 中断返回。7.1.2 . 80 x86中断系统 (1)8086中断源 8086中断系统的中

4、断源分为两大类:内部中断和外部中断, 1)内部中断 由CPU本身启动或执行中断指令产生的中断称为内部中断。 内部中断是不可屏蔽中断,其中断源为两种情况:执行软件中断指令(INT n)产生的中断;由硬件自动产生中断请求,然后通过调用中断指令产生的中断。 2)外部中断 外部中断是由外部设备作为中断源发出请求信号引起的中断。 可屏蔽中断: 在80 x86系统中,可屏蔽中断由外部设备的中断请求信号,通过中断控制器8259输出高电平触发CPU引脚INTR。当中断允许标志位IF=1,CPU才能响应INTR的中断请求。 不可屏蔽中断:所谓不可屏蔽中断就是CPU必须响应的中断,该中断不受中断允许标志位IF限制

5、,不可屏蔽中断由中断源的中断请求信号以电压正跳变(即边沿触发)方式触发CPU引脚NMI。这种中断一旦产生,在CPU内部直接产生中断类型号为2的中断。(2)中断向量表 8086系统提供支持最多256种不同的中断,为了便于管理和方便编程,256种中断分别以0255的序号表示中断的类型号(如除法出错为0号中断,NMI为2号中断等)。 每一种类型的中断,都必须有相应的中断处理程序,中断服务程序的入口地址称为中断向量。 每个中断向量占用存储单元4个字节,前两个字节(低位在前高位在后)存储中断服务程序人口地址的16位段内地址(即偏移量IP),后两个字节(低位在前高位在后)存储中断服务程序人口地址的16位段

6、地址(即段地址CS)。按照中断类型码由小到大的顺序,把256个中断的中断向量集中地存放在连续的存储空间中,这个存储空间称为中断向量表。 中断向量表固定存放在存储器的地址为: 0000:00000000:03FFH的低端空间; 共2564=1024个字节。 中断向量地址中断向量在中断向量表中的存储地址。中断类型号n与中断向量地址的关系式: 中断向量地址n4 例如,1AH类中断,其中断向量地址应为n41AH4=68H。 (3)中断类型号的获取 8086CPU在响应中断后,必须获取该中断的中断类型码。 对于可屏蔽中断由CPU的引脚INTR引入,其中断类型号由中断控制器芯片8259(下面介绍)在初始化

7、编程时确定。 内部中断和异常处理及非屏蔽中断时,系统自动产生中断类型号并转入相应的中断处理程序入口。 对于软件中断INT n指令,指令中n即为中断类型码。 例如,某中断源向CPU发出中断请求并给出给出中断类型码n,由于每个中断向量占用4个字节单元,故类型码为n的中断向量在中断向量表中存储单元的地址为n4,CPU找到该地址对应的4个内存字节单元,将前2字节单元送入IP,后两字节单元的内容送入CS后,由此转入中断服务程序。 7.2 8259A可编程中断控制器 80 x86系统采用专用的中断控制器芯片8259A实现外部中断与CPU的接口功能。 1. 8259A中断控制器逻辑功能 1)一片8259A可

8、管理8个中断请求,具有八级优先权控制。可以通过对8259编程进行指定,并把当前优先级最高的中断请求送到CPU的INTR端。 2)可通过多个8259A的级连。 3)对任何一级中断可实现单独屏蔽。 4)当CPU响应中断时,向CPU提供相应中断源的中断向量。 5)具有多种优先权管理模式,且这些管理模式多能动态改变。 2. 8259A内部结构及引脚功能 8259A的内部逻辑结构: 中断请求寄存器(IRR) 优先级分析器 中断服务寄存器(ISR) 中断屏蔽寄存器(IMR) 数据总线缓存器、读/写控制电路 级联缓冲器/比较器. 见教材图6-16。 3. 8259A编程 8259A有两种寄存器可以通过编程实

9、现对8259的初始化设置和工作方式的选择。 (1)初始化命令字寄存器 8259A在开始工作之前,必须进行初始化编程。 初始化编程主要包括以下内容: 设置中断请求的触发方式(电平触发或边沿触发); 设置8259A是单片工作方式还是多片级联工作方式、 是主片还是从片; 设置中断源的中断类型码(只需设置IRQ0的中断类型码); 8259A共有4个初始化 命令字,它们必须按顺序填写,且ICW1写在8259A偶地址端口中,其余3个写于8259A奇地址端口中 。 ICW1:决定8259A的工作方式; ICW2:设定可屏蔽中断的中断类型码(高5位); ICW3:用于级联方式; ICW4:设定8259A的优先

10、级管理方式,EOI方式等 【例】设8259A的偶地址端口为80H、奇地址端口为81H、单片使用、上升边沿触发。初始化程序为:MOV AL,13H;设置ICW1OUT 80H,AL;MOV AL,60H;设置 ICW2 (中断类型码为60H67H)OUT 81,AL (2)操作控制字寄存器OCW1OCW3: 在初始化编程后,8259A就可以开始工作, CPU可以向8259A发出一些控制命令,这些控制命令称为操作命令字,它们存放在寄存器OCW1,OCW2和OCW3中。 OCW1:用来设置中断源的屏蔽状态; OCW2:用来设置中断结束的方式和修改为循环方式的中断优先权管理方式; OCW3:用来设置特

11、殊屏蔽方式和查询方式,并用来控制8259A内部状态字IRR,ISR的读出。 4.基于Protues软件的8259接口电路仿真调试在计算机接口电路中,通常可以采用Protues仿真软件环境对其进行软硬件仿真调试。在已经安装Protues软件(本节为Proteus7.10版本)的计算机系统中,可以在桌面双击ISIS 7 Professional快捷方式图标 ,或者单击按钮“开始”“所有程序”“Proteus 7 Professional”“ISIS 7 Professional”, ISIS程序启动之后,弹出主工作窗口。如图7-11所示。例:8259外部中断控制74LS273接8只LED灯移动点亮

12、 图7-12 8259A中断控制LED灯仿真原理图汇编语言源程序见P223 7.3 中断应用 1. ROM BIOS中断调用 BIOS(Basic I/O System)即基本输入/输出系统。在80 x86微机系统中,BIOS被固化在为0FE000H开始的8KB的ROM区,又称ROM BIOS。 BIOS中断服务程序的调用步骤为: 在AH寄存器中设置需要调用的中断服务程序的功能号。 设置中断服务程序的入口。 通过INT n指令调用BIOS处理程序,n为中断类型码。 有些处理程序结束后,可以取得出口参数。 【例】指令:INT 16H,AH=0,功能:从键盘读入一个字符送人AL。 人口参数:AH=

13、0 出口参数:AL 指令段: MOV AH, 0;功能0 INT 16H;从键盘输入一个字符, 该 字符的ASCII码送人AL. 2. DOS系统功能调用 DOS(操作系统)系统功能调用为程序员提供的80多个常用子程序,可在汇编语言程序中直接调用。 DOS系统功能调用步骤为: 在AH寄存器中设置调用子程序的功能号。 根据所调用功能号设置入口参数。 系统功能调用INT 21H指令转入子程序入口。 子程序运行完毕后,按规定取得出口参数。 【例】功能号AH=2,功能:将DL寄存器中的ASCII字符送屏幕显示。 人口参数:AH=0 ,DL的内容为字符的ASCII码。 指令段: MOVDL, A;欲显示字符 MOVAH, 2; INT 21H;屏幕显示字符A. DOS系统功能调用中AH=25H的功能为:设置中断向量表,其参数如下: 设置中断向量: 人口参数:AH=25H AL=中断类型号 DS:DX=中断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论