《8259中断控制器实验》的实验报告_第1页
《8259中断控制器实验》的实验报告_第2页
《8259中断控制器实验》的实验报告_第3页
《8259中断控制器实验》的实验报告_第4页
《8259中断控制器实验》的实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

v1.0可编写可更正实验六8259中断控制器实验实验目的学习中断控制器8259的工作原理。掌握可编程控制器8259的应用编程方法。实验设备PC微机一台、TD-PIT+实验系一致套。实验内容单中断应用实验编写中断办理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断央求,在显示器上显示一个字符。编写中断办理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断央求,在显示器上显示“Hello”,中断5次后退出。2.扩展多中断源实验利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断央求进行办理。实验原理1.8259控制器的介绍1v1.0可编写可更正中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、鉴识中断源以及供应中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断央求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,经过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源央求,2)鉴识优先级,确定可否响应和响应哪一级中断,3)响应中断时,向CPU传达中断种类号。8259A的内部结构和引脚如图6-1所示。8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是依照应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断障蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤掉特别障蔽方式、设置中断盘问方式以及设置对8259内部寄存器的读出命令。图6-18259内部结构和引脚图2v1.0可编写可更正图6-2(a)ICW1格式图6-2(b)ICW2格式图6-2(c)ICW3格式图6-2(d)ICW4格式3v1.0可编写可更正图6-3OCW命令字格式2.8259寄存器及命令的控制接见在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同样的寄存器和命令字。对寄存器和命令的接见控制如表6-1所示。表6-18259寄存器及命令的接见控制A0D4D3读信号写信号片选操作0010读出ISR,IRR的内容1010读出IMR的内容000100写入OCW2001100写入OCW301×100写入ICW11××100写入OCW1,ICW2,ICW3,ICW43.PC微机系统中的8259在80x86系列PC微机系统中,系统中包括了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,详尽使用情况如表6-2示。4v1.0可编写可更正两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断央求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,尔后是3级~7级。在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主若是将其中断障蔽打开,更正中断向量。表6-2PC微机系统中的硬件中断中断号功能中断向量号中断向量地址主8259AIRQ0日时钟/计数器008H0020H~0023H主8259AIRQ1键盘09H0024H~0027H主8259AIRQ2接从片8259A0AH0028H~002BH主8259AIRQ3串行口20BH002CH~002FH主8259AIRQ4串行口10CH0030H~0033H主8259AIRQ5并行口20DH0034H~0037H主8259AIRQ6软盘0EH0038H~003BH主8259AIRQ7并行口10FH003CH~003FH从8259AIRQ8实时钟70H01C0H~01C3H从8259AIRQ9保留71H01C4H~01C7H从8259AIRQ10保留72H01C8H~01CBH从8259AIRQ11保留73H01CCH~01CFH从8259AIRQ12保留74H01D0H~01D3H从8259AIRQ13协办理器中断75H01D4H~01D7H从8259AIRQ14硬盘控制器76H01D8H~01DBH从8259AIRQ15保留77H01DCH~01DFH实验说明及步骤单中断应用实验本实验要求使用总线上INTR中断央求线完成一次单中断应用实验。中断办理程序完成在屏幕上显示字符“9”。实验前先运行CHECK程序,获取INTR所对应的中断号、相应的初始化命令字寄存器ICW及操作命令字寄存器OCW的地址、开障蔽的命令字、中断矢量地址和PCI卡中断控制寄存器INTCSR的地址。获取这些信息后就可以开始设计实验了。参照程序流程如图6-5所示。5v1.0可编写可更正实验步骤以下。确认从PC机引出的两根扁平电缆已经连接在实验平台上。第一运行CHECK程序,查察INTR中断号及相关信息。参如实验流程图编写程序,尔后编译链接。将单次脉冲单元的KK1+连接到系统总线上的INTR。运行程序,按动KK1+按键,观察中断可否产生。2.扩展多中断源实验利用实验平台上的8259控制器,可以对总线上的INTR进行扩展。将8259的INT连接到INTR,8259的8路中断央求线IR0~IR7就成了单一INTR中断央求线的扩大。这8路中断源共用INTR的中断矢量,共用INTR的中断服务线程。在INTR的中断服务线程中经过对8259OCW3的盘问,以确定是IR0~IR7中哪个产生中断,尔后转到相应的服务线程进行办理。将8259的OCW3中P地址1即可执行盘问,盘问字格式如图6-6所示。6v1.0可编写可更正(a)主程序(b)中断办理程序图6-58259中断应用实验(1)参照程序流程图图6-68259OCW3盘问命令字格式本实验要求实现8259控制器IR0、IR1两路中断。用KK1+和KK2+模拟两其中断源,在IR0对应的服务程序中显示字符“0”,在IR1对应的服务程序中显示字符“1”。实验程序参照流程如图6-7所示。参如实验电路如图6-8所示。实验步骤以下:7v1.0可编写可更正确认从PC机引出的两根扁平电缆已经连接在实验平台上。第一运行CHECK程序,查察INTR中断号及相关信息。参如实验流程图编写程序,尔后编译链接。参如实验接线图连接实验电路。运行程序,按动KK1+、KK2+按键,观察中断响应可否正常。(a)主程序(b)中断办理程序图6-78259中断应用实验(2)参照程序流程图8v1.0可编写可更正图6-88259中断应用实验(2)参照接线图思虑题在编程过程中,用到了哪些操作命令字在执行中断服务程序从前,保留了哪些断点为什么单一中断应用实验参照程序;***************依照CHECK配置信息更正以下符号值*******************INTR_IVADDEQU_____H;INTR对应的中断矢量地址INTR_OCW1EQU_____H;INTR对应PC机内部8259的OCW1地址INTR_OCW2EQU_____H;INTR对应PC机内部8259的OCW2地址INTR_IMEQU_____H;INTR对应的中断障蔽字PCI_INTCSREQU_____H;PCI卡中断控制寄存器地址STACK1SEGMENTSTACKDW256DUP( )STACK1ENDSDATASEGMENTCS_BAKDWIP_BAKDWIM_BAKDB

保留INTR原中断办理程序入口段地址的变量保留INTR原中断办理程序入口偏移地址的变量;保留INTR原中断障蔽字的变量9v1.0可编写可更正DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCLIMOVDX,PCI_INTCSRSUBDX,19HINAL,DXMOVDX,PCI_INTCSR;初始化PCI卡中断控制寄存器MOVAX,1F00H;向PCI_INTCSR中写入003F1F00HOUTDX,AXADDDX,2MOVAX,003FHOUTDX,AXMOVAX,0000H;代替INTR的中断矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保留INTR原中断办理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX;设置当前中断办理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保留INTR原中断办理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;设置当前中断办理程序入口段地址MOVDX,INTR_OCW1;设置中断障蔽寄存器,打开INTR的障蔽位10v1.0可编写可更正INAL,DXMOVIM_BAK,AL;保留INTR原中断障蔽字ANDAL,INTR_IMOUTDX,ALSTIWAIT1:MOVAH,1;判断可否有按键按下INT16HJZWAIT1;无按键则跳回连续等待,有则退出QUIT:CLIMOVDX,PCI_INTCSR;恢复PCI卡中断控制寄存器MOVAX,0000HOUTDX,AXMOVAX,0000H;恢复INTR原中断矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,IP_BAK;恢复INTR原中断办理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢复INTR原中断办理程序入口段地址MOVES:[DI],AXMOVDX,INTR_OCW1;恢复INTR原中断障蔽寄存器的障蔽字MOVAL,IM_BAKOUTDX,ALSTIMOVAX,4C00H;返回到DOSINT21HMYISRPROCNEAR;中断办理程序MYISR11v1.0可编写可更正MOVAL,39HM

温馨提示

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

评论

0/150

提交评论