《计算机第七章优秀课件.ppt》由会员分享,可在线阅读,更多相关《计算机第七章优秀课件.ppt(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机第七章计算机第七章第1页,本讲稿共88页8.1 80888.1 8088中断系统中断系统中断系统中断系统n n80888088的中断系统采用向量中断机制的中断系统采用向量中断机制n n能够处理能够处理256256个中断个中断n n用中断向量号用中断向量号0 0255255区别区别n n可屏蔽中断还需要借助专用中断控制器可屏蔽中断还需要借助专用中断控制器Intel 8259AIntel 8259A实现优先权管理实现优先权管理第2页,本讲稿共88页8.1.1 80888.1.1 8088的中断类型的中断类型的中断类型的中断类型非屏蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步单步中
2、断中断除法除法错误错误INT N指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTAn n内部中断内部中断n n除法错中断除法错中断n n指令中断指令中断n n溢出中断溢出中断n n单步中断单步中断n n外部中断外部中断n n非屏蔽中断非屏蔽中断n n可屏蔽中断可屏蔽中断第3页,本讲稿共88页1.1.内部中断内部中断内部中断内部中断n n内部中断是由于内部中断是由于80888088内部执行程序出现异常引起内部执行程序出现异常引起的程序中断的程序中断n n利用内部中断,微处理器为用户提供了
3、发现、调利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径试并解决程序执行时异常情况的有效途径n n例如,例如,ROM-BIOSROM-BIOS和和DOSDOS系统利用内部中断为程系统利用内部中断为程序员提供了各种功能调用序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定第4页,本讲稿共88页 除法错中断除法错中断除法错中断除法错中断n n在执行除法指令时,若除数为在执行除法指令时,若除数为0 0或商超过了寄存或商超过了寄存器所能表达的范围,则产生一个向量号为器所能表达的范围,则产生一个向量号为0 0的内的内部中断,称为除法错中断部中断,称为除法
4、错中断例如:例如:mov bl,0idiv bl;除数;除数BL0,产生除法错中断,产生除法错中断mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;产生除法错中断第5页,本讲稿共88页 指令中断指令中断指令中断指令中断n n在执行中断调用指令在执行中断调用指令INT nINT n时产生的一个向量号时产生的一个向量号为为n n(0 2550 255)的内部中断,称为指令中断)的内部中断,称为指令中断n n其中向量号为其中向量号为3 3的指令中断比较特别(生成一个的指令中断比较特别(生成一个字节的指令代码:字节的指令代码:1100110
5、011001100),常用于程序调试,),常用于程序调试,被称为断点中断被称为断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置的设置的断点,就是利用断点,就是利用INT 3指令实现的指令实现的第6页,本讲稿共88页 溢出中断溢出中断溢出中断溢出中断n n在执行溢出中断指令在执行溢出中断指令INTOINTO时,若溢出标志时,若溢出标志OFOF为为1 1,则产生一个向量号为,则产生一个向量号为4 4的内部中断,被称为溢的内部中断,被称为溢出中断出中断例如:例如:mov ax,2000hadd ax,7000h;2000H7000H9000H,溢出:,溢出:OF1in
6、to;因为;因为OF1,所以产生溢出中断,所以产生溢出中断第7页,本讲稿共88页单步中断单步中断单步中断单步中断n n若单步中断若单步中断TFTF为为1 1,则在每条指令执行结束后产,则在每条指令执行结束后产生一个向量号为生一个向量号为1 1的内部中断,称为单步中断的内部中断,称为单步中断例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利用单就利用单步中断实现对程序的单步调试步中断实现对程序的单步调试第8页,本讲稿共88页2.2.外部中断外部中断外部中断外部中断n n外部中断是由于外部中断是由于80888088外部提出中断请求引起的外部提出中断请求引起的程序中断程序中断n
7、 n利用外部中断,微机系统可以实时响应外部设利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或备的数据传送请求,能够及时处理外部意外或紧急事件紧急事件n n外部中断的原因是处理器外部随机产生的,所外部中断的原因是处理器外部随机产生的,所以是真正的中断(以是真正的中断(InterruptInterrupt)n n内部中断的原因是处理器执行程序出现异常,内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(所以经常被称为异常(ExceptionException)第9页,本讲稿共88页 非屏蔽中断非屏蔽中断非屏蔽中断非屏蔽中断n n通过非屏蔽中断请求信号向微处理
8、器提出的中断请求,微处理器无通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断中断n n80888088的非屏蔽中断的向量号为的非屏蔽中断的向量号为2 2,非屏蔽中断请求信号为,非屏蔽中断请求信号为NMINMIn n非屏蔽中断主要用于处理系统的意外或故障。例如:非屏蔽中断主要用于处理系统的意外或故障。例如:n n电源调电前的数据保护电源调电前的数据保护n n存储器读写错误的处理存储器读写错误的处理第10页,本讲稿共88页 可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断n n
9、外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断n n80888088的可屏蔽中断请求和响应信号分别是的可屏蔽中断请求和响应信号分别是INTRINTR和和INTA*INTA*;由;由IFIF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器器n n80888088通常
10、需要配合中断控制器通常需要配合中断控制器8259A8259A共同处理可屏蔽中断共同处理可屏蔽中断n n可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外设交换数据IF控制可屏蔽中断的响应控制可屏蔽中断的响应第11页,本讲稿共88页中断标志中断标志中断标志中断标志IFIF的状态的状态的状态的状态n nIFIF0 0:可屏蔽中断不会被响应:可屏蔽中断不会被响应n n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n n系统复位,使系统复位,使IFIF0 0n n任何一个中断被响应,使任何一个中断被响应,使IFIF0 0n n执行指令执行指令CLICLI,使,使IFIF0 0n nI
11、FIF1 1:可屏蔽中断会被响应:可屏蔽中断会被响应n n开中断、允许中断、中断开放开中断、允许中断、中断开放n n执行指令执行指令STISTI,使,使IFIF1 1n n执行指令执行指令IRETIRET恢复原恢复原IFIF状态状态明确明确IF标志的状态是关键标志的状态是关键第12页,本讲稿共88页8.1.2 80888.1.2 8088的中断响应过程的中断响应过程的中断响应过程的中断响应过程NMIN软件中断软件中断INTRTF=1中断响应周期中断响应周期读中断向量号读中断向量号下条指令下条指令现行指令现行指令IF1NNNNYYYYY查询中断的顺序,查询中断的顺序,决定了各种中断源的优先权决定
12、了各种中断源的优先权n n软件中断软件中断n n除法错中断除法错中断n n指令中断指令中断n n溢出中断溢出中断n n非屏蔽中断非屏蔽中断n n可屏蔽中断可屏蔽中断n n单步中断单步中断高高低低第13页,本讲稿共88页8.1.2 80888.1.2 8088的中断响应过程的中断响应过程的中断响应过程的中断响应过程(续)(续)(续)(续)Y还有还有NMITEMP1标志寄存器入栈标志寄存器入栈TEMPTF,IFTF0CS:IP入栈入栈获取中断向量获取中断向量执行服务程序执行服务程序弹出弹出CS:IP弹出标志寄存器弹出标志寄存器返回被中断程序返回被中断程序(1)(2)(3)(4)(5)NNY(6)n
13、 n80888088各种中断源的优先权,各种中断源的优先权,实际上是指被识别出来的先后实际上是指被识别出来的先后n n多种中断同时请求时,多种中断同时请求时,最先响应的则可能是最先响应的则可能是单步中断或单步中断或NMINMI中断中断第14页,本讲稿共88页8.1.3 80888.1.3 8088的中断向量表的中断向量表的中断向量表的中断向量表n n中断向量:中断服务程序的入口地址(首地址)中断向量:中断服务程序的入口地址(首地址)n n逻辑地址含有段地址逻辑地址含有段地址CSCS和偏移地址和偏移地址IPIP(3232位)位)n n每个中断向量的低字是偏移地址、高字是段地址,需占用每个中断向量
14、的低字是偏移地址、高字是段地址,需占用4 4个个字节字节n n80888088微处理器从物理地址微处理器从物理地址000H000H开始,依次安排各个中断向量,向量开始,依次安排各个中断向量,向量号也从号也从0 0开始开始n n256256个中断占用个中断占用1KB1KB区域,就形成区域,就形成中断向量表中断向量表向量号为向量号为N的中断向量的的中断向量的物理地址物理地址N4第15页,本讲稿共88页8.2 8.2 内部中断服务程序内部中断服务程序内部中断服务程序内部中断服务程序n n编写内部中断服务程序与编写子程序类似编写内部中断服务程序与编写子程序类似n n利用过程定义伪指令利用过程定义伪指令
15、PROC/ENDPPROC/ENDPn n第第1 1条指令通常为开中断指令条指令通常为开中断指令STISTIn n最后用中断返回指令最后用中断返回指令IRETIRETn n通常采用寄存器传递参数通常采用寄存器传递参数n n主程序需要调用中断服务程序主程序需要调用中断服务程序n n调用前,需要设置中断向量调用前,需要设置中断向量n n利用利用INT nINT n指令调用中断服务程序指令调用中断服务程序第16页,本讲稿共88页例例例例8.1 8.1 内部中断服务程序内部中断服务程序内部中断服务程序内部中断服务程序n n编写编写80H80H号中断服务程序号中断服务程序n n功能:显示以功能:显示以“
16、0”0”结尾字符串的功能结尾字符串的功能n n利用显示器功能调用利用显示器功能调用INT 10HINT 10Hn n字符串缓冲区首地址为入口参数字符串缓冲区首地址为入口参数n nDS:DXDS:DX(段地址:偏移地址)传递参数(段地址:偏移地址)传递参数第17页,本讲稿共88页数据段数据段数据段数据段intoffintoffdw?dw?intsegintsegdw?dw?intmsgintmsgdb A Instruction Interrupt!db A Instruction Interrupt!db 0dh,0ah,0db 0dh,0ah,0例8.1以以“0”结尾结尾回车、换行回车、换行
17、第18页,本讲稿共88页保存中断向量保存中断向量保存中断向量保存中断向量mov ax,3580hmov ax,3580hint 21hint 21hmov intoff,bxmov intoff,bx;保存偏移地址保存偏移地址mov intseg,esmov intseg,es;保存段基地址保存段基地址例8.1获取中断向量(获取中断向量(DOS功能调用功能调用INT 21H)功能号:功能号:AH35H入口参数:入口参数:AL中断向量号中断向量号出口参数:出口参数:ES:BX中断向量(段地址:偏移地址)中断向量(段地址:偏移地址)第19页,本讲稿共88页设置中断向量设置中断向量设置中断向量设置中
18、断向量push dspush dsmov dx,offset new80hmov dx,offset new80hmov ax,seg new80hmov ax,seg new80hmov ds,axmov ds,axmov ax,2580hmov ax,2580hint 21hint 21hpop dspop ds例8.1设置中断向量(设置中断向量(DOS功能调用功能调用INT 21H)功能号:功能号:AH25H入口参数:入口参数:AL中断向量号中断向量号DS:DX中断向量(段地址:偏移地址)中断向量(段地址:偏移地址)第20页,本讲稿共88页调用中断服务程序调用中断服务程序调用中断服务程序
19、调用中断服务程序;设置入口参数:;设置入口参数:DSDS段地址(已设置)段地址(已设置)DXDX偏移地址偏移地址mov dx,offset intmsgmov dx,offset intmsgint 80h int 80h;调用;调用80H80H中断服务程序中断服务程序例8.1A Instruction Interrupt!第21页,本讲稿共88页;80H80H号内部中断服务程序:号内部中断服务程序:;显示字符串(以;显示字符串(以“0”0”结尾)结尾);入口参数:;入口参数:DS:DXDS:DX缓冲器首地址缓冲器首地址new80hnew80hprocprocstisti;开中断开中断push
20、 axpush ax;保护寄存器保护寄存器push bxpush bxpush sipush si例8.1进入中断服务程序进入中断服务程序进入中断服务程序进入中断服务程序A Instruction Interrupt!第22页,本讲稿共88页显示字符串显示字符串显示字符串显示字符串mov si,dxmov si,dxnew1:new1:mov al,simov al,sicmp al,0cmp al,0jz new2jz new2mov bx,0mov bx,0mov ah,0ehmov ah,0ehint 10hint 10hinc siinc sijmp new1jmp new1例8.1A
21、 Instruction Interrupt!第23页,本讲稿共88页退出中断服务程序退出中断服务程序退出中断服务程序退出中断服务程序new2:new2:pop sipop si;恢复寄存器恢复寄存器pop bxpop bxpop axpop axiretiret;中断返回中断返回new80hnew80hendpendp例8.1A Instruction Interrupt!第24页,本讲稿共88页主程序结束主程序结束主程序结束主程序结束mov dx,intoffmov dx,intoffmov ax,intsegmov ax,intsegmov ds,axmov ds,axmov ax,25
22、80hmov ax,2580hint 21hint 21hmov ax,4c00hmov ax,4c00hint 21hint 21h例8.1A Instruction Interrupt!第25页,本讲稿共88页8.3 8259A8.3 8259A中断控制器中断控制器中断控制器中断控制器n nIntel 8259AIntel 8259A是可编程中断控制器是可编程中断控制器PICPICn n可用于管理可用于管理Intel 8080/8085Intel 8080/8085、8086/80888086/8088、80286/8038680286/80386的可屏蔽中断的可屏蔽中断n n8259A8
23、259A的基本功能的基本功能n n一片一片8259A8259A可以管理可以管理8 8级中断,可扩展至级中断,可扩展至6464级级n n每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许n n在中断响应周期,可提供相应的中断向量号在中断响应周期,可提供相应的中断向量号n n8259A8259A设计有多种工作方式,可通过编程选择设计有多种工作方式,可通过编程选择第26页,本讲稿共88页8.3.1 8259A8.3.1 8259A的内部结构和引脚的内部结构和引脚的内部结构和引脚的内部结构和引脚D7D0INTAINT中中断断请请求求寄寄存存器器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲
24、器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优优先先权权判判别别电电路路中中断断服服务务寄寄存存器器控制逻辑控制逻辑第27页,本讲稿共88页1.1.中断控制中断控制中断控制中断控制n n中断请求寄存器中断请求寄存器IRRIRRn n保存保存8 8条外界中断请求信号条外界中断请求信号IR0IR0IR7IR7的请求状态的请求状态n nDiDi位为位为1 1表示表示IRiIRi引脚有中断请求;为引脚有中断请求;为0 0表示无请求表示无请求n n中断服务寄存器中断服务寄存器ISRISRn n保存正在被保存正在被8259
25、A8259A服务着的中断状态服务着的中断状态n nDiDi位为位为1 1表示表示IRiIRi中断正在服务中;为中断正在服务中;为0 0表示没有被服务表示没有被服务n n中断屏蔽寄存器中断屏蔽寄存器IMRIMRn n保存对中断请求信号保存对中断请求信号IRIR的屏蔽状态的屏蔽状态n nDiDi位为位为1 1表示表示IRiIRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0 0表示允许表示允许第28页,本讲稿共88页2.2.与处理器接口与处理器接口与处理器接口与处理器接口 A A0 0 RD*WR*CS*RD*WR*CS*功能功能 0 1 0 00 1 0 0 1 1 0 0 1 1 0 0 0
26、0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1写入写入ICW1ICW1、OCW2OCW2和和OCW3OCW3写入写入ICW2ICW2ICW4ICW4和和OCW1OCW1读出读出IRRIRR、ISRISR和查询字和查询字读出读出IMRIMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态第29页,本讲稿共88页3.3.中断级连中断级连中断级连中断级连n n一个系统中,一个系统中,8259A8259A可以级连,有一个主可以级连,有一个主8259A8259A,若干个(最多,若干个(最多8 8个)从个)从8259A8259An n级连时,主级
27、连时,主8259A8259A的三条级连线的三条级连线CAS0CAS0CAS2CAS2作为输出线,连作为输出线,连至每个从至每个从8259A8259A的的CAS0CAS0CAS2CAS2n n每个从每个从8259A8259A的中断请求信号的中断请求信号INTINT,连至主,连至主8259A8259A的一个中断请的一个中断请求输入端求输入端IRIRn n主主8259A8259A的的INTINT线连至线连至CPUCPU的中断请求输入端的中断请求输入端n nSP*/EN*SP*/EN*在非缓冲方式下,规定该在非缓冲方式下,规定该8259A8259A是主片(是主片(SP*SP*1 1)还)还是从片(是从
28、片(SP*SP*0 0)动画动画示例示例第30页,本讲稿共88页8.3.2 8259A8.3.2 8259A的中断过程的中断过程的中断过程的中断过程CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第一个周期第一个周期T1 T2 T3 T4ALECLK 第二个周期第二个周期T1 T2 T3 T4第一个前保持为高电平第一个前保持为高电平 INTALOCK动画动画第31页,本讲稿共88页8.3.3 8259A8.3.3 8259A的工作方式的工作方式的工作方式的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式
29、特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断处理方式结束中断处理方式屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式第32页,本讲稿共88页1.1.设置优先权方式设置优先权方式设置优先权方式设置优先权方式n n普通全嵌套方式普通全嵌
30、套方式n n8259A8259A的中断的中断优先权顺序固定不变优先权顺序固定不变,从高到低依次为,从高到低依次为IR0IR0、IR1IR1、IR2IR2、IR7IR7n n中断请求后,中断请求后,8259A8259A对对当前请求中断中优先权最高的中断当前请求中断中优先权最高的中断IRiIRi予以予以响应响应,将,将其向量号送上数据总线,对应其向量号送上数据总线,对应ISRISR的的DiDi位置位,至到中断结束(位置位,至到中断结束(ISRISR的的DiDi位复位)位复位)n n在在ISRISR的的DiDi位置位期间,位置位期间,禁止再发生同级和低级优先权的中断禁止再发生同级和低级优先权的中断,
31、但允许,但允许高级优先权中断的嵌套高级优先权中断的嵌套n n特殊全嵌套方式特殊全嵌套方式n n优先权自动循环方式优先权自动循环方式n n优先权特殊循环方式优先权特殊循环方式第33页,本讲稿共88页2.2.结束中断处理方式结束中断处理方式结束中断处理方式结束中断处理方式什么是什么是8259A的中断结束?的中断结束?8259A利用中断服务寄存器利用中断服务寄存器ISR判断:判断:n某位为某位为1,表示正在进行中断服务;,表示正在进行中断服务;n该位为该位为0,就是该中断结束服务。,就是该中断结束服务。这里说明如何使这里说明如何使ISR某位为某位为0,不反映不反映CPU的工作状态。的工作状态。第34
32、页,本讲稿共88页2.2.结束中断处理方式结束中断处理方式结束中断处理方式结束中断处理方式n n自动中断结束方式自动中断结束方式n n普通中断结束方式普通中断结束方式n n配合全嵌套优先权方式使用配合全嵌套优先权方式使用n n当当CPUCPU用输出指令往用输出指令往8259A8259A发出普通中断结束发出普通中断结束EOIEOI命令命令时,时,8259A8259A就会把所有正在服务的中断中优先权最高的就会把所有正在服务的中断中优先权最高的ISRISR位复位位复位n n特殊中断结束方式特殊中断结束方式n n配合循环优先权方式使用配合循环优先权方式使用n nCPUCPU在程序中向在程序中向8259
33、A8259A发送一条特殊中断结束命令,这发送一条特殊中断结束命令,这个命令中指出了要清除哪个个命令中指出了要清除哪个ISRISR位位第35页,本讲稿共88页3.3.屏蔽中断源方式屏蔽中断源方式屏蔽中断源方式屏蔽中断源方式n n普通屏蔽方式普通屏蔽方式n n将将IMRIMR的的DiDi位置位置1 1,则对应的中断,则对应的中断IRiIRi被屏蔽被屏蔽,该,该中断请求不能从中断请求不能从8259A8259A送到送到CPUCPUn n如果如果IMRIMR的的DiDi位置位置0 0,则允许,则允许IRiIRi中断产生中断产生n n特殊屏蔽方式特殊屏蔽方式n n将将IMRIMR的的DiDi位置位置1 1
34、,对应的中断,对应的中断IRiIRi被屏蔽的同时,被屏蔽的同时,使使ISRISR的的DiDi位置位置0 0第36页,本讲稿共88页4.4.中断触发方式中断触发方式中断触发方式中断触发方式n n边沿触发方式边沿触发方式n n8259A8259A将中断请求输入端出现的上升将中断请求输入端出现的上升沿作为中断请求信号沿作为中断请求信号n n电平触发方式电平触发方式n n中断请求端出现的高电平是有效的中中断请求端出现的高电平是有效的中断请求信号断请求信号第37页,本讲稿共88页5.5.数据线连接方式数据线连接方式数据线连接方式数据线连接方式n n缓冲方式缓冲方式n n8259A8259A的数据线需加缓
35、冲器予以驱动的数据线需加缓冲器予以驱动n n8259A8259A把把SP*/EN*SP*/EN*引脚作为输出端,输出允许信号,引脚作为输出端,输出允许信号,用以锁存或开启缓冲器用以锁存或开启缓冲器n n非缓冲方式非缓冲方式n nSP*/EN*SP*/EN*引脚为输入端引脚为输入端n n若若8259A8259A级连,由其确定是主片或从片级连,由其确定是主片或从片 第38页,本讲稿共88页8.3.4 8259A8.3.4 8259A的编程的编程的编程的编程n n初始化编程初始化编程n n8259A8259A开始工作前,必须进行初始化编程开始工作前,必须进行初始化编程n n给给8259A8259A写
36、入写入初始化命令字初始化命令字ICWICWn n中断操作编程中断操作编程n n在在8259A8259A工作期间工作期间n n可以写入可以写入操作命令字操作命令字OCWOCW将选定的操作传送给将选定的操作传送给8259A8259A,使之按新的要求工作,使之按新的要求工作n n还可以读取还可以读取8259A8259A的信息,以便了解他的工作状态的信息,以便了解他的工作状态第39页,本讲稿共88页1.1.初始化命令字初始化命令字初始化命令字初始化命令字ICWICWn n初始化命令字初始化命令字ICWICW最多有最多有4 4个个n n8259A8259A在开始工作前必须写入在开始工作前必须写入n n必
37、须按照必须按照ICW1ICW1ICW4ICW4顺序写入顺序写入n nICW1ICW1和和ICW2ICW2是必须送的是必须送的n nICW3ICW3和和ICW4ICW4由工作方式决定由工作方式决定流程流程D7D6D5D4D3D2D1D0第40页,本讲稿共88页ICW1ICW1 1 1LTIMLTIM SNGLSNGLIC4IC4D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0表示可以任意表示可以任意为为1为为0都可以(建议为都可以(建议为0)1只能为只能为1,作为标志,作为标志中断触发方式:中断触发方式:LTIM1,电平触发方式,电平触发方式LTI
38、M0,边沿触发方式,边沿触发方式 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不写入,不写入ICW4,即,即ICW4规定的位全为规定的位全为0第41页,本讲稿共88页ICW2ICW2T T7 7T T6 6T T5 5T T4 4T T3 3 D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0设置中断向量号设置中断向量号nT7T3为中断向量号的高为中断向量号的高5位位n低低3位由位由8259A自动确定:自动确定:nIR0为为 0
39、00、IR1为为 001、IR7为为111第42页,本讲稿共88页ICW3ICW3S S7 7S S6 6S S5 5S S4 4S S3 3S S2 2/IDID2 2S S1 1/IDID1 1S S0 0/IDID0 0D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0级连命令字级连命令字n主主片片8259A:Si1对对应应IRi接接有有从从片片;否则否则IRi没有连接从片没有连接从片n从从片片8259A:ID0ID2编编码码说说明明从从片片INT引脚接到主片哪个引脚接到主片哪个IR引脚引脚第43页,本讲稿共88页ICW4ICW40 00 0
40、0 0SFNMSFNMBUFBUFM/SM/SAEOIAEOIPMPMD D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)数据线的缓冲方式:数据线的缓冲方式:n缓冲方式(缓冲方式(BUF1)n非缓冲方式(非缓冲方式(BUF0)主片主片/从片选择:从片选择:n主片(主片(M/S=1)n从片(从片(M/S=0)中断结束方式:中断结束方式:n自动中断结束(自动中断结束(AEOI1)n非自动中断结束(非自动中断结束(AEOI0)微处理器类型:微处理
41、器类型:n16位位80 x86(PM1)n8位位8080/8085(PM0)第44页,本讲稿共88页2.2.操作命令字操作命令字操作命令字操作命令字OCWOCWn n8259A8259A工作期间,可以随时接受操作命令字工作期间,可以随时接受操作命令字OCWOCWn nOCWOCW共有共有3 3个:个:OCW1OCW1OCW3OCW3n n写入时没有顺序要求,需要哪个写入时没有顺序要求,需要哪个OCWOCW就写入就写入那个那个OCWOCWD7D6D5D4D3D2D1D0第45页,本讲稿共88页OCW1OCW1MM7 7MM6 6MM5 5MM4 4MM3 3MM2 2MM1 1MM0 0D D7
42、 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0屏蔽命令字屏蔽命令字内容写入中断屏蔽寄存器内容写入中断屏蔽寄存器IMRDiMi对应对应IRi,为,为1禁止禁止IRi中断;中断;为为0允许允许IRi中断。各位互相独立。中断。各位互相独立。第46页,本讲稿共88页OCW2OCW2R RSLSLEOIEOI0 00 0L2L2L1L1L0L0D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0R、SL和和EOI配配合合使使用用产产生生中中断断结结束束EOI命命令和改变优先权顺序令和改变优先权顺序L2L0的的3位编码位
43、编码指定指定IR引脚引脚 第47页,本讲稿共88页OCW3OCW30 0ESMMESMMSMMSMM0 01 1P PRRRRRISRISD D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0ESMM、SMM设置中断屏蔽方式设置中断屏蔽方式P、RR和和RIS规规定定随随后后读读取取的的状态字状态字含义含义第48页,本讲稿共88页3.3.读取状态字读取状态字读取状态字读取状态字n nCPUCPU可读出可读出IRRIRR、ISRISR、IMRIMR和查询字和查询字n nA0A0为低,由为低,由OCW3OCW3中中RRRR和和RISRIS位设定读取位设定读取
44、IRRIRR或或ISRISR,由,由OCW3OCW3中中P P位设定读取查询字位设定读取查询字n n而而A0A0引脚为高电平时读取的都是引脚为高电平时读取的都是IMRIMRn n查询字反映查询字反映8259A8259A是否有中断请求是否有中断请求D7D6D5D4D3D2D1D0第49页,本讲稿共88页查询字查询字查询字查询字I IWW2 2WW1 1WW0 0D D7 7D D6 6D D5 5D D4 4D D3 3D D2 2D D1 1D D0 0中断位中断位I位为位为1,有外设请求中断有外设请求中断W2W0的编码的编码当当前前中中断断请请求求的的最高优先级最高优先级第50页,本讲稿共8
45、8页4.4.命令字和状态字的区别方法命令字和状态字的区别方法命令字和状态字的区别方法命令字和状态字的区别方法 利用读写信号区别写入的控制寄存器和读出的利用读写信号区别写入的控制寄存器和读出的状态寄存器状态寄存器 利用地址信号区别不同利用地址信号区别不同I/OI/O地址的寄存器地址的寄存器 由控制字中的标志位说明是哪个寄存器由控制字中的标志位说明是哪个寄存器 由芯片内顺序控制逻辑按一定顺序识别不同的由芯片内顺序控制逻辑按一定顺序识别不同的寄存器寄存器 由前面的控制字决定后续操作的寄存器由前面的控制字决定后续操作的寄存器接口电路中常用的方法接口电路中常用的方法第51页,本讲稿共88页初始化主片初始
46、化主片初始化主片初始化主片8259A8259Amov al,11hmov al,11h;写入写入ICW1ICW1out 20h,alout 20h,aljmp intr1jmp intr1intr1:intr1:mov al,08hmov al,08h;写入写入ICW2ICW2out 21h,alout 21h,aljmp intr2jmp intr2intr2:intr2:mov al,04hmov al,04h;写入写入ICW3ICW3out 21h,alout 21h,aljmp intr3jmp intr3intr3:intr3:mov al,1hmov al,1h;写入写入ICW4I
47、CW4out 21h,alout 21h,al中断控制器的初始化程序段第52页,本讲稿共88页初始化从片初始化从片初始化从片初始化从片8259A8259Amov al,11hmov al,11h;写入写入ICW1ICW1out 0a0h,alout 0a0h,aljmp intr5jmp intr5intr5:intr5:mov al,70hmov al,70h;写入写入ICW2ICW2out 0a1h,alout 0a1h,aljmp intr6jmp intr6intr6:intr6:mov al,02hmov al,02h;写入写入ICW3ICW3out 0a1h,alout 0a1h,
48、aljmp intr7jmp intr7intr7:intr7:mov al,01hmov al,01h;写入写入ICW4ICW4out 0a1h,alout 0a1h,al中断控制器的初始化程序段第53页,本讲稿共88页8.4 8259A8.4 8259A在在在在IBM PCIBM PC系列机上的应用系列机上的应用系列机上的应用系列机上的应用CAS02CAS02+5V主主8259A8228880286 CPUINTRD0D7SP/ENINTD0D7日时钟日时钟键盘键盘串行口串行口2串行口串行口1并行口并行口2软盘软盘并行口并行口1A0INTR1CS IRQ0 IRQ1 IRQ2 IRQ3 I
49、RQ4 IRQ5 IRQ6 IRQ7 A0 CS 从从8259AD0D7INTSP/EN实时钟实时钟改向改向0AH中断中断保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0INTR2CS IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CS系统总线系统总线B25B24B23B22B21系统总线系统总线B4D3D4D5D6D7INTARDWRINTAIORIOWINTARDWR第54页,本讲稿共88页8.4 8259A8.4 8259A在在在在IBM PCIBM PC系列机上的应用系列机上的应用系列机上的应用系列机上的应用CAS02 从
50、从8259AD0D7INTSP/EN实时钟实时钟改向改向0AH中断中断保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0INTR2CS IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CS系统总线系统总线B4D3D4D5D6D7INTARDWR对比在对比在IBM PC/XT机的应用机的应用第55页,本讲稿共88页应用注意事项应用注意事项应用注意事项应用注意事项n n利用上升沿做为中断请求利用上升沿做为中断请求IRQIRQ的有效信号的有效信号n nIRQ0IRQ0IRQ7IRQ7的中断向量号依次为的中断向量号依次为08H08H0FH0F