




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一中断系统8259实验一 中断系统8259 【实验名称】 8259中断控制。 【实验目的】 了解微机的中断系统,掌握中断程序的编制。 【实验原理】 1中断的概念: 所谓中断,是指CPU在正常运行时由于程序的预先安排或内外部事件引起CPU暂行正在运行的程序,转到为预先安排的事件或内外部事件服务的程序中去,服务程序执行结束后再返回到暂行的程序继续执行。引起中断的事件称为中断源。预先安排的事件是指PC的中断指令。内部事件是指系统板上出现的一些事件信号,中断指令也可看作内部事件。外部事件是指某些接口设备所发出的请求中断程序执行的信号,这些信号称为中断请求信号,中断请求信号是不能预知的,然而它们一旦请求中断,则会向CPU发出信号,这样CPU就无需花大量时间去查询这些信号是否产生。中断请求信号一旦产生,CPU得知这个信号后,便立即去执行相应的中断服务程序,执行完成后CPU恢复被中断的程序。有时中断源有几个,因此CPU响应这些中断就得有先后次序,这称为中断优先级。优先级高的中断首先响应,优先级低的中断暂不响应。CPU响应中断由中断源提供地址信息,引导程序转移到中断服务程序中去,这个地址信息称为中断向量,它一般是和中断源相对应的,PC机采用类型码来识别中断源。 2中断控制器8259A的逻辑结构 在微机中,利用8259芯片来完成中断。8259芯片逻辑结构见图1。 DIRQ 0707WR INT RD CS 8259A A 0INTA CAS 0SP/ EN CAS 1CAS 2图1中断控制器8259逻辑结构 芯片引脚定义如下: DD:数据线,双向。 07WR:写控制信号,低电平有效。 RD:读控制信号,低电平有效。 CS:片选端,低电平有效。 A:地址线。在8088中由CPU的A接入8259的A端;而在8086中由CPU的A接入82590001的A端 0IRQIRQ:8级中断请求输入。 07INT:中断请求信号(输出)。用来向CPU发中断请求信号。 INTA:中断应答线(输入)。当接收到CPU的应答信号后,8259A就把中断向量类型号送到数据线。 SP/EN:在缓冲器工作方式作为输入信号允许缓冲器选通。在主从工作方式作为输入信CAS级联控制信号。系统中最多可以把8级中断请求扩展为64级主从式中断请02号由该输入脚的电平来区分“主”或“从” 8259A,若输入高电平则为“主” 8259A,若输求,对于“主” 8259A,CASCAS为输出信号,对于“从” 8259A,CASCAS为输入信0202入低电平则为“从” 8259A。 号。 CAS3 8259A的内部结构框图和中断工作过程 8259A的内部结构框图见教科书。它包括下列主要功能部件: (一)中断请求寄存器(IRR)。 它接收外部中断请求。IRR有8位,分别与引脚IRIR相对应。 07当某一个IR端呈现高电平时,则IRR的相应位将被置“1”。显然若最多有8个中断请求信号同时进入IRIR端,则IRR的将被置为全“1”。至于被置“1”的请求能否进入IRR07的下一级判优电路,还取决于控制IRR的中断屏蔽寄存器(IMR)中相应位是否置“0”(即不屏蔽该位请求)。 (二)中断服务寄存器(ISR)。 它用来存放或记录正在服务中的所有中断请求(如在多重嵌套时)。当某一级中断请求被响应,CPU正在执行它的中断服务程序时,则ISR中相应位将被置“1”,并将一直保持到该级中断处理过程结束为止。在多重中断时,ISR中可能有多位同时被置“1”。 至于ISR某位被置“1”的过程是这样:若有一个或多个中断同时请求,它们先由优先级判别器选出当前在IRR中置“1”的各种中断优先级别最高者,并用INTA脉冲选通送入ISR寄存器的对应位。显然当多重中断处于服务过程中时,ISR中可同时记录多个中断请求。 (三)中断屏蔽寄存器(IMR)。 它用来屏蔽已被锁存在IRR中的任何一个中断请求。对所有要屏蔽的中断请求相应位将置“1”即可。 (四)优先级判别器(PR)。 它用来判别已进入IRR中的各中断请求的优先级。当有多个中断请求同时产生并经IMR允许进入系统后,先由PR判定当前那一个中断请求具有最高优先级,然后有系统首先响应这一级中断。 8259A中断过程步骤如下: ?当一条或多条中断请求线(IRQIRQ)变成高电平,则使IRR相应位置“1”。 07?可用IMR对IRR进行屏蔽。通过优先级判别器(PR)把当前未屏蔽的最高优先级的中断请求从INT输出送到CPU的INTR端。 ?若CPU处于开中断状态,则在执行完当前指令后,用INTA作为响应信号。8259A在收到CPU的第一个中断应答INTA信号后,将ISR中的中断优先级最高的那一位置“1”,而将IR中的相应位复位为“0”。 ?8259A在收到第2个INTA信号后,将把对应的中断向量送到数据线,CPU读入该中断向量即可转入执行相应的中断子程序。 ?中断响应结束后,在自动结束中断(AEOI)方式下,8259A会将ISR中原来在第一个INTA脉冲到来时设置的“1”在第2个INTA脉冲结束时自动复位为“0”。若是非自动结束中断(EOI)方式,则该位的“1”将一直保持到中断过程结束,由CPU发EOI命令才能复位为“0”。 4 中断类型码中断向量表 PC中的可屏蔽中断源及其相应的中断类型码见下表: 中断类型码 中断优先级 中断源 8 IRQ0 定时计数器 9 IRQ1 键盘 A IRQ2 保留 B IRQ3 异步通信COM2 C IRQ4 异步通信COM1 D IRQ5 硬盘 E IRQ6 软盘 F IRQ7 打印机 PC在内存的前1024个字节(地址00000H003FFH)建立了一个中断向量表,可以存放256个中断向量,每个中断向量占4个字节。前两个字节为中断服务程序的入口地址的偏移量,后两个字节为中断服务程序的入口地址的段首地址。使用时这两个字节分别装入IP和CS中,以转入中断服务程序。每个中断向量用类型码加以区分,当执行中断时,CPU将类型码乘以4得到中断向量地址,进而得到IP和CS的值,它就是中断服务程序的入口地址,程序由此转入中断服务程序执行。 5 8259A的控制字格式 8259A中的IRR、ISR及IMR的内容可以通过写控制命令字来加以改变,有两种类型的控制命令字。 ?初始化命令字:(ICWICW),它们必须在初始化时写入,并且一旦写入,一般在系14统运行过程中不再改变。 ?工作方式命令字或操作命令字:(OCWOCW),它们必须在初始化命令后写入。它们14用来对中断处理过程作动态控制。在一个系统运行过程中,操作命令字可以被多次设置。 下面就本实验用到的3个初始化命令字(ICW、ICW、ICW)和1个操作命令字:(OCW)1241加以说明,其它初始化命令字和操作命令字见教科书。 ?初始化命令字ICW1 ICW叫芯片控制初始化命令字。写ICW的标记为:A=0,D=1。其格式如下: 1104A D D D D D D D D 076543210? ? ? 0 1 LTIM ADI SNGL IC 4ICW控制初始化命令字各位的具体含义如下: 1DD:这3位在8086/8088系统中不用,只能用于8080/8085系统中。 75D:此位总是设置为1,表示现在设置的是ICW的标志位。 41D:(LTIM)此位设置中断请求信号的形式。如该位为1,则表示中断请求为电平触发;3如该位为0,则表示中断请求为边沿触发,且为上升沿触发,并保持高电平。 D:(ADI)这1位在8086/8088系统中不用。 2D:(SNGL)这1位用来指定系统中用单片8259A方式(D=1),还是用多片8259A级联11方式(D=0) 1D:(IC)这1位用来指定后面是否设置ICW。若初始花程序中使用ICW,则IC必须14444为1,否则为0。 ?初始化命令字ICW2 ICW是设置中断类型码的初始化命令字。写ICW的标记为:A=1。其格式如下: 220A D D D D D D D D 0765432101 A/ T A/ T A/ T A/ T A/ T A A A 1571461351241131098ICW控制初始化命令字各位的具体含义如下: 2A为中断向量的高8位,用于MCS80/85系统;TT为中断向量类型码,用于88/8615873系统。中断向量类型码的低3位是由引入中断请求的引脚IR0IR7决定的。比如设ICW为40H,2则8个中断向量类型码分别为40H、41H、42H、43H、44H、45H、46H和47H。中断向量类型A码的值与ICW的低3位无关。 2?ICW 4ICW叫方式控制初始化命令字。写ICW控制字标记为A=1。其格式如下: 440A D D D D D D D D 0765432101 0 0 0 SFNM BUF M/S AEOI PM ICW控制初始化命令字各位的具体含义如下: 4DD:这3位总为0,用于表示ICW的识别码。 754D:(SFNM)如为1则为特殊的全嵌套工作方式,如为0则为非特殊的全嵌套工作方式。 4D:(BUF)如此位置1则为缓冲方式。所谓缓冲方式是指在多片8259A级联的大系统中,38259A通过总线驱动器和数据总线相联的一种方式。 D:(M/S)此位在缓冲方式下用来表示本片是主片还是从片。 2D:(AEOI)如该位为1,则设置中断自动结束方式,中断结束后自动复位ISR。如该位1为0,中断结束后要求CPU发EOI命令复位ISR。 D:(PM)如该位为1,则表示8259A当前处于8086/8088系统中;如该位为0,则0表示8259A当前处于8080/8085系统中。 ?操作命令字:(OCW) 1写的标记为A=1。其格式如下: 0A D D D D D D D D 0765432101 M M M M M M M M 76543210ICW控制初始化命令字各位:M7M0对应于IMR的各位,为1表示该位中断被屏蔽,4为0表示该位允许中断。 【实验内容】 使用IRQ0,用单脉冲信号模拟外部中断信号,中断程序在屏幕上显示信息。 【实验连线】 将单脉冲发生器(S1)的J23输出接总线上的IRQ2。 【实验程序】 C8259 EQU 20H CODE SEGMENT CODE ASSUME CS:CODE START: XOR AX,AX MOV DS,AX LEA AX,IRQ2 MOV DS:28H,AX MOV AX,CS MOV DS:2AH,AX MOV DX,C8259 MOV AL,00010011B ; ICW1 OUT DX,AL INC DX MOV AL,00001010B ; ICW2 OUT DX,AL MOV AL,00001101B ; ICW4 OUT DX,AL MOV AL,11111011B ; OCW1 OUT DX,AL MOV AL,20H ; EOI OUT 20H,AL MOV BL,a STI JMP $ IRQ2: CLI MOV AH,2 MOV DL,BL INT 21H INC BL CMP BL,z JLE NEXT MOV DX,21H IN AL,DX OR AL,04H OUT DX,AL MOV AH,4CH INT 21H NEXT: MOV AL,20H ;EOI OUT 20H,AL STI IRET CODE ENDS END START 【思考题】 ? 若连线由单脉冲发生器J23的输出接总线上的IRQ2改成单脉冲发生器J23的输出接总线上的IRQ3,应如何修改程序? ? 修改程序使之中断时输出字符09。 思考题?程序: C8259 EQU 20H CODE SEGMENT CODE ASSUME CS:CODE START: XOR AX,AX MOV DS,AX LEA AX,IRQ3 MOV DS:2CH,AX MOV AX,CS MOV DS:2EH,AX MOV DX,C8259 MOV AL,00010011B ; ICW1 OUT DX,AL INC DX MOV AL,00001010B ; ICW2 OUT DX,AL MOV AL,00001101B ; ICW4 OUT DX,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诊室患者安全管理制度
- 诊所新风设备管理制度
- 试件标准养护管理制度
- 财务签字审批管理制度
- 财政扶贫项目管理制度
- 货品安全配送管理制度
- 货物运输变更管理制度
- 货车司机仓库管理制度
- 物资采购沟通协议书范本
- 护理心理学案例分析 课件
- DB37∕T 5323-2025 住宅设计标准
- 2024年6月英语四级真题(全3套)
- MySQL数据库技术单选题100道及答案
- 《肝衰竭诊治指南(2024版)》解读
- 防暑应急救援演练脚本
- 2023-2024学年江西省吉安市高二下学期期末教学质量检测数学试题(含答案)
- 24秋国家开放大学《计算机系统与维护》实验1-13参考答案
- 100以内进退位加减法口算题(20000道 可直接打印 每页100道)
- GB/T 5656-2008离心泵技术条件(Ⅱ类)
- 中央司法警官学院招生政治考察表
- 药品不良反应报告表范例
评论
0/150
提交评论