资源描述:
《实验七 8259a中断控制器实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验七8259A中断控制器实验一、实验目的与要求了解8259A的内部结构、工作原理;了解8259A与8088的接口逻辑;掌握对8259A的初始化编程方法,了解8088是如何响应中断、退出中断的。复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。二、实验内容1、编制程序:拨动单脉冲开关,“”送给8259A的IR0,触发中断,8088计数中断次数,显示于G5区的数码管上三、实验原理图四、实验步骤1、连线说明:B3区:CS、A0——A3区:CS1、A0B3区:INT、INTA——ES8688:INTR、INTAB3区:IR0——B2区:单脉冲E5区:
2、CS、A0——A3区:CS5、A0E5区:CLK——B2区:2ME5区:A、B、C、D——G5区:A、B、C、D2、运行程序3、上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。五、演示程序.MODELTINYEXTRNDisplay8:NEARIO8259_0EQU0F000HIO8259_1EQU0F001H.STACK100.DATABUFFERDB8DUP(?)CounterDB?ReDisplayFlagDB0.CODESTART:MOVAX,@DATAMOVDS,AXMOVES,AXNOPCALLInit8
3、259CALLWriIntverMOVCounter,0;中断次数MOVReDisplayFlag,1;需要显示STI;开中断START1:CMPReDisplayFlag,0JZSTART1CALLLedDisplayMOVReDisplayFlag,0JMPSTART1Init8259PROCNEARMOVDX,IO8259_0MOVAL,13HOUTDX,ALMOVDX,IO8259_1MOVAL,08HOUTDX,ALMOVAL,09HOUTDX,ALMOVAL,0FEHOUTDX,ALRETInit8259ENDPWriIntverPROCNEARPUS
4、HESMOVAX,0MOVES,AXMOVDI,20HLEAAX,INT_0STOSWMOVAX,CSSTOSWPOPESRETWriIntverENDPLedDisplayPROCNEARMOVAL,CounterMOVAH,ALANDAL,0FHMOVBuffer,ALANDAH,0F0HRORAH,4MOVBuffer+1,AHMOVBuffer+2,10H;高六位不需要显示MOVBuffer+3,10HMOVBuffer+4,10HMOVBuffer+5,10HMOVBuffer+6,10HMOVBuffer+7,10HLEASI,BufferCALLDi
5、splay8RETLedDisplayENDPINT_0:PUSHDXPUSHAXMOVAL,CounterADDAL,1DAAMOVCounter,ALMOVReDisplayFlag,1MOVDX,IO8259_0MOVAL,20HOUTDX,ALPOPAXPOPDXIRETENDSTART开始初始化8259,初始化中断向量0->计数器,1->显示标志显示标志=1在数码管上显示计数器值0->显示标志NY开始计数器+1对计数器进行十进制调整1->显示标志清零中断标志中断返回六、实验结果拨一下开关,数码管计数一次。七、实验总结8259A作为与8088cpu配套的可
6、编程中断控制寄存器,其内部结构比较复杂,分为好几个寄存器和功能电路。通过这次实验,我对它各部分的相互配合实现功能有了更深的了解。学会了8259A与8088的接法;掌握了对8259A的初始化编程方法,主要是写控制字,设定其触发方式与级联方式等。