8259中断控制实验_第1页
8259中断控制实验_第2页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

1、CAS2:08259 中断控制实验1 实验目的1. 掌握 8259 中断控制器的工作原理;2. 学习 8259 的应用编程方法;3. 掌握 8259 级联方式的使用方法。2 实验设备PC 机一台,TD-PITE 实验装置一套。3 实验内容及步骤1.中断控制器 8259 简介在 In tel 386EX 芯片中集成有中断控制单元(ICU),该单元包含有两个级联 中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与 工业上标准的 82C59A 是一致的,操作方法也相同。从片的 INT 连接到主片的 IR2 信号上构成两片 8259 的级联。在 TD-PITE 实验系统中,将主控制

2、器的 IR6、IR7以及从控制器的 IR1 开放 出来供实验使用,主片 8259 的 IR4 供系统串口使用。8259 的内部连接及外部管 脚引出如图 2-3-1 所示。SIR1CAS2:0-4主片 8259A4_INTIR2IR44CAS2:0IR6IR74INTR(内核)从片 8259AINTIR1 *串口0MIR6MIR7图 2-3-1 8259 内部连续及外部管脚引出图表 2-3-1 列出了中断控制单元的寄存器相关信息表 2-3-1 ICU 寄存器列表寄存器跑址功能描述ICW1(主)ICW1(从)(只写)0020HOOAOH初始化命令字 1:决疋中断请求信号为电平触发还疋边沿触发。IC

3、W2 (主)ICW2(从)(只写)0021H00A1H初始化命令字 2:包含了 8259 的基址中断向量号,基址中断向量是IR0 的向量号,基址加 1 就是 IR1 的向量号,依此类推。ICW3 (主)(只写)0021H初始化命令字 3:用于识别从 8259 设备连接到主控制器的 IR 信号,内部的从8259 连接到主 8259 的 IR2 信号上。ICW3(从)(只写)00A1H初始化命令字 3:表明内部从控制器级联到主片的 IR2 信号上。ICW4 (主)ICW4(从)(只写)0021H00A1H初始化命令字 4:选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。0CW1 主)0CW1 从

4、)(读/写)0021H00A1H操作命令字 1:中断屏蔽操作寄存器,可屏蔽相应的中断信号。0CW2 主)0CW2 从)(只写)0020H00A0H操作命令字 2:改变中断优先级和发送中断结束命令。0CW3 主)0CW3 从)(只写)0020H00A0H操作命令字 3:使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求 寄存器和当前中断服务寄存器。IRR (主)IRR (从)(只读)0020H00A0H中断请求: 指出挂起的中断请求。ISR (主)ISR (从)(只读)0020H00A0H当前中断服务:指出当前正在被服务的中断请求。P0LL(主)P0LL(从)(只读)0020H0021H00A

5、0H00A1H查询状态字:表明连接到 8259 上的设备是否需要服务,如果有中断请求, 该字表明当前优先级最高的中断请求。初始化命令字 1 寄存器(ICW1 说明见图 2-3-2 所示700:边沿触发1:电平触发图 2-3-2初始化命令字 1 寄存器初始化命令字 2 寄存器(ICW2 说明见图 2-3-3 所示。70T7T6T5T4T3000中断向量地址图 2-3-3初始化命令字 2 寄存器初始化命令字 3 寄存器(ICW3 说明,主片见图 2-3-4,从片见图 2-3-5图 2-3-4主片初始化命令字 3 寄存器图 2-3-5从片初始化命令字 3 寄存器0001LS001ICW1S7S6S5

6、S4S3S2S10ICW3 (主片)S7- S3: 0 表示无 8259 被连接到主片上1 表示有 8259 被连接到主片上S2: 0 表示内部从片没被使用1 表示内部从片被级联到主片的IR2 上S1: 0 表示无 8259 通过 IR1 连接到主片上1 表示有 8259 通过 IR1 连接到主片上00000010ICW3 (从片)7070初始化命令字 4 寄存器(ICW4 说明见图 2-3-6。70ICW4000SNFM|00AEOI1SNFM : 0 =选择全嵌套模式1 =选择特殊全嵌套模式,仅主8259 能够工作在特殊全嵌套模式AEOI : 0=禁止中断自动结束1 =使能中断自动结束,仅

7、主8259 能够工作在中断自动结束方式图 2-3-6 初始化命令字 4 寄存器操作命令字 1 寄存器(OCW1 说明见图 2-3-770M7-M0 : 0=对应 IR 信号上的中断请求得到允许 仁对应 IR 信号上的中断请求被屏蔽 注意:设置屏蔽位不影响各自中断挂起位图 2-3-7 操作命令字 1 寄存器2 寄存器(OCW2 说明如图 2-3-8 所示。R SL EOI命令0 00取消优先级自动循环*0 01一般的中断结束命令0 10无操作0 11特殊的中断结束命令*1 00中断优先级自动循环*1 01在一般中断结束方式中优先级循环1 10优先级特殊循环方式*1 11在特殊中断结束方式中优先级

8、循环*当 8259 工作在中断自动结束方式下时,这些情况可以改变优先级结构。*在这些情况下优先级由L2:L0 指定。L2、L1、L0 :在给出特殊的中断结束命令时,L2、L1、L0 指出了具体要清除当前中断服务寄存器的哪一位;当给出特殊的优先级循环方式命令时,L2、L1、L0 指出了循环开始时哪个中断的优先级最低。图 2-3-8 操作命令字 2 寄存器3 寄存器(OCW3 说明如图 2-3-9 所示。ESMM SMM00无影响01无影响10禁止特殊屏蔽模式11使能特殊屏蔽模式P:设置该位使8259 工作在中断查询方式RRRIS00无影响01无影响10读中断请求寄存器 IRR11读当前中断服务寄

9、存器ISR图 2-3-9 操作命令字 3 寄存器 查询状态字(POLL 说明如图2-3-10 所示。M7M6M5M4M3M2M1M0OCW1RSLEOI00L2L1L0OCW270操作命令字操作命令字OCW30 ESMM SMM0PRRRIS70INT-1-L2L1L0INT : 0 =无请求1 =连接在 8259 上的设备请求服务L2、L1、L0 :当 INT 为 1 时,这些位指出了需要服务的最高优先级的IR ;当INT 为 0 时这些位不确定。图 2-3-10 程序状态字寄存器在对 8259 进行编程时,首先必须进行初始化。一般先使用CLI 指令将所有的可屏蔽中断禁止,然后写入初始化命令

10、字。8259 有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259 时,写入初始化命令字的顺序是:ICW1 ICW2 ICW3 然后是 ICW4 初始化从片 8259 的 顺序与初始化主片 8259 的顺序是相同的。系统启动时,主片 8259 已被初始化,且 4 号中断源(IR4)提供给与 PC 联 机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下 表所示:中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地20H-24H28F2CI30H34H-38H-3CI址23H27H2BH2FH33H37H3B

11、H3FH说明未开放未开放未开放未开放串口未开放可用可用2. 8259 单中断实验实验接线图如图 2-3-11 所示,单次脉冲输 出与主片8259 的 IR7 相连,每按动一次单次脉 冲,产生一次外部中断,在显示屏上输出一个字 符“ 7”。图 2-3-11 8259 单中断实验接线图实验程序清单r 5盟主SSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDSCODE SEGMENT ASSUME CS:CODESTART:PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7; 取中断入口地址MOV SI, 003CH

12、; 中断矢量地址MOV SI, AX;填 IRQ7 的偏移矢量MOV AX, CSMOV SI, 003EH; 段地址MOV SI, AXCLIPOP DS; 初始化主片 8259MOV AL, 11H;填 IRQ7 的段地址矢量OUT 20H, ALMOV AL, 08H;ICW1OUT 21H, ALMOV AL, 04H;ICW2OUT 21H, ALMOV AL, 01H;ICW3OUT 21H, AL;ICW4MOV AL, 6FHOUT 21H, ALSTI;OCW1AA1:NOPJMP AA1MIR7:STICALL DELAYMOV AX, 0137HINT 10HMOV AX

13、, 0120HINT 10HMOV AL, 20H; 显示字符 7OUT 20H, ALIRET; 中断结束命令DELAY: PUSH CXMOV CX, 0F00HAA0:PUSH AXPOP AXLOOP AA0POP exRETCODE ENDSEND START实验步骤(1) 按图 2-3-11 连接实验线路;(2) 编写实验程序,经编译、链接无误后装入系统;(3) 运行程序,重复按单次脉冲开关 KK1+,显示屏会显示字符“ 7”以说明响 应了中断。3. 8259 级联实验实验接线图如图 2-3-12 所示,KK1+连接到主片 8259 的 IR7 上, KK2+连接到从片 8259

14、的IR1 上,当按一次 KK1+时,显示屏上显示字符“ M7”按一次 KK2+时,显示字 符“ S1”。编写程序。图 2-3-12 8259 级联实验实验程序清单SSTACK SEGMENT STACKDW 32 DUPSSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7 ;取中断入口地址MOV SI, 003CH;中断矢量地址MOV SI, AX;填 IRQ7 的偏移矢量MOV AX, CS;段地址MOV SI, 003EHMOV SI, AXMOV AX, O

15、FFSET SIR1MOV SI, 00C4HMOV SI, AXMOV AX, CSMOV SI, 00C6HMOV SI, AXCLIPOP DS; 初始化主片 8259MOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, AL; 初始化从片 8259MOV AL, 11HOUT 0A0H, ALMOV AL, 30HOUT 0A1H, ALMOV AL, 02HOUT 0A1H, ALMOV AL, 01HOUT 0A1H, ALMOV AL, 0FDHOUT 0A1H,

16、ALMOV AL, 6BHOUT 21H, ALSTINOPJMP AA1CALL DELAYMOV AX, 014DHINT 10HMOV AX, 0137HINT 10HMOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, ALIRET;填 IRQ7 的段地址矢量;ICW1;ICW2;ICW3;ICW4;ICW1;ICW2;ICW3;ICW4;OCW1 = 1111 1101; 主 8259 OCW1;M; 显示字符 7; 中断结束命令AA1:MIR7:SIR1: CALL DELAYMOV AX, 0153HINT 10H;SMOV AX, 0131HINT 10H; 显示字符 1MOV AX,

温馨提示

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

评论

0/150

提交评论