您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 微机实验六--8259外部中断实验
南昌大学微机原理与接口技术实验报告1南昌大学实验报告实验六8259外部中断实验1、实验要求:用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数,并将计数结果显示在LED数码管上。2、实验目的:(1)学习8088/86与8259的连接方法。(2)学习8088/86对8259的控制方法。3.实验器材:(1)G2010+实验平台1台(2)G6W仿真器1台(3)连线若干根(4)8259芯片1片(5)万用表1块(6)Lab8088板1块4、实验电路:5、实验说明:编程时注意:(1)正确地设置可编程中断控制和工作方式。(2)必须正确地设置中断服务程序地址。8259可外接8个中断源,本实验只响应INT0中断,8259也可以多级连接以响应多个中断源。实验时,将单脉冲信号接到8259的INT0脚。每次中断时,可看到LED显示会加1。6、实验框图:开始设置中断服务程序地址计数值加1南昌大学微机原理与接口技术实验报告2主程序框图EXTINT中断子程序框图7、程序清单:OUTBITequ0e101h;位控制口CLK164equ0e102h;段控制口(接164时钟)DAT164equ0e102h;段控制口(接164数据位)ICW1equ00010011b;单片8259,上升沿中断,要写ICW4ICW2equ00100000b;中断号为20HICW4equ00000001b;工作在8086/88方式OCW1equ11111110b;只响应INT0中断CS8259Aequ0A000h;8259地址CS8259Bequ0A001h……IEnterprocnearpushaxpushdxincCNTmovdx,CS8259Amoval,20h;中断服务程序结束指令outdx,alpopdxpopaxiretIEnterendpIInitprocmovdx,CS8259Amoval,ICW1outdx,almovdx,CS8259Bmoval,ICW2outdx,almoval,ICW4outdx,al设置中断控制器工作方式中断允许等待中断中断入口输出计数值输出中断结束命令中断返回南昌大学微机原理与接口技术实验报告3moval,OCW1outdx,alretIInitendpStartprocnearcli……movax,0movds,axmovbx,4*ICW2;中断号movax,codeshlax,4;x16addax,offsetIEnter;中断入口地址(段地址为0)mov[bx],axmovax,0incbxincbxmov[bx],ax;代码段地址为0callIInitmovax,datamovds,axmovCNT,0;计数值初始为0sti……DispAgain:callDisplayLED;显示decDelayTjnzDispAgainjmpMLoopStartendpcodeendsendstart8、实验结果每次按一次脉冲时,LED数码管计数加一。南昌大学微机原理与接口技术实验报告4南昌大学微机原理与接口技术实验报告59、实验总结这次实验主要学习8088/86与8259的连接方法和学习8088/86对8259的控制方法。实验中用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数,并将计数结果显示在LED数码管上。本次试验用到了CS2,INTR,INTA和IR0这四个接口,其中命令cli用于关闭中断,sti用于打开中断。程序将中断处理程序IEnter的地址写入中断向量号对应的内存单元,即中断响应调用该内存单元指定的处理程序。之后调用初始化代码IInit设置8259的命令字,从而打开中断。当出现一个中断请求时,调用IEnter(代码中的功能为自增变量CNT),之后将CNT的值显示在8段数码管,从而动态可见的进行外部中断的计数。
本文标题:微机实验六--8259外部中断实验
链接地址:https://www.777doc.com/doc-5055673 .html