版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验六8259中断控制器实验6.1 实验目的(1) 学习中断控制器 8259 的工作原理。(2) 掌握可编程控制器 8259 的应用编程方法。6.2 实验设备PC 微机一台、 TD-PIT+ 实验系统一套。6.3 实验内容1. 单中断应用实验(1) 编写中断处理程序,利用 PC 机给实验系统分配的中断线,使用单次脉冲单元的 KK1+ 按键模拟中断源,每次 PC 机响应中断请求,在显示器上显示一个字符。(2) 编写中断处理程序,利用 PC 机给实验系统分配的中断线,使用单次脉冲单元的 KK1+ 按键模拟中断源,每次 PC 机响应中断请求,在显示器上显示“ Hello ”,中断 5 次后 退出。2
2、扩展多中断源实验利用实验平台上 8259 控制器对扩展系统总线上的中断线 INTR 进行扩展。编写程序对 8259 控制器的 IR0 和 IR1 中断请求进行处理。6.4 实验原理1. 8259 控制器的介绍中断控制器 8259A 是 Intel 公司专为控制优先级中断而设计开发的芯片。它将中断源 优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路, 只需对 8259A 进行编程, 就可以管理 8 级中断,并选择优先模式和中断请求方式, 即中断 结构可以由用户编程来设定。同时, 在不需增加其他电路的情况下,通过多片 8259A 的级 连,能构成多达 64 级的矢量中断
3、系统。它的管理功能包括:1)记录各级中断源请求, 2)判别优先级, 确定是否响应和响应哪一级中断, 3)响应中断时, 向 CPU 传送中断类型号。 8259A的内部结构和引脚如图 6-1 所示。8259A 的命令共有 7 个,一类是初始化命令字,另一类是操作命令。 8259A 的编程就 是根据应用需要将初始化命令字 ICW1-ICW4 和操作命令字 OCW1-OCW3 分别写入初始化 命令寄 存器组和 操作命令寄存 器组。 ICW1-ICW4 各 命令字格 式如图 6-2 所示, OCW1-OCW3 各命令字格式如图 6-3所示, 其中 OCW1 用于设置中断屏蔽操作字, OCW2 用于设置优
4、先级循环方式和中断结束方式的操作命令字, OCW3 用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259 内部寄存器的读出命令。CAS)AS ICAS2优礼*-IRIY-Y-叱叱-】R于A0E3匚W】i初娼化I4-寄1牛斷Mrik离击初tiMR)匕CCW 1、MXOCW2OCW3丿图 6-1 8259 内部结构和引脚图CS-9WR- CR13-D6-D5-D4-D3-D2-DI-I1D=CASO- jCAS I-GNU-VCCAOINTAISt?IBfrtitsIR40!0 I 011 LTTKADISHCL特证也无Dl=OdD1=1J不孫軽IC的单片单片D3=0:逍沿触麦Dfcl-
5、电平触发A(1T7T6T5T4T3000中斷类型号的高中斷类型号的高5位位8O36/8O3B不使用不使用图 6-2( b)ICW2 格式AOD7D6D504D3D2DIDOcnS7S6S31驴S3S2SISO主片主片AO mD7D6D58D3D2DIDOID2ID1IDO从片从片不可用不可用图 6-2( c) ICW3 格式0QoSFNMBUFM/SAEOIuPMhWKAl)CSISRIm 踏IC W2ICW.iICW4Z*JI耳F.呱ft控制逻辑控制逻辑IhlTA2827H;42.;H2120wl)fl7lhl51R3IR1I则(NT卜NCASZLDO=0:DO=1J图 6-2( a) IC
6、W1 格式R7D6D504D3D2DIDO06D7D5D3: : :2DO方式、设置中断查询方式以及设置对8259 内部寄存器的读出命令。图 6-2( d) ICW4 格式AOB7E6 D5D4 D32DI DO1MTM5M4M3N1MO 1 0CW10;允许中斷允许中斷1)7E6E534D2DL1:禁禁止中斷止中斷E01:L0012L1LD 1 0CW2Q011 1 般般EOd中斷结束命令中斷结束命令011特殊殊EOT101P碼环忧先权的一股碼环忧先权的一股EOT目动循环目动循环100在自动在自动Etn下置循环忧先权下置循环忧先权00Q在自动在自动EM下复位循环忧先权下复位循环忧先权111循
7、环忧先权的特殊循环忧先权的特殊命令命令110设置优先权设置优先权特殊循环特殊循环010无效无效D7D5D4B3D2D1no0ESMM01?KRRIS I0CW3表 6-18259 寄存器及命令的访问控制A0D4D3读信号写信号片选操作0010读出 ISR,IRR 的内容1010读出 IMR 的内容000100写入 OCW2001100写入 OCW301X100写入 ICW11XX100写入 OCW1 , ICW2 , ICW3 , ICW43. PC 微机系统中的 8259在 80 x86 系列 PC 微机系统中,系统中包含了两片8259A 中断控制器,经级连可以管理 15 级硬件中断,但其中
8、部分中断号已经被系统硬件占用,具体使用情况如表 6-2 示。两片 8259A 的端口地址为:主片 8259 使用 020H 和 021H 两个端口;从片使用 0A0H 和 0A 伯 两个端口。系统初始化两片8259 的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为 0 级最高,依次为 1 级、8 级15 级,然后是 3 级7 级。在扩展系统总线上的 INTR 对应的中断线就是 PC 机保留中断其中的一个。对INTR中断的初始化 PC 机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。表 6-2 PC 微机系统中的硬件中断0X:无效无效10: :复位特殊屛蔽复位特殊屛蔽
9、11:设蜀特殊屏鞭设蜀特殊屏鞭图 6-3 OCW 命令字格式2. 8259 寄存器及命令的控制访问在硬件系统中,8259 仅占用两个外设接口地址,在片选有效的情况下,利用址不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1 所示。0: :不查询不查询1: :允许查询允许查询11: :司司 淒淒ISRAO 来寻中断号功能中断向量号中断向量地址主 8259A IRQ0日时钟/计数器 008H0020H 0023H主 8259A IRQ1键盘09H0024H 0027H主 8259A IRQ2接从片 8259A0AH0028H 002BH主 8259A IRQ3串行口 20BH002CH 00
10、2FH主 8259A IRQ4串行口 10CH0030H 0033H主 8259A IRQ5并行口 20DH0034H 0037H主 8259A IRQ6软盘0EH0038H 003BH主 8259A IRQ7并行口 10FH003CH 003FH从 8259A IRQ8实时钟70H01C0H 01C3H从 8259A IRQ9保留71H01C4H 01C7H从 8259A IRQ10保留72H01C8H 01CBH从 8259A IRQ11保留73H01CCH 01CFH从 8259A IRQ12保留74H01D0H 01D3H从 8259A IRQ13协处理器中断75H01D4H 01D7
11、H从 8259A IRQ14硬盘控制器76H01D8H 01DBH从 8259A IRQ15保留77H01DCH 01DFH6.5 实验说明及步骤1.单中断应用实验本实验要求使用总线上INTR 中断请求线完成一次单中断应用实验。中断处理程序完成在屏幕上显示字符“ 9”。实验前先运行 CHECK 程序,得到 INTR 所对应的中断号、相 应的初始化命令字寄存器ICW 及操作命令字寄存器 OCW 的地址、开屏蔽的命令字、中断矢量地址和 PCI 卡中断控制寄存器 INTCSR 的地址。得到这些信息后就可以开始设计实验 了。参考程序流程如图 6-5 所示。实验步骤如下。(1) 确认从 PC 机引出的两
12、根扁平电缆已经连接在实验平台上。(2) 首先运行 CHECK 程序,查看 INTR 中断号及相关信息。(3) 参考实验流程图编写程序,然后编译链接。(4) 将单次脉冲单元的 KK1+连接到系统总线上的 INTR。(5) 运行程序,按动 KK1+按键,观察中断是否产生。2 扩展多中断源实验利用实验平台上的 8259 控制器,可以对总线上的INTR 进行扩展。将 8259 的 INT 连接到 INTR , 8259 的 8 路中断请求线 IR0IR7 就成了单一 INTR 中断请求线的扩充。这 8 路中断源共用 INTR 的中断矢量,共用 INTR 的中断服务线程。在 INTR 的中断服务线程 中
13、通过对 8259OCW3的查询, 以确定是 IROIR7 中哪个产生中断, 然后转到相应的服务 线程进行处理。 将 8259 的 0CW3中 P 位置 1 即可执行查询,查询字格式如图6-6 所示。C啊询代FC【百惮换依7R申断花IN1CSR |31| | 恢恢QNTRVIU加駭加駭 OCWIf-1 S259 OCW3沁实腔輪址|诂259监中斷紛楽命令淸PCLINTCSR拯志盘 问PC内吧39发屮)W诽束伤令XIOWX-DlXDO1NTRrRO8259单元IRL单一中断应用实验参考程序对应的中断矢量地址对应 PC 机内部 8259 的 OCW 地址对应 PC 机内部 8259 的 OCW 地址
14、对应的中断屏蔽字卡中断控制寄存器地址DW 256 DUP(?)STACK1 ENDS保存 INTR 原中断处理程序入口段地址的变量 保存INTR 原中断处理程序入口偏移地址的变量 保存 INTR 原中断屏蔽字的变量CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXCLIMOV DX,PCI_INTCSRSUB DX,19HIN AL,DXMOV DX,PCI_INTCSR ;MOV AX,1F00H ;OUT DX,AXADD DX,2MOV AX,003FHOUT DX,AXMOV AX,0000H;MOV ES,AXM
15、OV DI,INTR_IVADDMOV AX,ES:DIMOV IP_BAK,AX;MOV AX,OFFSET MYISRMOV ES:DI,AX;ADD DI,2MOV AX,ES:DIMOV CS_BAK,AX;MOV AX,SEG MYISRMOV ES:DI,AX;MOV DX,INTR_OCW1 ;IN AL,DXMOV IM_BAK,AL;AND AL,INTR_IMOUT DX,ALINTR_IVADD EQU _ H;INTRINTR_OCW1 EQU _ H;INTRINTR_OCW2 EQU _ H;INTRINTR_IM EQU _H;INTRPCI_INTCSR EQU
16、 _ H;PCI*STACK1 SEGMENT STACK根据 CHEC 配置信息修改下列符号值*DATA SEGMENTCS_BAK DW ?IP_BAK DW ?IM_BAK DB ?DATA ENDS初始化 PCI 卡中断控制寄存器向 PCI_INTCSR 中写入 003F1F00H替换 INTR 的中断矢量保存 INTR 原中断处理程序入口偏移地址 设置当前中断处理程序入口偏移地址保存 INTR 原中断处理程序入口段地址 设置当前中断处理程序入口段地址 设置中断屏蔽寄存器,打开 INTR 的屏蔽位 保存 INTR 原中断屏蔽字判断是否有按键按下无按键则跳回继续等待,有则退出恢复 PCI
17、 卡中断控制寄存器恢复 INTR 原中断矢量恢复 INTR 原中断处理程序入口偏移地址恢复 INTR 原中断处理程序入口段地址恢复 INTR 原中断屏蔽寄存器的屏蔽字MOV AX,4C00HINT 21HMYISR PROC NEAR; 中断处理程序 MYISRMOV AL,39HMOV AH,0EHINT 10HMOV AL,20HINT 10HOVER: MOV DX,PCI_INTCSRSUB DX,19HIN AL,DXMOV DX,PCI_INTCSR ;清 PCI 卡中断控制寄存器标志位ADD DX,2MOV AX,003FHOUT DX,AXMOV DX,INTR_OCW2 ;向 PC 机内部 8259 发送中断结束命令MOV AL,20HOUT DX,ALMOV AL,2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学信息技术第三册下 第6课 奇妙有趣的新本领-如何在Logo中定义过程教学实录 泰山版
- 读《边城》有感(汇编15篇)
- 昆虫记读书笔记集合15篇
- 毕业生个人小结(6篇)
- 商务实习报告范文集合4篇
- 房地产工作人员辞职报告集合5篇
- Novation诺维逊FLkey37中文说明书
- 股票成本计算器
- 高中数学选修必修2-圆锥曲线的统一定义
- 2021军训阶段个人体会与感想【5篇】
- 金属冶炼建设项目安全设施设计编写提纲2015年
- 广东省佛山市南海区三水区2022-2023学年七年级上学期期末历史试题(无答案)
- 译林版小学英语六年级上册英文作文范文
- 小学生作文方格纸A4纸直接打印版
- 箱变平台吊装焊接施工方案
- 浅谈“五育并举”背景下中小学劳动教育的探索与研究 论文
- TRIZ-2003矛盾矩阵表(重新整理)
- 安全生产规章制度和岗位操作规程的目录清单及内容(无仓储经营单位)
- 大树的故事 单元作业设计
- 2023-2024学年凉山彝族自治州六年级数学第一学期期末质量跟踪监视试题含答案
- 新加坡双语教育政策发展研究
评论
0/150
提交评论