资源描述:
《中断特性及8259应用编程实验》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验七中断特性及8259应用编程实验一、实验目的1.掌握8259中断控制的工作原理。2.学习8259的应用编程方法。3.掌握8259级联方式的使用方法。二、实验设备PC机一台,TD-PITE试验装置一套。三、实验原理及内容在Intel386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供
2、系统串口使用。8259的内部连接及外部管脚引出如图7-1所示。图7-18259内部连续及外部管脚引出图表7-1列出了中断控制单元的寄存器相关信息。表7-1ICU寄存器列表初始化命令字1寄存器(ICW1)说明见图7-2所示。图7-2初始化命令字1寄存器初始化命令字2寄存器(ICW2)说明见图7-3所示。图7-3初始化命令字2寄存器初始化命令字3寄存器(ICW3)说明,主片见图7-4,从片见图5。初始化命令字4寄存器(ICW4)说明见图7-6。图7-6初始化命令字4寄存器操作命令字1寄存器(OCW1)说明见图7-7。图7-7操作命令字1寄存器操作命令字2寄存器(OCW2)说明如图7-8所示。图
3、7-8操作命令字2寄存器操作命令字3寄存器(OCW3)说明如图7-9所示。图7-9操作命令字3寄存器查询状态字(POLL)说明如图7-10所示。图7-10程序状态字寄存器在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的串口通信
4、使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示:1.8259单中断实验实验接线图如图7-11所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。图7-118259单中断实验接线图程序如下:SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETMIR7;取中断入口地址MOVSI,003CH;中断矢量地址MOV[SI],AX;填IRQ7的偏移矢量MOVAX,CS
5、;段地址MOVSI,003EHMOV[SI],AX;填IRQ7的段地址矢量CLIPOPDS;初始化主片8259MOVAL,11HOUT20H,AL;ICW1MOVAL,08HOUT21H,AL;ICW2MOVAL,04HOUT21H,AL;ICW3MOVAL,01HOUT21H,AL;ICW4;初始化从片8259;MOVAL,11H;OUT0A0H,AL;MOVAL,30H;OUT0A1H,AL;MOVAL,02H;OUT0A1H,AL;MOVAL,01H;OUT0A1H,AL;MOVAL,0FFH;OUT0A1H,ALMOVAL,6FH;OCW1OUT21H,ALSTIAA1:NOPJM
6、PAA1MIR7:STICALLDELAYMOVAX,0137HINT10H;显示字符7MOVAX,0120HINT10HMOVAL,20HOUT20H,AL;中断结束命令IRETDELAY:PUSHCXMOVCX,0F00HAA0:PUSHAXPOPAXLOOPAA0POPCXRETCODEENDSENDSTART实验步骤:(1)按图7-11连接实验线路;(2)编写实验程序,经编译、链接无误后装入系统;(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”以说明响应了中断。2.8259级联实验实验接线图如图7-12所示,KK1+连接到主片8259的IR7上,KK2+连接到从片
7、8259的IR1上,当按一次KK1+时,显示屏上显示字符“M7”,按一次KK2+时,显示字符“S1”图7-128259级联实验程序如下:SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETMIR7;取中断入口地址MOVSI,003CH;中断矢量地址MOV[SI],A