chp微型计算机中断系统实用学习教案

上传人:莉**** 文档编号:120627489 上传时间:2022-07-18 格式:PPTX 页数:97 大小:820.88KB
收藏 版权申诉 举报 下载
chp微型计算机中断系统实用学习教案_第1页
第1页 / 共97页
chp微型计算机中断系统实用学习教案_第2页
第2页 / 共97页
chp微型计算机中断系统实用学习教案_第3页
第3页 / 共97页
资源描述:

《chp微型计算机中断系统实用学习教案》由会员分享,可在线阅读,更多相关《chp微型计算机中断系统实用学习教案(97页珍藏版)》请在装配图网上搜索。

1、会计学1chp微型微型(wixng)计算机中断系统实用计算机中断系统实用第一页,共97页。第1页/共97页第二页,共97页。中断系统具有以下基本功能:中断系统具有以下基本功能:为了加强中断系统的灵活性,对于为了加强中断系统的灵活性,对于各种中断请求,应该具有屏蔽和开放的功各种中断请求,应该具有屏蔽和开放的功能,使得程序员可以灵活控制。能,使得程序员可以灵活控制。具有具有“中断级别中断级别”的判断和控制功的判断和控制功能,即能实现中断源排队。当有多个中断能,即能实现中断源排队。当有多个中断源申请中断时,能根据事先的设定源申请中断时,能根据事先的设定(sh dn)及时响应中断。及时响应中断。能实现

2、中断嵌套,即高级别的中断能实现中断嵌套,即高级别的中断能中断较低级别的中断。能中断较低级别的中断。系统响应中断后,能自动进行中断系统响应中断后,能自动进行中断处理。当中断处理完后能自动返回。处理。当中断处理完后能自动返回。第2页/共97页第三页,共97页。中断主要解决中断主要解决(jiju)的问题的问题1实现分时操作,解决实现分时操作,解决(jiju)CPU与外部设备速度上的差异,提高计算机与外部设备速度上的差异,提高计算机系统的工作效率,达到并行处理的目的。系统的工作效率,达到并行处理的目的。2处理随机的异常事件,如运算结处理随机的异常事件,如运算结果溢出、机器故障等。果溢出、机器故障等。3

3、实现实时操作,在控制系统中许实现实时操作,在控制系统中许多信号是随机产生的,只有通过中断系多信号是随机产生的,只有通过中断系统才能实时的对它们进行处理,避免信统才能实时的对它们进行处理,避免信息的丢失。息的丢失。第3页/共97页第四页,共97页。第4页/共97页第五页,共97页。第5页/共97页第六页,共97页。非屏蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步单步中断中断除法除法错误错误INT n指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTA8086中断(zhngdun

4、)源内部(nib)中断外部中断第6页/共97页第七页,共97页。可屏蔽中断:类型号来自中断控制器外部(wib)通过可屏蔽中断INTR请求,由IF控制是否响应;响应时产生INTA信号可屏蔽中断主要用于与外设交换数据第7页/共97页第八页,共97页。第8页/共97页第九页,共97页。第9页/共97页第十页,共97页。第10页/共97页第十一页,共97页。7.2 7.2 中断中断(zhngdun)(zhngdun)处处理过程理过程可屏蔽(pngb)中断处理流程第11页/共97页第十二页,共97页。中断过程中断过程申请申请(shnqng)响应响应(xingyng)处理处理(chl)第12页/共97页第

5、十三页,共97页。第13页/共97页第十四页,共97页。第14页/共97页第十五页,共97页。NMINMIN N内部内部(nib)(nib)中中断断INTRINTRTF=1TF=1中断中断(zhngdun)(zhngdun)响应周期响应周期读中断读中断(zhngdun)(zhngdun)类型类型号号下条指令下条指令(zhlng)(zhlng)现行指令现行指令IFIF1 1N NN NN NN NY YY YY YY YY Y中断响应过程(P268)第15页/共97页第十六页,共97页。Y Y还有还有NMINMITEMPTEMP1 1标志标志(biozh)(biozh)寄存器入栈寄存器入栈TEM

6、PTEMPTFTF,IFIFTFTF0 0CSCS:IPIP入栈入栈获取获取(huq)(huq)中断向量中断向量执行执行(zhxng)(zhxng)服务程序服务程序弹出弹出CSCS:IPIP弹出标志寄存器弹出标志寄存器返回被中断程序返回被中断程序N NN NY Y中断响应过程第16页/共97页第十七页,共97页。要解决的问题要解决的问题确定中断源确定中断源找到对应中断处理程序的入口找到对应中断处理程序的入口(r ku)地地址址第17页/共97页第十八页,共97页。类型类型(lixng)(lixng)号为号为N N的中断向量的的中断向量的物理地址物理地址N N4 4第18页/共97页第十九页,共

7、97页。000H类型号0的IP值除法错中断(类型号0)单步中断(类型号1)004H类型号0的CS值类型号1的IP值类型号1的CS值非屏蔽中断(类型号2)008H类型号2的IP值类型号2的CS值3FCH类型号255的IP值用户中断(类型号255)类型号255的CS值第19页/共97页第二十页,共97页。19C类型类型67H中断向量中断向量1A050201A200A01A4类型类型69H中断向量中断向量STIPUSH DS :IRET中断中断(zhngdun)处理程序处理程序A000:2050INT 68HMOV AX,0向量向量(xingling)地址地址68H41A0HIPCS2050A000

8、中断中断(zhngdun)(zhngdun)操作操作过程例子过程例子第20页/共97页第二十一页,共97页。方法(fngf)一:第21页/共97页第二十二页,共97页。MOV AL,NMOV AH,35HINT 21HPUSH ES;保存(bocn)中断向量PUSH BXPUSH DSMOV AX,SEG INTRAD;设置中断向量MOV DS,AXMOV DX,OFFSET INTRADMOV AL,NMOV AH,25HINT 21HPOP DS :POP DX;恢复(huf)中断向量 POP DS MOV AL,N MOV AH,25H INT 21H :INTRAD PROC FAR

9、:IRETINTRAD ENDP第22页/共97页第二十三页,共97页。MOV AX,0 MOV ES,AX MOV DI,N*4 MOV AX,OFFSET INTRAD CLD STOSW MOV AX,SEG INTRAD STOSW STI :INTRAD PROC FAR :IRETINTRAD ENDP方法(fngf)二:第23页/共97页第二十四页,共97页。第24页/共97页第二十五页,共97页。1主程序中的初始化 (1)设置(shzh)中断向量。(2)设置(shzh)8259A的中断屏蔽寄存器的中断屏蔽位。(3)设置(shzh)CPU中断允许位标志IF(开中断STl)。第25

10、页/共97页第二十六页,共97页。2 2硬件硬件(外设接口外设接口)和和CPUCPU自动完成自动完成 (1)(1)外设接口向外设接口向CPUCPU的的INTRINTR端发中断端发中断(zhngdun)(zhngdun)请请求。求。(2)(2)当前指令执行完后,当前指令执行完后,CPUCPU发两个中断发两个中断(zhngdun)(zhngdun)响应信号响应信号INTAINTA给外设接口。给外设接口。(3)CPU (3)CPU取中断取中断(zhngdun)(zhngdun)类型号类型号n n。(4)CPU (4)CPU自动将当前自动将当前PSWPSW、CSCS、IPIP内容入栈保护。内容入栈保护

11、。(5)(5)清除清除IFIF、TFTF,禁止外部中断,禁止外部中断(zhngdun)(zhngdun)和单步和单步中断中断(zhngdun)(zhngdun)。(6)(6)从中断从中断(zhngdun)(zhngdun)向量表中取向量表中取(4(4n)n)地址中内地址中内容容IPIP,取,取(4(4n n2)2)地址中内容地址中内容CSCS。(7)(7)转向中断转向中断(zhngdun)(zhngdun)服务子程序。服务子程序。第26页/共97页第二十七页,共97页。注意:(1)对重复前缀的指令(如REP MOVSB)作为一条指令处理。执行一次重复前缀和串指令即可响应中断,而不是把串操作全部

12、(qunb)执行完。(2)遇到开中断指令STI和中断返回指令IRET,要在这两条指令执行完后,再执行一条指令才能响应中断。(3)CPU自动清除IF及TF位,使CPU进入中断服务程序后,不允许再产生新的中断,如果在中断服务程序中还允许外部中断进入,则在中断服务程序中必须再开中断。第27页/共97页第二十八页,共97页。5.发中断(zhngdun)结束命令EOI6.恢复现场7.中断(zhngdun)返回IRET第28页/共97页第二十九页,共97页。n最后用中断返回指令(zhlng)IRETn通常采用寄存器传递参数n主程序需要调用中断服务程序n调用前,需要设置中断向量n利用INT n指令(zhln

13、g)调用中断服务程序第29页/共97页第三十页,共97页。DS:DX(段地址:偏移地址)传递参数第30页/共97页第三十一页,共97页。mov dx,offset intmsg int 80h ;调用;调用(dioyng)中断服务程序中断服务程序mov dx,intoffmov ax,intsegmov ds,axmov ax,2580hint 21hmov ax,4c00hint 21h :第31页/共97页第三十二页,共97页。pop si;恢复(huf)寄存器 pop ax iret;中断返回New80h endpintoff dw?intseg dw?intmsg db A Instr

14、uction Interrupt!db 0dh,0ah,0 A Instruction Interrupt!DXsi第32页/共97页第三十三页,共97页。例:编写中断处理程序,要求主程序运行时,每10秒响铃一次,同时屏幕上显示信息“The bell is ring!”(P274)可以利用中断类型1CH进行处理,因为系统定时器(中断类型8)的中断处理程序中,时钟中断一次(约18.2次/秒)要调用一次INT 1CH。在ROM BIOS中,1CH的处理程序只有一条IRET指令,仅为用户提供一个中断类型号。这样可以利用系统定时器的中断间隔,将用户设计的程序来代替原有的INT 1CH程序。在编写程序时

15、,有两个部分的工作(gngzu):l.在主程序初始化部分,先保存当前中断向量表内容,再置新的中断向量。2在主程序结束部分恢复保存的1CH向量。外部(wib)中断服务程序第33页/共97页第三十四页,共97页。DATA SEGMENT COUNT DW 1 MESS DB The bell is ring!,0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FARSTART:PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AL,1CH MOV AH,35H;得到得到

16、(d do)原中断向量原中断向量 INT 21H PUSH ES ;存储原中断向量存储原中断向量 PUSH BX PUSH DS第34页/共97页第三十五页,共97页。MOV DX,OFFSET RING ;中断子程序中断子程序RING的偏移地址和段地址的偏移地址和段地址 MOV AX,SEG RING MOV DS,AX MOV AL,1CH ;设置中断向量;设置中断向量 MOV AH,25H INT 21H POP DS IN AL,21H ;设置中断屏蔽;设置中断屏蔽(pngb)位位,21H为为8259中断屏蔽中断屏蔽(pngb)寄存器端口地址寄存器端口地址 AND AL,0FEH OU

17、T 21H,AL STI ;开中断;开中断 MOV DI,2000;延迟延迟DELAY:MOV SI,3000 ;等待中断等待中断DELAY1:DEC SI JNZ DELAY1 DEC DI JNZ DELAY POP DX ;取原中断向量取原中断向量 POP DS MOV AL,1CH MOV A H,25H INT 21H RETMAIN ENDPCODE ENDS第35页/共97页第三十六页,共97页。RING PROC NEAR PUSH DS PUSH AX PUSH CX PUSH DX MOV AX,DATA MOV DS,AX STI DEC COUNT;10秒计数秒计数(j

18、 sh)JNZ EXIT MOV DX,OFFSET MESS MOV AH,09H;显示信息显示信息 INT 21H MOV DX,100 IN AL,61H;响铃响铃 AND AL,0FCHSOUND:XOR AL,02H OUT 61H,AL MOV CX,140H WAIT:LOOP WAIT DEC DX JNE SOUND MOV COUNT,182;10秒的值秒的值EXIT:CLI POP DX POP CX POP AX POP DS IRETRING ENDPCODE ENDS END STARTDATA SEGMENT COUNT DW 1 MESS DB The bell

19、 is ring!,0AH,0DH,$DATA ENDS第36页/共97页第三十七页,共97页。D0D7第一个第一个INTA周期周期T1 T2 T3 T4ALECLK 第二个第二个INTA周期周期T1 T2 T3 T4 INTALOCKn中断(zhngdun)响应总线周期时序图中断(zhngdun)类型号第37页/共97页第三十八页,共97页。执行执行(zhxng)一条指令一条指令中断中断(zhngdun)?关中断关中断(zhngdun)保护现场保护现场屏蔽本级和低级中断屏蔽本级和低级中断开中断开中断中断服务程序中断服务程序关中断关中断恢复现场恢复现场返回返回取下一条指令取下一条指令否否是是多

20、个中断源中断流程图多个中断源中断流程图7.3 7.3 中断优先级和中断嵌套中断优先级和中断嵌套第38页/共97页第三十九页,共97页。高高低低第39页/共97页第四十页,共97页。A0A15锁锁存存器器INTR三态三态缓冲器缓冲器译码译码 8001HD0D7中断中断0中断中断1中断中断2IOR中断(zhngdun)查询接口第40页/共97页第四十一页,共97页。:MOV DX,8001HMOV DX,8001HIN AL,DXIN AL,DXTEST AL,80HTEST AL,80HJNZ SEV0JNZ SEV0TEST AL,40HTEST AL,40HJNZ SEV1JNZ SEV1T

21、EST AL,20HTEST AL,20HJNZ SEV2JNZ SEV2TEST AL,10HTEST AL,10HJNZ SEV3JNZ SEV3TEST AL,08HTEST AL,08HJNZ SEV4JNZ SEV4 :第41页/共97页第四十二页,共97页。菊花链优先菊花链优先(yuxin)查询法查询法2.2.硬件硬件(yn jin)(yn jin)查询优先方式菊花链法查询优先方式菊花链法第42页/共97页第四十三页,共97页。中断请求寄存器中断请求寄存器中断中断(zhngdun)屏蔽寄存器屏蔽寄存器IR0IR7优先级管理优先级管理(gunl)逻辑逻辑中断中断(zhngdun)服务

22、寄存器服务寄存器中断类型寄存器 由中断源提供3.3.矢量中断优先级矢量中断优先级8253定时器定时器键盘键盘未用未用异步通信卡(辅)异步通信卡(辅)异步通信卡(主)异步通信卡(主)硬盘硬盘软盘软盘并行打印机并行打印机21H第43页/共97页第四十四页,共97页。IR0IR1IR2IR3IR4IR5IR6IR7高低第44页/共97页第四十五页,共97页。第45页/共97页第四十六页,共97页。D7D0INTAINT中断请求寄存器中断请求寄存器中断屏蔽寄存器中断屏蔽寄存器(IMR)数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCA

23、S0 CSA1CAS2 SP/EN优先权判别电路优先权判别电路中断服务寄存器中断服务寄存器控制逻辑控制逻辑ISRPRIRR第46页/共97页第四十七页,共97页。CSRDWRA0D4D3操作指令01001 CPUICW1OUT0101CPUICW2、ICW3、ICW4、OCW1010000CPUOCW2010001CPUOCW30010IRR/ISRCPUIN0011IMRCPU1数据总线高阻状态11数据总线高阻状态第47页/共97页第四十八页,共97页。第48页/共97页第四十九页,共97页。第49页/共97页第五十页,共97页。完全嵌套方式完全嵌套方式 特殊全嵌套方式特殊全嵌套方式自动循环

24、方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断处理方式结束中断处理方式屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断请求触发方式中断请求触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式 缓冲方式缓冲方式 非缓冲方式非缓冲方式中断查询中断查询(chxn)方式方式第50页/共97页第五十一页,共97页。1.8259

25、A的编程结构的编程结构(jigu)第51页/共97页第五十二页,共97页。第52页/共97页第五十三页,共97页。8259A利用中断服务利用中断服务(fw)寄存器寄存器ISR判断:判断:某位为某位为1,表示正在进行中断服务,表示正在进行中断服务(fw);该位为该位为0,就是该中断结束服务,就是该中断结束服务(fw)。中断处理方式就是如何使中断处理方式就是如何使ISR某位为某位为0,第53页/共97页第五十四页,共97页。nCPU在程序中向8259A发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位n自动EOI结束方式第54页/共97页第五十五页,共97页。第55页/共97页第五十六页

26、,共97页。普通EOI循环方式原始状态ISR内容IR7IR6IR5IR4IR3IR2IR1IR000100100优先级76543210处理完IR2ISR内容00100000优先级43210765处理完IR5ISR内容00000000优先级10765432第56页/共97页第五十七页,共97页。特殊EOI循环方式初始状态ISR内容IR7IR6IR5IR4IR3IR2IR1IR001000100优先级76543210 0执行置位优先权指令后ISR内容01000100优先级32107654第57页/共97页第五十八页,共97页。断IRi被屏蔽(pngb)的同时,使ISR的Di位置0(开放低级别的中断

27、请求)第58页/共97页第五十九页,共97页。n中断查询(chxn)方式n OCW3、查询(chxn)字(P289)第59页/共97页第六十页,共97页。第60页/共97页第六十一页,共97页。第61页/共97页第六十二页,共97页。nICW1和ICW2是必须送的nICW3和ICW4由工作方式(fngsh)决定第62页/共97页第六十三页,共97页。1LTIMSNGLIC4D7D6D5D4D3D2D1D0表示表示(biosh)可以任意可以任意为为1为为0都可以都可以(建议为建议为0)1只能只能(zh nn)为为1,作为标志,作为标志中断触发方式:中断触发方式:LTIM1,电平触发方式,电平触发

28、方式LTIM0,边沿触发方式,边沿触发方式规定单片或级联方式:规定单片或级联方式:SNGL1,单片方式,单片方式SNGL0,级联方式,级联方式是否写入是否写入ICW4IC41,要写入要写入ICW4IC40,不写入,不写入ICW4A00第63页/共97页第六十四页,共97页。T7T6T5T4T3D7D6D5D4D3D2D1D0中断类型中断类型(lixng)号的低号的低3位位由由8259A自动确定:自动确定:IR0为为000、IR1为为001、IR7为为111A01T7T3为中断为中断类型号的高类型号的高5位位由程序由程序(chngx)设定设定第64页/共97页第六十五页,共97页。S7S6S5S

29、4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0主片主片8259A:Si1对应对应IRi接有从片;接有从片;否则否则IRi没有连接没有连接(linji)从片从片从片从片8259A:ID0ID2编码说明从片编码说明从片INT引脚接到主引脚接到主片哪个片哪个IR引脚引脚A01第65页/共97页第六十六页,共97页。000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:1:特殊特殊(tsh)全嵌套方式全嵌套方式0:非特殊非特殊(tsh)完全嵌套方式完全嵌套方式数据线的缓冲数据线的缓冲(hunchng)方式:方式:1:缓冲缓冲(hunchn

30、g)方式方式0:非缓冲非缓冲(hunchng)方式方式 缓冲方式主片缓冲方式主片/从片选择从片选择:1:主片主片0:从片从片中断结束方式:中断结束方式:1:自动中断结束自动中断结束0:非自动中断结束非自动中断结束A01BUF、M/S、SP/EN之间关系BUF位M/S位SP/EN端0:非缓冲 方式无意义SP有效(输入信号)SP=1SP=0主8259A从8259A1:缓冲方式1:主8259A0:从8259AEN有效(输出信号)EN=1EN=0CPU8259A8259ACPU微处理器类型:微处理器类型:1:16位位80 x860:8位位8080/8085第66页/共97页第六十七页,共97页。n若8

31、259A级联,由其确定是主片或从片第67页/共97页第六十八页,共97页。1 LTIM SNGL IC4例:8259初始化(主片)0 0 0 1 0 0 0 1T7T6T5T4T30 0 0 SFNMBUFM/SAEOI PMS7S6S5S4S3S2/ID2S1/ID1S0/ID0ICW4(方式(fngsh)控制)ICW3 (主/从)ICW2 (中断(zhngdun)类型号)0 0 0 0 1 0 0 0ICW1 (芯片控制)0 0 0 0 0 1 0 00 0 0 0 0 0 0 1第68页/共97页第六十九页,共97页。例:8259初始化(从片)1 LTIM SNGLIC40 0 0 1

32、0 0 0 1T7 T6 T5 T4 T30 0 0 SFNM BUFM/S AEOI PMS7S6 S5S4S3S2/ID2S1/ID1S0/ID0ICW4(方式(fngsh)控制)ICW3 (主/从)ICW2 (中断(zhngdun)类型号)0 1 1 1 0 0 0 0ICW1 (芯片控制)0 0 0 0 0 0 1 00 0 0 0 0 0 0 1第69页/共97页第七十页,共97页。第70页/共97页第七十一页,共97页。第71页/共97页第七十二页,共97页。M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0内容写入中断屏蔽寄存器内容写入中断屏蔽寄存器IMRDiMi对

33、应对应(duyng)IRi,为,为1禁止禁止IRi中中断;断;为为0允许允许IRi中断。各位互相独立。中断。各位互相独立。A01第72页/共97页第七十三页,共97页。RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使用配合使用(shyng)产生中断结束产生中断结束EOI命令和命令和改变优先权顺序改变优先权顺序001:普通普通EOI方式方式011:特殊特殊EOI方式方式101:普通普通EOI循环方式循环方式111:特殊特殊EOI循环方式循环方式000:自动自动EOI循环循环(复位复位)100:自动自动EOI循环循环(置位置位)110:置位优先权命令置位优先权命

34、令010:无效无效L2L0的的3位编码位编码(bin m)指定指定IR引脚引脚 A00标识见p295组合功能表第73页/共97页第七十四页,共97页。0ESMMSMM01PRRRISD7D6D5D4D3D2D1D0设置中断屏蔽方式设置中断屏蔽方式(fngsh)0:无效:无效10:特殊屏蔽方式:特殊屏蔽方式(fngsh)复位复位11:特殊屏蔽方式:特殊屏蔽方式(fngsh)置位置位规定规定(gudng)随后读取的状态字含随后读取的状态字含义义10:读读IRR11:读读ISRA00标识1:查询查询8259状态状态0:不查询不查询特殊屏蔽方式:特殊屏蔽方式:只屏蔽本级中断,允许高级或低级中断进入第7

35、4页/共97页第七十五页,共97页。n查询字反映8259A是否(sh fu)有中断请求n中断查询方式用于多于64级中断的场合。第75页/共97页第七十六页,共97页。IRW2W1W0D7D6D5D4D3D2D1D0中断中断(zhngdun)位位IR为为1,有外设请求中断有外设请求中断(zhngdun)W2W0的编码的编码(bin m)为为当前中断请求的最高优先级当前中断请求的最高优先级A00第76页/共97页第七十七页,共97页。第77页/共97页第七十八页,共97页。第78页/共97页第七十九页,共97页。CS A0 D7-D0 INTA INT CAS0 从8259A CAS1 2 CAS

36、2SP/EN IR7 IR0CS A0 D7-D0 INTA INT CAS0 从8259A CAS1 1 CAS2SP/EN IR7 IR0CS A0 D7-D0 INTA INTCAS0CAS1 主8259ACAS2SP/EN IR7IR6 IR4IR3IR0地址总线(16)控制(kngzh)总线数据总线(8)中断请求8259A级联方式(fngsh)VCC第79页/共97页第八十页,共97页。第80页/共97页第八十一页,共97页。第81页/共97页第八十二页,共97页。RD WR CS A0 D7-D0 INTA INTRD WR CS A0 D7-D0 INTA INT CAS0 CA

37、S0 从从8259A CAS18259A CAS1 CAS2 CAS2SP/EN IRSP/EN IR7 7IRIR6 6IRIR5 5IRIR4 4 IR IR0 0CS A0 D7-D0 INTA INT RD WRCS A0 D7-D0 INTA INT RD WRCAS0CAS0CAS1 CAS1 主主8259A8259ACAS2CAS2SP/EN IRSP/EN IR7 7IRIR6 6IRIR5 5IRIR4 4 IRIR3 3IRIR2 2IRIR1 1IRIR0 08259A级联方式级联方式(fngsh)VCC 38259A级联使用例子(300页)某系统中两片8259A采用中断

38、(zhngdun)级联方式组成中断(zhngdun)系统,从片的INT端连8259A主片的IR3端。若当前8259A主片从IR1、IR5,端引入两个中断(zhngdun)请求,中断(zhngdun)类型号为31H、35H。中断(zhngdun)服务程序的段基址为1000H,偏移地址分别为2000H及3000H。8259A从片由IR4、IR5端引入两个中断(zhngdun)请求,中断(zhngdun)类型号为44H和45H,中断(zhngdun)服务程序段基址为2000H,偏移地址为3600H及4500H。第82页/共97页第八十三页,共97页。000C40020000C60010:000D40

39、030000D60010:00110003600120020001140045001160020IP 中断类型号中断类型号31HCS 入口地址入口地址IP 中断类型号中断类型号35HCS 入口地址入口地址IP 中断类型号中断类型号44HCS 入口地址入口地址IP 中断类型号中断类型号45HCS 入口地址入口地址主主8259A引入引入的中断请求的中断请求从从8259A引入引入的中断请求的中断请求中断入口中断入口(r ku)地址地址表表第83页/共97页第八十四页,共97页。(1)中断向量形成中断向量形成(xngchng):将:将4个中断入口地址写入中断向量表。个中断入口地址写入中断向量表。MOV

40、 AX,1000H ;送入段地址;送入段地址MOV DS,AXMOV DX,2000H ;送入偏移地址;送入偏移地址MOV AL,31H ;中断类型号;中断类型号3lHMOV AH,25HINT 21HMOV DX,3000HMOV AL,35H ;中断类型号中断类型号35HINT 21HMOV AX,2000HMOV DS,AXMOV DX,3600HMOV AL,44H ;中断类型号中断类型号44HMOV AH,25HINT 21HMOV DX,4500HMOV AL,45H ;中断类型号中断类型号45HINT 21H第84页/共97页第八十五页,共97页。(2)主片主片8259A初始化编

41、程:初始化编程:8259A主片端口地址为主片端口地址为FFC8H和和FFC9H。MOV AL,11H ;定义;定义ICW1,主片,主片8259A级联使用,边沿触发级联使用,边沿触发MOV DX,0FFC8HOUT DX,ALMOV AL,30H ;定义;定义ICW2,中断,中断(zhngdun)类型号类型号30H37HMOV DX,0FFC9HOUT DX,ALMOV AL,08H ;定义定义ICW3,IR3端接从片端接从片8259A的的INT端端OUT DX,ALMOV AL,11H ;定义定义ICW4,特殊全嵌套方式,非缓冲方式,特殊全嵌套方式,非缓冲方式,OUT DX,AL ;非自动非自

42、动EOI结束方式结束方式MOV AL,0D5H ;定义定义OCW1,允许,允许IR1,IR3,IR5中断中断(zhngdun),其余端,其余端OUT DX,AL ;口中断口中断(zhngdun)请求屏蔽请求屏蔽MOV AL,20H ;定义定义OCW2,普通,普通EOI结束方式结束方式MOV DX,0FFC8HOUT DX,AL1LTIMSNGL IC40 0 0 1 0 0 0 1T7T6T5T4T30 0 0 SFNMBUFM/SAEOIPMS7S6S5S4S3S2/ID2S1/ID1S0/ID00 0 1 1 0 0 0 0M7 M6 M5 M4 M3 M2 M1 M0RSL EOI00L

43、2L1L0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0第85页/共97页第八十六页,共97页。(3)8259A从片初始化编程片从片初始化编程片,从片从片8259A的端口地址为的端口地址为FFCAH和和FFCBH。MOV AL,11H ;定义定义ICW1,级联使用边沿触发,级联使用边沿触发(chf),要设置,要设置ICW4MOV DX,0FFCAHOUT DX,ALMOV AL,40H ;定义定义ICW2,引入中断类型号为,引入中断类型号为40H47HMOV DX,0FFCBHOUT DX,ALMOV AL,03H ;定义定义ICW3,从片接在主片的,从片接在主片的IR3端端

44、OUT DX,ALMOV AL,01H ;定义定义ICW4,完全嵌套方式,非缓冲方式,完全嵌套方式,非缓冲方式OUT DX,AL ;非自动非自动EOI结束方式结束方式MOV AL,0CFH ;定义定义OCW1,允许,允许IR4、IR5中断引入中断引入OUT DX,AL ;其余端口中断请求屏蔽其余端口中断请求屏蔽 MOV DX,0FFCAH ;定义定义OCW2,MOV AL,20H ;普通普通EOI结束方式结束方式OUT DX,AL无论对主片无论对主片8259A或从片或从片8259A,操作命令字可根据需要在操作过程中设置,操作命令字可根据需要在操作过程中设置,OCW2命令字命令字定义中断结束方式

45、时,通常放在中断服务子程序中。定义中断结束方式时,通常放在中断服务子程序中。1LTIMSNGL IC40 0 0 1 0 0 0 1T7T6T5T4T30 0 0 SFNMBUFM/SAEOIPMS7S6S5S4S3S2/ID2S1/ID1S0/ID00 1 0 0 0 0 0 0M7 M6 M5 M4 M3 M2 M1 M0 1 1 0 0 1 1 1 1RSL EOI00L2L1L0 0 0 1 0 0 0 0 0第86页/共97页第八十七页,共97页。主片中断结束主片中断结束(jish)命令:命令:MOV AL,20H ;定义;定义OCW2,普通普通EOI结束结束(jish)方式方式MO

46、V DX,0FFC8HOUT DX,AL从片中断结束从片中断结束(jish)命令:命令:MOV AL,20H ;定义;定义OCW2,普通普通EOI结束结束(jish)方式方式MOV DX,0FFCAHOUT DX,ALRSL EOI 00L2 L1 L0第87页/共97页第八十八页,共97页。第88页/共97页第八十九页,共97页。编写主程序,需注意:修改中断(zhngdun)向量控制CPU的中断(zhngdun)允许标志设置8259A的中断(zhngdun)屏蔽寄存器第89页/共97页第九十页,共97页。第90页/共97页第九十一页,共97页。;以下为主程序START:MOV AX,DATA

47、 MOV DS,AX MOV AL,0FH ;0FH为中断类型(lixng)号(IR7对应的中断类型(lixng)号)MOV AH,35H ;获取中断向量功能号 INT 21H ;调用后,中断向量段址在ES中,偏移量在BX中 MOV INT_SEG,ES ;保存原中断向量段址 MOV INT_OFF,BX ;保存原中断向量偏移量 CLI ;关中断 MOV AL,0FH ;中断类型(lixng)号 MOV AH,25H ;设置中断向量功能号 PUSH DS MOV DX,SEG INT_PRO MOV DS,DX ;DS指向新中断向量段址 MOV DX,OFFSET INT_PRO;DX指向新中

48、断向量偏移量 INT 21H第91页/共97页第九十二页,共97页。POP DS ;恢复数据段寻址 IN AL,21H ;解除IR7的屏蔽位 AND AL,7FH OUT 21H,AL MOV Bl,0 ;计数器初值,传递给中断子程序 MOV CNT,0 ;计数单元初值为0L1:STI CMP CNT,BL ;比较判断(pndun)JZ L1 ;相同,CPU循环等待,每产生一次中断BL增1 MOV DL,BL ;准备调用显示功能 ADD DL,30H ;转换成ASCII码 MOV AH,2 INT 21H ;屏幕显示 MOV CNT,BL ;保存 CMP BL,9 JZ L2 ;计满9次转移

49、JMP L1M7M6M5M4M3M2M1M0等待(dngdi)中断第92页/共97页第九十三页,共97页。CLI ;恢复中断向量前关中断L2:MOV AL,0FH ;中断类型号 MOV AH,25H ;设置原中断向量功能号 MOV DX,INT_OFF ;DX装入原中断向量偏移量 MOV BX,INT_SEG MOV DS,BX ;DS装入原中断向量段址 INT 21H IN AL,21H ;屏蔽IR7位 OR AL,80H OUT 21H,AL STI MOV AX,4C00H ;返回(fnhu)操作系统 INT 21HM7M6M5M4M3M2M1M0第93页/共97页第九十四页,共97页。

50、;以下为中断服务程序INT_PRO PROC FAR STI INC BL ;计数器加1,传递参数 MOV AL,20H ;中断结束命令(OCW2)普通EOI方式 OUT 20H,AL IRET ;中断返回(fnhu)INT_PRO ENDP ;中断程序结束CODE ENDS END START ;主程序结束RSLEOI00L2L1L0第94页/共97页第九十五页,共97页。PentiumPentium处理器的中断类型处理器的中断类型 1.1.硬件中断(可屏蔽中断、不可屏蔽中断)硬件中断(可屏蔽中断、不可屏蔽中断)2.2.软件中断(软件中断(INT nINT n)3.3.异常异常 如果处理器在

51、执行如果处理器在执行(zhxng)(zhxng)一条指令的过程中一条指令的过程中,出现错误或其他不正常情况,就会引发内部中断和异常。出现错误或其他不正常情况,就会引发内部中断和异常。它是自动被测试的,不仅不受它是自动被测试的,不仅不受IFIF中断允许标志位的影响,中断允许标志位的影响,而且中断类型号是固定的,中断处理功能也是约定好的。而且中断类型号是固定的,中断处理功能也是约定好的。根据出错位置的处理,可大致将这些内部中断和根据出错位置的处理,可大致将这些内部中断和异常分成失效异常分成失效(fault)(fault)、陷阱、陷阱(trap)(trap)和中止和中止(abort)(abort)三类。三类。第95页/共97页第九十六页,共97页。n失效类是错误出现在指令完成之前。在保护中断现场的过程中,将造成错误的指令的CS:EIP压入堆栈保存;当中断服务完成恢复中断现场后,发生错误的指令就会重新(chngxn)执行。n陷阱类是错误出现在指令完成之后。保护中断现场的过程将造成错误的指令的下一条指令的CS:EIP压入堆栈保存,于是中断返回后执行的是形成陷阱指令的下一条指令。n中止类是不保存有关错误发生位置的任何信息,一般是严重的系统故障,如硬件故障及无效的系统表等,往往需要重新(chngxn)启动系统。第96页/共97页第九十七页,共97页。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!