已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及接口技术微机原理及接口技术 主编 梁建武 中国水利水电出版社 5.1 中断接口技术 n8088的中断系统采用向量中断机制 n能够处理256个中断 n用中断向量号0255区别 n可屏蔽中断还需要借助专用中断控制 器Intel 8259A实现优先权管理 8088的中断类型 非屏蔽中断源 中断逻辑 INTO 指令 单步 中断 除法 错误 INT N 指令 CPU INTR NMI 可屏蔽中断源 8259A 中断 控制器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 外 设 中 断 源 INTA n内部中断 n除法错中断 n指令中断 n溢出中断 n单步中断 n外部中断 n非屏蔽中断 n可屏蔽中断 1. 外部中断 n外部中断是由于8088外部提出中断请求引 起的程序中断 n利用外部中断,微机系统可以实时响应外 部设备的数据传送请求,能够及时处理外 部意外或紧急事件 n外部中断的原因是处理器外部随机产生的 ,所以是真正的中断(Interrupt) n内部中断的原因是处理器执行程序出现异 常,所以经常被称为异常(Exception) 非屏蔽中断 n通过非屏蔽中断请求信号向微处理器提出的中断请 求,微处理器无法禁止,将在当前指令执行结束予 以响应,这个中断被称为非屏蔽中断 n8088的非屏蔽中断的向量号为2,非屏蔽中断请求 信号为NMI n非屏蔽中断主要用于处理系统的意外或故障。例如 : n电源调电前的数据保护 n存储器读写错误的处理 可屏蔽中断 n外部通过可屏蔽中断请求信号向微处理器提出的 中断,微处理器在允许可屏蔽中断的条件下,在 当前指令执行结束予以响应,同时输出可屏蔽中 断响应信号,这个中断就是可屏蔽中断 n8088的可屏蔽中断请求和响应信号分别是INTR和 INTA*;由IF标志控制可屏蔽中断是否允许响应 ;向量号来自外部中断控制器 n8088通常需要配合中断控制器8259A共同处理可屏 蔽中断 n可屏蔽中断主要用于主机与外设交换数据 IF控制可屏蔽中断的响应 中断标志IF的状态 nIF0:可屏蔽中断不会被响应 n关中断、禁止中断、中断屏蔽 n系统复位,使IF0 n任何一个中断被响应,使IF0 n执行指令CLI,使IF0 nIF1:可屏蔽中断会被响应 n开中断、允许中断、中断开放 n执行指令STI,使IF1 n执行指令IRET恢复原IF状态 明确IF标志的状态是关键 8088的中断响应过程 NMI N 软件中断 INTR TF=1 中断响应周期 读中断向量号 下条指令 现行指令 IF1 N NN N Y Y Y Y Y 查询中断的顺序, 决定了各种中断源的优先权 n软件中断 n除法错中断 n指令中断 n溢出中断 n非屏蔽中断 n可屏蔽中断 n单步中断 高 低 8088的中断响应过程(续) Y 还有NMI TEMP1 标志寄存器入栈 TEMPTF,IFTF0 CS:IP入栈 获取中断向量 执行服务程序 弹出CS:IP 弹出标志寄存器 返回被中断程序 (1) (2) (3) (4) (5) N N Y (6) n8088各种中断源的优先权, 实际上是指被识别出来的先后 n多种中断同时请求时, 最先响应的则可能是 单步中断或NMI中断 8088的中断向量表 n中断向量:中断服务程序的入口地址(首地址) n逻辑地址含有段地址CS和偏移地址IP(32位) n每个中断向量的低字是偏移地址、高字是段地址 ,需占用4个字节 n8088微处理器从物理地址000H开始,依次安排各 个中断向量,向量号也从0开始 n256个中断占用1KB区域,就形成中断向量表 向量号为N的中断向量的 物理地址N4 内部中断服务程序 n编写内部中断服务程序与编写子程序类似 n利用过程定义伪指令PROC/ENDP n第1条指令通常为开中断指令STI n最后用中断返回指令IRET n通常采用寄存器传递参数 n主程序需要调用中断服务程序 n调用前,需要设置中断向量 n利用INT n指令调用中断服务程序 例 内部中断服务程序 n编写80H号中断服务程序 n功能:显示以“0”结尾字符串的功能 n利用显示器功能调用INT 10H n字符串缓冲区首地址为入口参数 nDS:DX(段地址:偏移地址)传递参数 数据段 intoffdw ? intsegdw ? intmsgdb A Instruction Interrupt ! db 0dh,0ah,0 回车、换行 以“0”结尾 保存中断向量 mov ax,3580h int 21h mov intoff,bx;保存偏移地址 mov intseg,es;保存段基地址 获取中断向量(DOS功能调用INT 21H) 功能号:AH35H 入口参数:AL中断向量号 出口参数:ES:BX中断向量(段地址:偏移地址) 设置中断向量 push ds mov dx,offset new80h mov ax,seg new80h mov ds,ax mov ax,2580h int 21h pop ds 设置中断向量(DOS功能调用INT 21H) 功能号:AH25H 入口参数:AL中断向量号 DS:DX中断向量(段地址:偏移地址) 调用中断服务程序 ;设置入口参数:DS段地址(已设置) DX偏移地址 mov dx,offset intmsg int 80h ;调用80H中断服务程序 A Instruction Interrupt ! 进入中断服务程序 ;80H号内部中断服务程序: ;显示字符串(以“0”结尾) ;入口参数:DS:DX缓冲器首地址 new80h proc sti;开中断 push ax;保护寄存器 push bx push si A Instruction Interrupt ! 显示字符串 mov si,dx new1:mov al,si cmp al,0 jz new2 mov bx,0 mov ah,0eh int 10h inc si jmp new1 A Instruction Interrupt ! 退出中断服务程序 new2:pop si;恢复寄存器 pop bx pop ax iret;中断返回 new80h endp A Instruction Interrupt ! 主程序结束 mov dx,intoff mov ax,intseg mov ds,ax mov ax,2580h int 21h mov ax,4c00h int 21h A Instruction Interrupt ! 5.1.1 8259A中断控制器 nIntel 8259A是可编程中断控制器PIC n可用于管理Intel 8080/8085、8086/8088、 80286/80386的可屏蔽中断 n8259A的基本功能 n一片8259A可以管理8级中断,可扩展至64级 n每一级中断都可单独被屏蔽或允许 n在中断响应周期,可提供相应的中断向量号 n8259A设计有多种工作方式,可通过编程选择 (一)8259A的内部结构和引脚 D7D0 INTA INT 中断请求寄存器 中断屏蔽寄存器 数据 总线 缓冲器 IR0 IR7 读/写 控制 逻辑 级联 缓冲器 比较器 RD WR A0 CS CAS0 CSA1 CAS2 SP/EN 优先权判别电路 中断服务寄存器 控制逻辑 1. 中断控制 n中断请求寄存器IRR n保存8条外界中断请求信号IR0IR7的请求状态 nDi位为1表示IRi引脚有中断请求;为0表示无请求 n中断服务寄存器ISR n保存正在被8259A服务着的中断状态 nDi位为1表示IRi中断正在服务中;为0表示没有被服务 n中断屏蔽寄存器IMR n保存对中断请求信号IR的屏蔽状态 nDi位为1表示IRi中断被屏蔽(禁止);为0表示允许 2. 与处理器接口 A0 RD* WR* CS*功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 写入ICW1、OCW2和OCW3 写入ICW2ICW4和OCW1 读出IRR、ISR和查询字 读出IMR 数据总线高阻状态 数据总线高阻状态 3. 中断级联 n一个系统中,8259A可以级联,有一个主8259A, 若干个(最多8个)从8259A n级联时,主8259A的三条级联线CAS0CAS2作 为输出线,连至每个从8259A的CAS0CAS2 n每个从8259A的中断请求信号INT,连至主8259A 的一个中断请求输入端IR n主8259A的INT线连至CPU的中断请求输入端 nSP*/EN*在非缓冲方式下,规定该8259A是主片 (SP*1)还是从片(SP*0) 动画 示例 4. 8259A的中断过程 CAS0CAS2 D0D7 SP/EN IR0IR7 CPU响应周期 8259A工作波形 INT 第一个周期 T1 T2 T3 T4 ALE CLK 第二个周期 T1 T2 T3 T4 第一个前保持为高电平 INTA LOCK 动画 5.1.2 8259A的工作方式 普通全嵌套方式 特殊全嵌套方式 自动循环方式 特殊循环方式 优先权固定方式 优先权循环方式 设置优先权方式 普通中断结束方式 特殊中断结束方式 自动中断结束方式 非自动中断结束方式 结束中断处理方式 屏蔽中断源方式 普通屏蔽方式 特殊屏蔽方式 中断触发方式 边沿触发方式 电平触发方式 数据线连接方式 缓冲方式 非缓冲方式 1. 设置优先权方式 n普通全嵌套方式 n8259A的中断优先权顺序固定不变,从高到低依次为 IR0、IR1、IR2、IR7 n中断请求后,8259A对当前请求中断中优先权最高的中 断IRi予以响应,将其向量号送上数据总线,对应ISR 的Di位置位,至到中断结束(ISR的Di位复位) n在ISR的Di位置位期间,禁止再发生同级和低级优先权 的中断,但允许高级优先权中断的嵌套 n特殊全嵌套方式 n优先权自动循环方式 n优先权特殊循环方式 2. 结束中断处理方式 什么是8259A的中断结束? 8259A利用中断服务寄存器ISR判断: n某位为1,表示正在进行中断服务; n该位为0,就是该中断结束服务。 这里说明如何使ISR某位为0, 不反映CPU的工作状态。 2. 结束中断处理方式 n自动中断结束方式 n普通中断结束方式 n配合全嵌套优先权方式使用 n当CPU用输出指令往8259A发出普通中断结束 EOI命令时,8259A就会把所有正在服务的中 断中优先权最高的ISR位复位 n特殊中断结束方式 n配合循环优先权方式使用 nCPU在程序中向8259A发送一条特殊中断结束 命令,这个命令中指出了要清除哪个ISR位 3. 屏蔽中断源方式 n普通屏蔽方式 n将IMR的Di位置1,则对应的中断IRi被屏 蔽,该中断请求不能从8259A送到CPU n如果IMR的Di位置0,则允许IRi中断产生 n特殊屏蔽方式 n将IMR的Di位置1,对应的中断IRi被屏蔽 的同时,使ISR的Di位置0 4. 中断触发方式 n边沿触发方式 n8259A将中断请求输入端出现的 上升沿作为中断请求信号 n电平触发方式 n中断请求端出现的高电平是有 效的中断请求信号 5. 数据线连接方式 n缓冲方式 n8259A的数据线需加缓冲器予以驱动 n8259A把SP*/EN*引脚作为输出端,输出允 许信号,用以锁存或开启缓冲器 n非缓冲方式 nSP*/EN*引脚为输入端 n若8259A级联,由其确定是主片或从片 5.1.3 8259A的编程 n初始化编程 n8259A开始工作前,必须进行初始化编程 n给8259A写入初始化命令字ICW n中断操作编程 n在8259A工作期间 n可以写入操作命令字OCW将选定的操作传 送给8259A,使之按新的要求工作 n还可以读取8259A的信息,以便了解他的工 作状态 1. 初始化命令字ICW n初始化命令字ICW最多有4个 n8259A在开始工作前必须写入 n必须按照ICW1ICW4顺序写入 nICW1和ICW2是必须送的 nICW3和ICW4由工作方式决定 流程 D7D6D5D4D3D2D1D0 ICW1 1LTIMSNGLIC4 D7D6D5D4D3D2D1D0 表示可以任意 为1为0都可以(建议为0) 1只能为1,作为标志 中断触发方式: LTIM1,电平触发方式 LTIM0,边沿触发方式 规定单片或级联方式: SNGL1,单片方式 SNGL0,级联方式 是否写入ICW4 IC41,要写入ICW4 IC40,不写入ICW4,即 ICW4规定的位全为0 ICW2 T7T6T5T4T3 D7D6D5D4D3D2D1D0 设置中断向量号 nT7T3为中断向量号的高5位 n低3位由8259A自动确定: nIR0为000、IR1为001、 IR7为111 ICW3 S7S6S5S4S3S2/ ID2 S1/ ID1 S0/ ID0 D7D6D5D4D3D2D1D0 级联命令字 n主片8259A:Si1对应IRi接有从片; 否则IRi没有连接从片 n从片8259A:ID0ID2编码说明从片 INT引脚接到主片哪个IR引脚 ICW4 000SFNMBUFM/SAEOIPM D7D6D5D4D3D2D1D0 嵌套方式: n特殊全嵌套方式(SFNM1) n普通全嵌套方式(SFNM0) 数据线的缓冲方式: n缓冲方式(BUF1) n非缓冲方式(BUF0) 主片/从片选择: n主片(M/S=1) n从片(M/S=0) 中断结束方式: n自动中断结束(AEOI1) n非自动中断结束(AEOI0) 微处理器类型: n16位80x86(PM1) n8位8080/8085(PM0) 2. 操作命令字OCW n8259A工作期间,可以随时接受操作命 令字OCW nOCW共有3个:OCW1OCW3 n写入时没有顺序要求,需要哪个OCW 就写入那个OCW D7D6D5D4D3D2D1D0 OCW1 M7M6M5M4M3M2M1M0 D7D6D5D4D3D2D1D0 屏蔽命令字 内容写入中断屏蔽寄存器IMR DiMi对应IRi,为1禁止IRi中断 ; 为0允许IRi中断。各位互相独立。 OCW2 RSLEOI00L2L1L0 D7D6D5D4D3D2D1D0 R、SL和EOI配合使 用 产生中断结束EOI命 令和改变优先权顺序 L2L0的3位编码 指定IR引脚 OCW3 0ESMMSMM01PRRRIS D7D6D5D4D3D2D1D0 ESMM、SMM 设置中断屏蔽方式 P、RR和RIS 规定随后读取的 状态字含义 3. 读取状态字 nCPU可读出IRR、ISR、IMR和查询字 nA0为低,由OCW3中RR和RIS位设定读 取IRR或ISR,由OCW3中P位设定读取 查询字 n而A0引脚为高电平时读取的都是IMR n查询字反映8259A是否有中断请求 D7D6D5D4D3D2D1D0 查询字 IW2W1W0 D7D6D5D4D3D2D1D0 中断位I位为1, 有外设请求中断 W2W0的编码 当前中断请求的 最高优先级 4. 命令字和状态字的区别方法 利用读写信号区别写入的控制寄存器和读 出的状态寄存器 利用地址信号区别不同I/O地址的寄存器 由控制字中的标志位说明是哪个寄存器 由芯片内顺序控制逻辑按一定顺序识别不 同的寄存器 由前面的控制字决定后续操作的寄存器 接口电路中常用的方法 5. 8259A应用举例 n例1 在某个8086最小方式系统中接有一片8259A,有一 外设中断请求从IR7输入,8259A端口地址如图5-18所 示。试按要求写出8259A的初始化程序。 n要求: n单片工作方式; n8259A的工作方式为:中断请求信号上升沿触发;采用全嵌套方式;采用普 通EOI方式; n中断向量号分布为0CH0C7H; n屏蔽IR0IR6的中断请求,允许IR7的中断请求。 n如图所示,8259A具有两个端口地址,有CPU的地址线A1控制,其端口号地 址的高位由译码器的输出端 提供,组合逻辑电路可以使其8259A为偶地址, 因而8259A的命令等可以由808 6CPU低8位数据线传输,端口地址为84H 和86H。从IR7输入的中断向量号为0C7H,8086 CPU获得中断向量号并乘 以4,从中断服务入口地址表中找到相应的中断服务程序的地址,然后转去执 行中断服务程序。初始化程序包括对8259A的设置,和将中断服务程序首地 址填入中断向量表中。 5. 8259A应用举例 例1续 5. 8259A应用举例 例1续 n源程序 nINTRRUP SEGMENT AT 0 nORG 0C7H*4 nDW OFFSET INTR_IR7 ;填写中断向量表 nDW SEG INTR_IR7 n nMAIN SEGMENT n nMOV AL, 00010011B ;写ICW1,表示上升沿触发及单片工 作方式 n;并要设ICW4 nOUT 84H, AL nMOV AL, 0C0H ;写ICW2,表示中断向量基值为0C0H nOUT 86H, AL nSTI n 5. 8259A应用举例 例1续 n由于ICW4所设定的优先级方式为全嵌套方式,中断结束管 理方式是为普通EOI方式,所以在中断服务子程序 INTR_IR7结束是,要给8259A传输一个EOI命令,使 8259A将ISR寄存器中级别最高的位“1”复位为“0”。执行: nMOV AL, 20 ;写OCW2 nOUT 84H, AL 5. 8259A应用举例 例2 n例2 若8086系统采用级联方式,主8259A的中断类型码 从30H开始,端口地址为20H,21H。从8259A的INT 接主片的IR7,从片的中断类型码从40H开始,端口地址 为0A0H,0A1H。均不要ICW4.试对其进行,进行初始 化编程。 n源代码如下: nM8259 EQU 20H ;主8259a地址 nS8259 EQU 0A0H ;从8259A地址 n nSTACK SEGMENT STACK nSTA DW 50 DUP(?) nTOPEQU LENGTH STA nSTACK ENDS 5. 8259A应用举例 例2续 nCODE SEGMENT n ASSUME CS:CODE,DS:CODE,SS:STACK nSTART: ;主8259A初始化 n MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋维修监管协议书
- 房屋车库买卖协议书
- 房屋转让卖买协议书
- 房屋销售佣金协议书
- 房车使用租赁协议书
- 房顶喷漆安全协议书
- 手工教学合同协议书
- 手机保障服务协议书
- 手机类采购合同范本
- 打字复印协议书范本
- 2025年洛阳市城乡一体化示范区招聘城市管理辅助人员130名笔试考试参考试题及答案解析
- 经皮冠状动脉介入治疗术后口服抗栓策略优化专家共识2026
- 2025年垫江县辅警协警招聘考试真题及参考答案详解1套
- 掘进队长考试题库及答案
- (2025)全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案
- 培训机构学管师培训
- 企业所得税汇算清缴申报表电子表格版(带公式-自动计算)
- 齐鲁工业大学-大学物理(下)期末复习总结
- 陶瓷太阳能集热板
- 宫角妊娠Microsoft-PowerPoint-演示文稿
- 提前介入办事流程附件
评论
0/150
提交评论