第五章数字量输入输出2of7_第1页
第五章数字量输入输出2of7_第2页
第五章数字量输入输出2of7_第3页
第五章数字量输入输出2of7_第4页
第五章数字量输入输出2of7_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、 15.3 5.3 中中 断断主要内容:主要内容:一、基本概念一、基本概念 1. 1. 中断的功能中断的功能 2. 2. 中断的分类中断的分类 3. 3. 中断的响应过程中断的响应过程二、可编程中断控制器二、可编程中断控制器8259A8259A 25.3 5.3 中中 断断一、基本概念一、基本概念( (一一) )中断的中断的概念概念及及功能功能 当前程序当前程序: :中断发生时正执行的程序中断发生时正执行的程序( (主程序主程序) )当前指令当前指令:中断发生时正在执行的指令。:中断发生时正在执行的指令。中断中断:当前指令完成后,打断原正常的执行:当前指令完成后,打断原正常的执行顺序,插入执行

2、另一段程序后返回继续。顺序,插入执行另一段程序后返回继续。 3中断源中断源: :发出原始中断请求信号的设备发出原始中断请求信号的设备( (接口接口) )中断服务程序中断服务程序:中断后插入执行的另一段程:中断后插入执行的另一段程序,一般是为中断源实现序,一般是为中断源实现I/OI/O服务。服务。断点断点:中断发生时主程序中原应执行的下一:中断发生时主程序中原应执行的下一条指令,具体化为条指令,具体化为CSCS、IPIP、FLAGSFLAGS。现场现场:中断发生时其他需保护的寄存器。:中断发生时其他需保护的寄存器。 4( (二二) ) 中断分类中断分类(1)(1)除以零中断:产生除以零中断:产生

3、INT INT 0 0(2)(2)单步中断:当单步中断:当IF=TF=1IF=TF=1时时, ,产生产生INT INT 1 1(3)(3)溢出中断溢出中断: :当当OF=1OF=1时执行时执行INTO,INTO,产生产生INT INT 4 4以上三种都是以上三种都是CPU产生产生中断类型号中断类型号n。 (4) 其它其它 INT n指令指令,由指令提供中断类型号由指令提供中断类型号n。由中断类型号由中断类型号 n,用,用4n当作指针到中断矢量表中当作指针到中断矢量表中取中断服务程序取中断服务程序入口地址入口地址,转入服务,转入服务 5 6非屏蔽中断非屏蔽中断NMINMI不受不受IFIF控制,控

4、制, CPUCPU产生产生 INT 2INT 2NMINMI中断源:浮点运算协处理器中断源:浮点运算协处理器80878087请求、请求、 RAMRAM错、错、I/OI/O通道错通道错CPU中的非屏蔽,在系统板上增加了屏蔽:中的非屏蔽,在系统板上增加了屏蔽:NMI屏蔽寄存器屏蔽寄存器可以控制可以控制NMI允许允许 / 禁止禁止NMI屏蔽寄存器仅屏蔽寄存器仅1位,接位,接DB7 ,当作,当作I/O端端口管理,端口地址为口管理,端口地址为A0H: MOV AL,80H ;D7=1 OUT 0A0H,AL ;允许;允许NMI若清零若清零AL后输出则禁止后输出则禁止NMI。 7(2) (2) 可屏蔽中断

5、可屏蔽中断INTRINTR 外部中断源的请求经过外部中断源的请求经过82598259产生。产生。PC/XTPC/XT中外部中断类型号为中外部中断类型号为080FH080FH, 286286以上机器外部中断类型号还有以上机器外部中断类型号还有70H77H70H77H 不论何种中断,得到响应后都是首先获取中不论何种中断,得到响应后都是首先获取中断类型号断类型号n,其值都在,其值都在0255的范围。然后根的范围。然后根据据n乘以乘以4到中断矢量表中寻找中断服务程序到中断矢量表中寻找中断服务程序的入口地址,转入中断服务程序。的入口地址,转入中断服务程序。 8中断类型与中断类型与响应条件响应条件判断判断

6、中断响应中断响应 91 1形成中断类型号形成中断类型号 n n;2 2保护断点:保护断点:FLAGSFLAGS入栈、清零入栈、清零IFIF及及TFTF、CSCS入栈、入栈、IPIP入栈;入栈;3 3以以 4n 4n 到中断矢量表中取中断服务程到中断矢量表中取中断服务程序入口地址。序入口地址。 中断矢量表见中断矢量表见P397P397附录附录8 84 4执行中断服务程序执行中断服务程序( (保护现场、保护现场、I I/ /O O服服务、恢复现场、务、恢复现场、IRETIRET)5.5.返回断点返回断点 10下一条下一条主程序主程序当前指令当前指令中断申请矢量表矢量表0+3+2+14nCSIP3F

7、FHSS堆栈堆栈SP-1-2-3-4-5-6FLAGCSIPIRET中断中断服务程序服务程序 入口入口中断服中断服务务根据中断类型号根据中断类型号n到中断矢量到中断矢量表找服务程序入口表找服务程序入口 11主要功能:主要功能:针对多个中断请求,对其进行屏蔽、优先级等管理针对多个中断请求,对其进行屏蔽、优先级等管理向向CPUCPU转达中断请求,并视转达中断请求,并视CPUCPU的响应送出中断类的响应送出中断类型号型号要点:要点:u中断请求是如中断请求是如何识别的?何识别的?u片内是如何寻址的?片内是如何寻址的?u类型号是如何确定及何时向类型号是如何确定及何时向CPUCPU送出的?送出的?u中断请

8、求的处理是如何完结的?中断请求的处理是如何完结的? 12每片可管理每片可管理8 8个外部中断源个外部中断源( (一一) 8529A) 8529A的构成的构成P253图图5.178259A功能框图功能框图 13请求寄存器请求寄存器IRRIRR、服务寄存器、服务寄存器ISRISR 都属于状态信息。都属于状态信息。初始化寄存器初始化寄存器组组ICWICW、工作寄存器、工作寄存器组组OCWOCW 主要是控制命令。主要是控制命令。 14P2P25353 图图5.15.16 6 8257A 8257A引脚引脚 15(1) (1) 外部请求信号外部请求信号IRIR7 7IRIR0 0:可连接可连接8 8个外

9、部中断源,接受外设中断请个外部中断源,接受外设中断请求信号,按照中断系统设计的功能进求信号,按照中断系统设计的功能进行屏蔽、中断优先级等管理行屏蔽、中断优先级等管理(2) (2) 对对CPUCPU的联系信号:的联系信号: INT:INT:中断请求。接受中断请求。接受IRIR后向后向CPUCPU转达转达 INTA:INTA:中断响应,中断响应,CPUCPU回答回答8259A8259A的允许的允许 16 CS: CS:片选,系统片选,系统I/OI/O译码选中本片。译码选中本片。 A A0 0 : :地址线,片内译码再与地址线,片内译码再与 片选地址组合,选中各寄存器。片选地址组合,选中各寄存器。

10、RD:RD:读,读,CPUCPU读读8259A8259A各寄存器内容。各寄存器内容。 WR:WR:写,写,CPUCPU写数据到写数据到8259A8259A各寄存器各寄存器。 若若A A0 0接系统总线接系统总线A A1 1? 17(3) (3) 级连信号:级连信号: SP/EN:SP/EN:主片接主片接+5+5V V,从片接地。,从片接地。 CASCAS2 2CASCAS0 0: 主片输出三位主片输出三位2 2进制进制从片标识码从片标识码, 从片接受后与自己的从片接受后与自己的编号编号对比识别。对比识别。 188259的级连信号的级连信号应答应答请求请求 IR0 IR1 IR2 IR6 IR7

11、INTINTA8259主片主片SP +5V(去(去CPU)IRQ0IRQ2IRQ7CAS20INTINTA8259从片从片1 CAS20SPINTA8259从片从片8 SPINT 19先初始化编程先初始化编程( (写写ICW)ICW)一般一次完成。一般一次完成。后工作编程后工作编程( (写写OCW)OCW)工作中可重复多次。工作中可重复多次。1.1.内部寄存器的读写内部寄存器的读写在在CSCS有效时如何进一步寻址内部寄存器有效时如何进一步寻址内部寄存器用地址信号进行片内译码用地址信号进行片内译码对于对于8259A,8259A,只有一条地址线只有一条地址线A A0 0,只能译出两个只能译出两个片

12、内地址:奇地址和偶地址片内地址:奇地址和偶地址 20辅助寻址手段辅助寻址手段特征位:用所写字节的某些位作辅助寻址特征位:用所写字节的某些位作辅助寻址的特征的特征顺顺 序:用写的顺序辅助寻址序:用写的顺序辅助寻址RD/WRRD/WR信号:只读寄存器和只写寄存器合用信号:只读寄存器和只写寄存器合用一个地址,用一个地址,用RD/WRRD/WR信号辅助寻址信号辅助寻址 见见 P P255 255 表表5.45.4初始化完成后,片内奇地址固定用来读中断初始化完成后,片内奇地址固定用来读中断屏蔽寄存器屏蔽寄存器IMR/IMR/写写OCW1OCW1。OCWOCW1 1写到写到IMRIMR中二者内容相等名称混

13、用。中二者内容相等名称混用。 21ICWICW1 1 ICW ICW2 2 ICW ICW3 3 ICW ICW4 4 (1) ICW(1) ICW1 1 主初始化命令字,用偶地址写主初始化命令字,用偶地址写任何时候,任何时候, 若用若用偶地址偶地址对本片写一个对本片写一个D4=1的字节,的字节, 则理解为写则理解为写ICW1, 即即8259A的初始化开始。的初始化开始。 系统上电时完成初始化,系统上电时完成初始化, 以后一般只作工作编程。以后一般只作工作编程。 22ICW1格式P256 图图5.20 ICW1的作用的作用只对只对8080/8085系统有意义系统有意义 23(2) (2) IC

14、WICW2 2中断类型号,用奇地址写。中断类型号,用奇地址写。即每个中断源产生中断的类型号。即每个中断源产生中断的类型号。 同一片中同一片中8 8个中断类型号连续个中断类型号连续 (按(按IRIR0707 的序号的序号D D2 2 D D0 0 自动从自动从 000 000 排到排到 111 )111 )。 24 25(3) (3) ICWICW3 3 级连命令字,用奇地址写。级连命令字,用奇地址写。 多片级连时才用写,单片时不用写。多片级连时才用写,单片时不用写。 主片和各从片的主片和各从片的ICWICW3 3格式不同格式不同, ,分别写。分别写。 每个从片还要分别写。每个从片还要分别写。

15、26 27第一周期:第一周期:相应的相应的ISRISR位置位置1 1,IRRIRR位复位;位复位;主主片检测被响应的片检测被响应的IRIR端是否接有从片,若有端是否接有从片,若有则送出被响应的从片标识码到则送出被响应的从片标识码到CASCAS2 2 CAS CAS0 0。第二周期:将自己的中断类型号送到数据总第二周期:将自己的中断类型号送到数据总线上供线上供CPUCPU读取读取,如中断源来自从片则是由,如中断源来自从片则是由被响应的被响应的从从片片送出中断类型号送出中断类型号。 28(4) ICW4 多种功能,用奇地址写。多种功能,用奇地址写。 一般嵌套:只响应更高级一般嵌套:只响应更高级 特

16、殊嵌套:同级也可以响应,用于级连特殊嵌套:同级也可以响应,用于级连 29正常正常EOI:每响应一个外部中断,会将每响应一个外部中断,会将8259的的ISR寄存寄存器相应位置器相应位置1,参与以后的优先级比较。,参与以后的优先级比较。用户中断服务程序结尾发用户中断服务程序结尾发EOI命令清除命令清除ISR中中相应位,相应位,8259可以处理后续中断。可以处理后续中断。自动自动EOI:中断响应时:中断响应时8259一送出中断类型一送出中断类型号,即自动清除号,即自动清除ISR中相应位。中相应位。在使用系统中的8259A时,由于操作系统已经做完了初始化编程,用户应遵守其初始化的约定,只作工作编程。

17、30(1) OCW(1) OCW1 1 用奇地址写到用奇地址写到IMRIMR中。中。 CPUCPU中的中的IFIF管整个系统管整个系统8259的中断屏蔽字只管本片的中断屏蔽字只管本片的IRIR信号信号 初始化编程完成后,片内奇地址固定用初始化编程完成后,片内奇地址固定用来读来读/写写IMR(OCW1)。P258 图图5.24 OCW1的作用(中断屏蔽字)的作用(中断屏蔽字) 31(2) OCW2 多种功能,多种功能,最常用:中断结束命令(最常用:中断结束命令(EOI)D5=1 P258 图图5.25 OCW2的作用的作用 32随后查询随后查询IR7IR0的状态的状态 33读之前先写读之前先写O

18、CWOCW3 3, , 其其D D2 2D D1 1D D0 0决定后续读决定后续读(用偶地址)的对象:(用偶地址)的对象: D D2 2D D1 1D D0 0=010,=010,读中断请求寄存器读中断请求寄存器IRRIRR。 D D2 2D D1 1D D0 0=011,=011,读中断服务寄存器读中断服务寄存器ISRISR。 D D2 2D D1 1D D0 0=1XX,=1XX,查询外部请求信号,即读查询外部请求信号,即读IRIR7 7IRIR0 0的状态的状态(有则读出的D7为1,且低3位为优先级最高的外部请求编码)。 34( (一一) ) IBM PC/XTIBM PC/XT系统中

19、的连接系统中的连接P260 图图5.27 8259A的连接的连接 35 其中其中第第3 3、4 4句句设置中断向量为设置中断向量为8 8,对照,对照ICWICW2 2 理解自动形成理解自动形成8 8个矢量个矢量8 80FH0FH; 再到附录再到附录8 8理解各个中断矢量表项(理解各个中断矢量表项(P P397397) 用户使用时用户使用时不要再做初始化不要再做初始化movAL,13H;ICW1out20H,ALmovAL,8;ICW2out21H,ALmov AL, 9 ; ICW4out 21H, AL 36( (三三) ) 外部中断的过程外部中断的过程 发发EOIEOI命令:命令: mov

20、mov AL AL,20H 20H ; outout 20H 20H,AL AL ; 写写OCWOCW2 2( (四四) )中断矢量表的修改中断矢量表的修改 教材P62列有利用串传送(STOSW)指令直接写和通过AH=25H的DOS系统功能调用2种方式建议用建议用DOS系统功能调用系统功能调用 37F中断向量表的操作中断向量表的操作取中断向量取中断向量预置预置AH=35H, AL=中断类型号中断类型号执行执行INT 21H把类型号为把类型号为AL的中断向量取出到的中断向量取出到ES:BX中中设置中断向量设置中断向量预置预置AH=25H, AL=中断类型号中断类型号,DS:DX=中断向量中断向量执行执行INT 21H把把DS:DX指向的中断向量放置到中断向量表指向的中断向量放置到中断向量表中类型号为中类型号为AL的中断向量处的中断向量处 38F中断向量表的操作中断向量表的操作例:填写中断向量表,实现用户所定义的例:填写中断向量表,实现用户所定义的60H中断中断.CLIPUSH DSMOV AX, SEG INTP60MOV DS, AXMOV DX, OFFSET INTP60MOV AH, 25HMOV AL, 60HINT 21HPOP DSSTI.

温馨提示

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

评论

0/150

提交评论