1、8259中断控制器实验的实验报告实验六 8259中断控制器实验实验目的(1)学习中断控制器 8259的工作原理。(2)掌握可编程控制器 8259的应用编程方法。实验设备PC微机一台、TD-PIT+实验系统一套。实验内容1.单中断应用实验(1)编写中断处理程序,利用 PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次 PC机响应中断请求,在显示器上显示一个字符。(2)编写中断处理程序,利用 PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次 PC机响应中断请求,在显示器上显示“ Hello ”,中断5次后退出。2 扩展多中断源实验利用实验平台上
2、8259控制器对扩展系统总线上的中断线 INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进行处理。实验原理1.8259控制器的介绍中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。 它将中断源 优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理 8级中断,并选择优先模式和中断请求方式,即中断 结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片 8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括: 1 )记录各级中断源请求,2)判别优先级,确定是否响应和响应哪
3、一级中断, 3)响应中断时,向 CPU专送中断类型号。8259A的内部结构和引脚如图 6-1所示。8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。 8259A的编程就是根据应用需要将初始化命令字 ICW1-ICW4和操作命令字0CW1-0CW3别写入初始化命令寄存器组和操作命令寄存器组。 ICW1-ICW4各命令字格式如图 6-2所示,0CW1-0CW各命令字格式如图6-3所示,其中OCW用于设置中断屏蔽操作字, OCW用于设置优先级循环方式和中断结束方式的操作命令字, OCW用于设置和撤销特殊屏蔽方式、 设置中断查询方式以及设置对8259内部寄存器的读出命令。图6-1 825
4、9内部结构和引脚图爭魁 M9I (P) 2-9 IMlOdVo0a ta eci a ca sc 9a a or爭魁 GMO I () 2-9 fl打OO.I【口IcaiQ CFtfoa【口caratxjra9ata| -ISESts髓|CZIoa口gKItasucv爭魁乙MOI (q) 2-9 9808/9808110 0rxt-xsxXct ialatnXIsag()V爭魁 IMO I (e) 2-9 gQro=ea Pld= O-TCA0B7D6D5IMDGD2DIDOW4Ml1 ocmI11允许中斷i漂it中臨ADDTD6D5D4D3 DC DIDORZLEM00|蔭LI| Tc| 0
5、CW2oofTftEQI中断錯束命會Dll特沫珀I101滙环优先祝的一殷萸工目动循环100在自动EOT下冒循环忧先权000在目动下复位循环优先权111循环忧矩枚的特殊EDI命110设晝忧先祝特殊循环Q1Q无敢A0IffD& B5 D4E3 D2Dl DO0託恤 EMN 01 1卜RR RIE0CW31 rI01:无兔10:篁位特脏屏融11;设意特审坛肝1:不i-5t直询 洋查询T m:魏10:可读IM11;图6-3 OCW命令字格式2.8259寄存器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用 A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如
6、表 6-1所示。表6-1 8259寄存器及命令的访问控制A0D4D3读信号写信号片选操作0LJO读信 号0写信号10操作丨读出 ISR IRR 的内容O1,001100读出ISR,IRR的内容,读出 IMR的內容,000100写入 OCW2U0U0111U0U0J / V Z7vv2Z写入 OCW/300011V110000写丿、OCV V3 写入 ICW/1 01-11VV1 1 0 0 0 01 J 丿入 1 V V 1写入 OCW,1 ICW2, ICW3, ICW43. PC微机系统中的8259在80x86系列PC微机系统中,系统中包含了两片 8259A中断控制器,经级连可以管理15级
7、硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表 6-2示。两片8259A的端口地址为: 主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片 8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为 0级最高,依次为1级、8级15级,然后是3级7级。在扩展系统总线上的 INTR对应的中断线就是 PC机保留中断其中的一个。对 INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。表6-2 PC微机系统中的硬件中断中断号功能中断向量号中断向量地址主 8259A IRQ0 匕日时钟/计数器008H
8、I i-yl -10020H0023H主 8259A IRQ1键盘09H0024H 0027H主 8259A IRQ21111,接从片 8259A0AH0028H 002BH主 8259A IRQ3串行口 20BH002CH 002FH主 8259A IRQ4串行口 10CH0030H0033H主 8259A IRQ5并行口 20DH0034H 0037H主 8259A IRQ6丿I I J -软盘0EH1 1 1 WO f 1 10038H 003BH主 8259A IRQ7并行口 10FH003CH 003FH从 8259a IRQ8丿1 11 1 实时钟70H01C0H01C3H从 82
9、59A IPQ9实时钟保留run71Hu 1 n u 1 n01C4H01C7H从 8259A IRQ10保留 保留72H01C8H 01CBH从 Q2C9A IRQ111小保留73H01CCL01C FH从V 8259丿 II QL 从 8259A IRQ12保留 保留7 3H74HuiCCrr uicfh01D0H01D3H从 V 8259/ II Ql2从 8259A IRQ13保留协处理器中断7 4H 75HUIDUH UID3H 01D4H 01D7HH QOMCA IOC仃人口 l-T 丁 四 1,硬盘控制器ZQLInj nQJ-i ruuDLj从 8259A IRQI4从 825
10、9A IRQ15 硬盘控制1器保留 7 6H -0ID8H0IDBH01DCH- 01DFH 实验说明及步骤1.单中断应用实验本实验要求使用总线上 INTR中断请求线完成一次单中断应用实验。中断处理程序完成在屏幕上显示字符“ 9”。实验前先运行 CHECK程序,得到INTR所对应的中断号、相应 的初始化命令字寄存器 ICW及操作命令字寄存器 OCW勺地址、开屏蔽的命令字、中断矢量 地址和PCI卡中断控制寄存器INTCSR的地址。得到这些信息后就可以开始设计实验了。 参考程序流程如图 6-5所示。实验步骤如下。(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。首先运行CHECKS序,查看
11、INTR中断号及相关信息。(3)参考实验流程图编写程序,然后编译链接。 将单次脉冲单元的 KK1琏接到系统总线上的INTR。 运行程序,按动 KK1+按键,观察中断是否产生。2 扩展多中断源实验利用实验平台上的 8259控制器,可以对总线上的 INTR进行扩展。将8259的INT连接到INTR, 8259的8路中断请求线IR0IR7就成了单一 INTR中断请求线的扩充。这 8 路中断源共用INTR的中断矢量,共用INTR的中断服务线程。在 INTR的中断服务线程中 通过对8259OCW3勺查询,以确定是IR0IR7中哪个产生中断,然后转到相应的服务线程 进行处理。将 8259的OCW中 P位置
12、1即可执行查询,查询字格式如图 6-6所示。I XPlUr |11愴 UFCI .INTUSR |ttt V ENTK中斷覧童1卒1II关中晰1中惭姓泞* 1V4 I濟P匕1 齟諒左位|禅换FNIR中Hfr光:4i I -P内恋刈发M慚粘朿询兮IJTJFettl中浙膚蔽程4v(屮惭理凹)丨圧|断1恢0 N TR屮脯膳融孑E7D5MD3D2Dl DOir一一一一吃M 也0: S1丨 厂Tmiwo:谙威申斷申 忧先级掾高的中斷源編码图6-6 8259 0CW3查询命令字格式本实验要求实现 8259控制器IR0、IR1两路中断。用 KK1+和KK2+莫拟两个中断源,在IR0对应的服务程序中显示字符“ 0”,在IR1对应的服务程序中显示字符“ 1”。实验程序参考流程如图6-7所示。参考实验电路如图 6-8所示。实验步骤如下:(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。首先运行CHECKS序,查看INTR中断号及相关信息。(3)参考实验流程图编写程序,然后编译链接。(4)参考实验接线图连接实验电路。运行程序,按动 KK1+ KK2+按键,观察中断响应是否正常。入口】 f关
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1