




免费预览已结束,剩余82页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,3. 8251a的引脚功能,接收器引脚功能 rxd:数据接收端,用来接收外部输入的数据。 syndet/brkdet:同步检测/间断检测信号 rxrdy:接收器准备就绪信号。当接收缓冲器中已经装配好一个完整的数据字节时,rxrdy变为高电平,用来通知cpu读取数据。当cpu用输入指令取走数据后,8251a便立即将rxrdy位置0。采用中断方式时,该信号可作为中断请求信号。,2,3,4,3. 8251a的引脚功能,接收器引脚功能 rxd:数据接收端,用来接收外部输入的数据。 syndet/brkdet:同步检测/间断检测信号 rxrdy:接收器准备就绪信号。当接收缓冲器中已经装配好一个完整的数据字节时,rxrdy变为高电平,用来通知cpu读取数据。当cpu用输入指令取走数据后,8251a便立即将rxrdy位置0。采用中断方式时,该信号可作为中断请求信号。,5,第三章 中断控制接口,6,第一节 中断系统概述,一、中断 由于某个内部或外部的事件发生,cpu中断当前正在执行的程序,而转去执行处理该事件,处理完后,再回到原程序继续执行,这过程称为中断 。,中断系统的作用 在各种微型计算机系统中,常利用中断机制来处理cpu与外部设备之间的数据传送,以最少的响应时间和内部操作来实现外设的服务请求。 中断是处理来自内部异常故障的重要手段。,7,二、中断源和中断请求 i/o设备或事件需要cpu中断处理时,必须向cpu发出中断请求信号。 中断源:引起中断的原因,或能够向cpu发出中断请求的中断来源。 在计算机系统中,中断源一般分为如下几种: 1.一般的i/o设备,如键盘、打印机、通信接口等 2.数据通道中断源,如磁盘机、磁带机 3.实时时钟 4.故障源 5.为调试程序而设置的中断源,8,三、中断系统功能 实现中断与返回: 发现中断请求、响应中断请求、执行中断服务程序、中断返回。 实现中断与返回的过程称为中断响应。 能实现优先级排队: 当系统中有多个中断时,有可能出现两个或两个以上的中断源同时提出中断请求,这时要求cpu根据中断优先权由高到低依次处理。,9,(3)中断嵌套: cpu在处理较低级的中断时,可能会有较高的中断请求出现。这时应暂停较低级中断的处理,而转去处理较高级的中断。当较高级的中断处理完成之后,再继续处理被暂停的较低级中断。,10,11,四、中断响应 1.cpu响应中断的条件: 需满足以下四个条件,cpu才能响应这个中断请求: (1)cpu侧 cpu开放中断。即cpu内部设置的中断允许触发器=1 此触发器可用开中断指令(sti)置1,用关中断指令(cli)清0。实际上就是标志寄存器中的if位=1,表示cpu可以响应中断。 cpu在当前指令结束后才响应中断。,12,(2)中断源侧 中断源发出中断请求信号,并置位保存该状态。 中断请求没有被屏蔽。每个中断源都设有一个中断屏蔽触发器,它由cpu来控制。当cpu允许某个中断源申请中断时,该触发器复位;当cpu禁止某中断源申请中断时,该触发器置位。,13,2.cpu响应中断及处理过程 满足上述条件后,cpu响应中断,转入中断周期,并完成以下操作: (1)关中断:cpu响应中断时,发出中断响应信号inta,同时内部自动地关中断(if=0),以禁止接受其他的中断请求,以免破坏当前中断服务的现场。 (2)保留断点:把断点处的指令指针ip值和cs值压入堆栈,以便中断处理完成后正确地返回主程序断点。一般由硬件完成。 (3)给出中断服务程序入口,转入并执行中断服务程序。,14,(4)保护现场:保存断点只是让程序能返回到原来的地方。为了使中断服务程序不破坏主程序的参数与状态,还要把断点处cpu某些寄存器(psw)的内容推入堆栈加以保护。一般由软件完成。 (5)开中断:以便在执行中断服务程序时,cpu能响应较高级的中断请求,实现中断嵌套。 处理i/o操作 (6)恢复现场:将压入堆栈的有关寄存器的内容弹出。 (7)中断返回:在isr的最后,放一条中断返回指令iret,以便从isr返回主程序。将堆栈内的断点值弹出。,(2)保留断点:把断点处的指令指针ip值和cs值压入堆栈,以便中断处理完成后正确地返回主程序断点。一般由硬件完成。,15,16,newint80h proc ;内部中断服务程序 sti ;开中断 push ax ;保护现场 push bx push cx push si mov si,offset intmsg ;获取显示字符串首地址 mov cx,sizeof intmsg disp: mov al,cs:si ;获取显示字符(该字符是在代码段,故使用cs前缀) . loop disp pop si ;恢复现场 pop cx pop bx pop ax iret ;中断返回 intmsg db i am great !,0dh,0ah ;中断的显示信息 newint80h endp ;中断服务程序结束 end,17,第二节 86系列微机的中断系统,18,一、中断分类,19,1.外部中断:由外部硬件产生,又称硬件中断。 (1)可屏蔽中断 通过cpu的intr引脚引入,电平触发,高电平有效,且必须保持到当前指令结束。因为cpu只在每条指令的最后一个时钟周期采样intr引脚。 可屏蔽中断受标志寄存器的if控制。if=0时,cpu不响应intr的中断请求;if=1时,cpu响应intr的中断请求,开始一个“中断响应周期”。 可以用指令改变if的状态:sti开中断,cli关中断。 (2)非屏蔽中断 通过cpu的nmi引脚引入,上升沿触发,由cpu内部锁存,但要求高电平持续两个时钟周期以上。该中断请求不受中断允许标志位if控制。无论if如何,只要nmi信号有效,cpu即在当前指令结束后,响应该中断。nmi中断类型号为2。,20,2.内部中断:由cpu执行指令的产生,又称软件中断。 (1)除法出错: 当算术运算中遇到除数为0,或对带符号数进行除法运算时所得商超出规定范围,cpu自动产生该中断,立即转入相应的中断服务程序。该中断类型号为0。 (2)单步中断 通过受标志寄存器中tf标志位控制。当tf=1,cpu自动产生单步中断。cpu每执行一条指令,就进入一次单步中断服务程序。该中断类型号为1。,21,(3)断点中断int 在8086/8088指令系统中有一条设置程序断点的单字节中断指令int,类型号为3。执行该指令时,cpu产生类型号为3的内部中断,而转去执行一个断点中断服务程序。其功能是显示cpu内容寄存器的内容,并给一些提示信息。 (4)溢出中断into 在8086/8088指令系统中有一条单字节指令into。cpu执行该指令时,cpu产生类型号为4的内部中断。 该指令总是跟在带符号数进行加、减运算的指令后面。若of=1时,执行溢出中断,进入溢出中断服务程序,给出出错信息,若of=0(无溢出),也进入该中断服务程序,但只对标志位进行测试后,就返回原程序继续执行。 (5)用户定义的软件中断 8086/8088系统的双字节的指令int n,可由用户自己定义一个中断,类型号为n。,22,内、外部中断的优先权排队 8086/8088中断系统规定,除了单步中断以外,所有内部中断的优先权均高于外部中断。所有中断的优先权顺序如表所示。另外,除了单步中断外,所有内部中断都不能被屏蔽。,23,二、 中断向量与中断向量表,1、定义 中断向量:就是中断服务程序的入口地址。 中断向量表(ivt):把系统中所有的中断向量集中起来,按中断类型号从小到大的顺序放到存储器的某一个区域内。这个存放中断矢量的存储区为中断向量表。 中断描述符、中断描述符表(idt),24,2.8086的中断向量表 8086/8088cpu的中断向量表占用内存00000h003ffh最低端1kb的存储空间,存放了中断类型号0255共256级中断的入口地址。 每个地址占用4个字节,其中低地址的2个字节为ip(偏移地址),高地址的2个字节为cs(段基址)。,25,3.中断向量表的使用 cpu响应中断后,首先获得中断类型号n(内部产生或从数据总线读取),再通过类型号n4得到中断向量在中断向量表中的首地址,顺序取出四个内存单元的内容(两个字),把第一个字送入ip,第二个字送入cs,即 (ip)(4n+1,4n), (cs)(4n+3,4n+2),从而使程序转向新的地址。 在8086/8088cpu的中断向量表中,类型04已由系统定义,用户不能修改。类型531是系统保留的中断,这是intel公司为软硬件开发保留的中断向量号,一般不允许用户改作其他用途。剩下的类型32255,中断向量表地址为00080003ffh,可供用户使用,26,8086引脚,27,第三节 8259a中断控制器,28,一、8259a的特性,nmos工艺,单一+5v电源,全静态工作(无需外加时钟) 1片8259a能管理8级中断 可用9片8259a级联成64级主从式中断系统 具有中断判优、中断屏蔽等功能 可编程选择不同的工作方式 自动向cpu提供中断类型号,29,二、8259a的内部结构,30,二、8259a的内部结构,中断请求寄存器irr irr是8位寄存器,用来接收来自外设中断源的中断请求。它通过ir7ir0与8个中断源相连。若iri=1时,irr的相应第i位置1。若最多有8个中断请求信号同时进入ir7ir0端,irr全被置1。 中断屏蔽寄存器imr imr是8位寄存器,用来屏蔽已被锁存在irr中的中断请求信号。当imr的第i位被置1时,相应的iri被屏蔽,不能进入系统的下一级优先权处理器去判优,不能向cpu发出中断请求。imr的值可通过软件设置或改变。,31,优先级分析器pr pr用于判别已进入irr中且未被imr屏蔽的各中断请求的优先级别。当多个中断请求同时产生时,优先权处理器pr根据imr的内容和用户设定的优先级规则,判断这些请求信号的最高级,向cpu输出中断请求信号int。若cpu响应中断,则将它送入中断服务寄存器isr。若8259a正为某一中断服务,而又出现新的中断请求,则pr判断新的中断请求级别是否更高。若是,则进入中断嵌套。 中断服务状态寄存器isr isr是8位寄存器,用来记录cpu当前正在为哪个或哪几个中断源服务。当cpu响应iri请求时,isr中相应位置1。当isr中的有多个“1”时,表明cpu正在为较低中断服务时,又有较高的中断请求,cpu又转去处理较高的中断,形成中断服务嵌套。,32,二、8259a的内部结构,控制逻辑 控制逻辑电路中有七个寄存器,其中icw1icw4用来存放初始化程序设定的工作方式字、管理8259a的工作;ocw1ocw3用来存放操作命令字,对中断处理过程进行动态控制。 控制逻辑电路有两个控制作用:一是根据irr,imr,pr的状态,通过int向cpu请求中断,二是接收来自cpu的inta信号,使isr相应位置1,且使irr 相应位置0,避免该中断源一次申请产生两次或两次以上中断。,33,8259a的引脚,34,8259a的引脚,8259a芯片引脚功能定义如下: d7d0:双向、三态数据线,可与系统的数据总线直接相连。 wr:写控制信号,输入,低电平有效。与控制总线上的信号相连。 rd:读控制信号,输入,低电平有效。与控制总线上的信号相连。 cs:片选信号,输入,低电平有效。cpu的高位地址经地址译码电路选中它。 int:中断请求信号,输出,高电平有效。是8259a向cpu输出的中断请求。,35,8259a的引脚,a0:地址选择信号,输入,用来选择内部端口。8259a只有两个端口地址,常把a0=0所对应的端口称为“偶端口”,把a0=1所对应的端口称为“奇端口”。当8259a与8位cpu8088相连时,其a0其可直接与8088的a0线相连。 inta:中断响应信号,输入,低电平有效。接收来自cpu的中断响应信号inta。 ir7ir0:外设向8259a发出的中断请求信号,输入,高电平有效。接收来自外设接口发出的中断请求。 cas2cas0:级联信号线,双向。当8259a作为主片时,为输出线;当8259a作为从片时,为输入线。 sp/en:主从片设定/允许缓冲信号,双向双功能,低电平有效。当8259a工作在缓冲模式时,该引脚输出一个en信号去控制外部缓冲器;当8259a工作在非缓冲模式时,该引脚作为输入用来接收一个sp,sp=1表示8259a作为主片工作。,36,三、8259a单独使用时中断响应顺序,37,四、8259a级联时的中断响应顺序,38,39,1、外设在从片的irq0irq7产生中断请求 2、中断请求被锁存在从片的irr,并跟imr的内容相与,运算结果发送给优先级分析器pr 3、从片的pr分析后,把当前最高优先级的中断请求交给从片的控制电路 4、从片的控制电路接受中断请求,向主片输出int信号 5、主片在其irq引脚上收到来自从片的int信号,设置对应的irr位,处理之后向cpu输出int信号 6、cpu接受int信号,输出第一个inta,进入第一个inta周期,40,41,结 束,42,第四节 8259a的工作方式,课程公用邮箱:haust_ pwd:cit0000,43,包括: 设置优先级的方式 结束中断的方式 中断屏蔽方式 中断触发方式 8259a的连接方式,44,一、设置优先级的方式,(1) 完全嵌套方式(固定优先级方式): 特点:优先级顺序是固定的, ir0最高,ir7最低 设置:通过编程置初始化命令字icw4中的d4=0,设置该工作方式,默认工作方式。 (2)特殊完全嵌套方式 特点:与完全嵌套方式基本相同,只是它不仅响应比本级高的,且能够响应同级的中断。 设置:通过编程置icw4中的d4置1,设置。一般用于8259a的级联方式。,45,(3)优先级自动循环方式 特点:初始优先级顺序ir0最高,ir7最低。当其中一个中断源受到服务,则它为最低优先权。同时置比它低一级中断源为最高级,其它自动循环排列。 设置:通过编程置操作命令字ocw2的d7d6=10,设置该工作方式。 (4)优先级指定(特殊)循环方式 特点:将某一中断源指定为最低优先权,则比它低一级中断源为最高级,其它顺序排列。 如:指定ir3为最低,则优先级顺序为ir4,ir5,ir6,ir7,ir0,ir2,ir3。 设置:通过编程置ocw2的d7d6=11设置此方式。同时d1d0指定最低优先权中断源。,46,二、结束中断的方式,结束中断处理是将中断服务寄存器(isr)中对应的位置0。 (1)自动中断结束方式(aeoi): 特点:只适用于一片8259a且不会发生中断嵌套的情况下。中断服务寄存器(isr)中的中断源对应位在8259a收到第二个inta时清0,但正在处理的中断服务程序可能并没有结束。 设置:通过编程置icw4的d1=1实现。 (2)一般中断结束方式(eoi): 特点:中断服务程序在iret前必须先向8259a送eoi命令,使当前中断服务寄存器(isr)中优先权级别最高的对应位清0。 设置:通过编程置初始化命令字icw4的d1=0设置。通过编程置操作命令字ocw2的d7d6d5=001,执行输出命令,实现中断结束。 (3)特殊中断结束方式(seoi): 特点:使指定的中断服务寄存器(isr)中的中断源对应位清0,即结束。 设置:通过编程置icw4的d1=0设置。编程置操作命令字ocw2的d6d5=11,d2d1d0给出想结束的中断源号,使其结束。,47,三、中断屏蔽方式,由8259a的内部屏蔽寄存器imr决定。有一般屏蔽方式和特殊屏蔽方式两种。 (1)一般屏蔽方式 特点:使某些中断源可以申请服务,某些被屏蔽不能申请中断服务。 设置:通过编程置操作命令字ocw1的相应位为1,则使对应中断源被屏蔽。为0,则使对应中断源不被屏蔽。用输出命令将ocw1写入imr中实现。 (2)特殊屏蔽方式 特点:屏蔽当前正在处理的中断级,使其它任何未被imr屏蔽的中断源能够申请中断。尽管系统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它任何级别的中断请求。 设置:在中断服务程序中置ocw3的d6d5=11,然后写ocw1。中断服务程序结束之前,必须恢复ocw3和ocw1。,48,四、中断触发方式,(1)电平触发 特点: ir7ir0的中断申请端出现高电平,触发中断服务。响应后,必须撤除申请(变回低电平),否则发生二次中断申请。 设置:编程置初始化命令字icw1的d3=1,进入工作方式。 (2)边沿触发 设置:编程置初始化命令字icw1的d3=0,进入工作方式。 特点: ir7ir0的中断申请端由低电平跳变为高电平时,并保持一定时间后触发中断服务。申请端可以一直保持高电平,不会误判。,49,五、8259a的连接方式,(1)缓冲方式 特点:8259a通过总线驱动器和数据总线相连。此时8259a的sp/en引脚输出低电平作为启动信号。多用于多片级联的大系统中。 设置:编程置初始化命令字icw4的d3=1,进入工作方式。 (2)非缓冲方式 特点:8259a直接和数据总线相连。1片或几片时用。 设置:编程置初始化命令字icw4的d3=0,进入工作方式。,50,51,第五节 8259a的命令字,52,初始化命令字icw1icw4,它通常是计算机系统启动时由初始化程序设置的,一旦设定一般在系统运行过程中不再改变。 操作命令字0cw1ocw3,它是由应用程序设定,用来对中断处理过程进行动态控制,可以随时、单独使用。,53,一、初始化命令字 icw1 芯片控制命令字 icw2 中断类型号命令字 icw3 主/从片级联命令字 icw4 方式控制命令字,怎样识别icw1? 1.d4位是1 2.写入8259a的偶地址,54,一、初始化命令字 icw1 芯片控制命令字 icw2 中断类型号命令字 icw3 主/从片级联命令字 icw4 方式控制命令字,pc系统中,硬盘的中断类型号高5位是00001b,它的中断请求线接在8259a的irq5上,那么硬盘的中断类型号是多少? 00001101b=0dh,55,一、初始化命令字 icw1 芯片控制命令字 icw2 中断类型号命令字 icw3 主/从片级联命令字 icw4 方式控制命令字,56,主片的icw3=?,从片b的icw3 =?,从片a的icw3=?,57,一、初始化命令字 icw1 芯片控制命令字 icw2 中断类型号命令字 icw3 主/从片级联命令字 icw4 方式控制命令字,怎样识别icw4? 1.d7-d5位全是0 2.紧随icw2或icw3写入8259a的奇地址,58,二、操作方式命令字 ocw1(中断屏蔽字) ocw2 ocw3,59,二、操作方式命令字 ocw1 ocw2优先级循环及中断结束方式字 ocw3,60,二、操作方式命令字 ocw1 ocw2 ocw3(特殊屏蔽及读8259内部寄存器命令),特殊屏蔽:屏蔽当前正在处理的中断级。 结果:使未被imr屏蔽的中断(包括低优先级的)源能够申请中断,如果d2=d1=1 则查询优先于读取,61,若送如下格式的ocw3给8259a,则使8259a设置为查询方式:cpu不再从intr接受中断请求,而是由程序向8259a查询有无中断请求并获得最高优先级的中断请求,ocw3,out 20h,00001100b ;设置8259a为查询方式 in al,20h ;程序读取中断请求,al,若i=1,则有中断请求,且最高中断级由w2w1w0给出。 假设 ir4ir5.ir3,如果ir4和ir1同时提 交中断请求,则w2w1w0应为100 若i=0,则无中断请求,62,二、操作方式命令字 ocw1 ocw2 ocw3(特殊屏蔽及读8259内部寄存器命令),特殊屏蔽:屏蔽当前正在处理的中断级。 结果:使未被imr屏蔽的中断(包括低优先级的)源能够申请中断,如果d2=d1=1 则查询优先于读取,63,读irr(中断请求寄存器) mov al,00001010b out 20h,al in al,20h ;al中是irr的内容 读isr(中断服务寄存器) mov al,00001011b out 20h,al in al,20h ;al中是isr的内容 读imr(中断屏蔽寄存器) in al,21h,64,a0,0,65,第六节 8259a的初始化编程,66,8259a初始化的一般流程,写icw4,n,需icw4?,准备接收中断请求,写icw3,y,级联?,写icw1,y,写icw2,n,67,例1:旧式的xt机只使用一片8259a,特点如下: 1.提供8级向量中断 2.端口地址020h和021h 3.中断请求为边沿触发 4.采用全嵌套方式,优先级排列顺序为irq017 5.采用非缓冲方式连接 6.其8个中断源的中断类型号为08h0fh,分析:icw1 00010011b 13h icw2 00001000b 08h icw4 00000001b 01h 编程:mov al, 13h out 20h, al mov al, 08h out 21h, al mov al, 01h out 21h, al,68,例2:i865主板上使用两片82c59a(类似8259a)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国工业电炉行业市场深度分析及发展趋势预测报告
- 2025至2030小型燃气发动机行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国浴帘衬里行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国水果店行业产业运行态势及投资规划深度研究报告
- 2025至2030中国棉化纤针织袜行业市场运行态势分析及发展前景与投资报告
- GB/T 45801-2025企业标准自我声明公开数据同步要求
- GB/T 45722-2025半导体器件恒流电迁移试验
- 绿化药品安全管理制度
- 肿瘤报告工作管理制度
- 社区用人用工管理制度
- (完整版)python学习课件
- 高钠血症护理查房
- 小学数学练习设计的有效性研究结题报告
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- 汕头市龙湖区2021年教师招聘《教育公共知识》试题及答案
- 浙江温州十校2023至2024学年高二下学期6月期末联考化学试题附参考答案(解析)
- 语文-山东省淄博市2023-2024学年高二下学期7月期末教学质量检测试题和答案
- 湖南省娄底市涟源市2023-2024学年六年级下学期6月期末英语试题
- 上海市徐汇区市级名校2025届物理高一第二学期期末考试模拟试题含解析
- 天一大联盟2024届高一数学第二学期期末统考试题含解析
- 【语文】西安外国语大学附属小学(雁塔区)小学五年级下册期末试卷(含答案)
评论
0/150
提交评论