实验四使用8259A的单级中断控制实验一、实验目的1.掌握中断控制器8259A与微机接口的原理和方法。2.掌握中断控制器8259A的应用编程。二、实验内容编制程序,利用开关作为8259芯片IR7的中断源,人工控制产生单一中断。中断的功能是驱动发光二极管,使其亮灭,不停地闪动。三、实验提示8259中断控制器是专为控制优先级中断设计的芯片。它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。实验箱中采用一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量关于如下表所示。表18259中断矢量对应关系8259A中断源中断序号中断类型号中断矢量表地址IR00820~23HIR11924~27HIR22A28~2BHIR33B2C~2FHIR44C30~33HIR55D34~37HIR66E38~3BHIR77F3C~3FH本实验中使用7号中断源IR7,中断方式为边沿触发方式,按动开关按钮产生一次中断。编写中断服务程序程序,使系统每次响应外部中断IR7时发光二极管闪烁。四、实验电路五、实验软件清单Port0EQU0FFE0HPort1EQU0FFE1HCODESEGMENTASSUMECS:CODE,DS:CODE,ES:CODEORG3400HP8259:CLIMOVAX,OFFSETINT8259MOVBX,0020HMOV[BX],AXMOVBX,0022HMOVAX,0000HMOV[BX],AXCALLFOR8259MOVAL,0FEHMOVDX,0FFE4HSTIJMP$;==============================FOR8259:MOVAL,13HMOVDX,Port0OUTDX,ALMOVAL,08HMOVDX,Port1OUTDX,ALMOVAL,09HOUTDX,ALMOVAL,08H;IRQ0OUTDX,ALRET;---------------------------INT8259:cliPushdxPushaxMOVAL,20HMOVDX,Port0OUTDX,ALPopaxPopdxOutdx,almovcx,0loop$Rolal,1STIIRETCODEENDSENDP8259六、实验软件框图七、实验步骤(1)按实验电路图连接线路:①开关Ki和82597号中断IR7插孔相连。②按照实验一中3.3的实验步骤②要求连接138译码电路,8259的CS端连138译码器的Y0孔。输出单元74LS273的G端连74LS32的6腿,4腿连138译码器的Y1孔,5腿连IOWR。③将8259的单元总线接口D0~D7,用8芯排线或8芯扁平线与数据总线单元D0~D7任一接口相连。输出单元74LS273的8芯排线或8芯扁平线与数据总线单元D0~D7任一接口相连,输出连LED。(2)运行实验程序按动开关按钮,观察LED输出。八、实验思考1.详细注释。2.解释如何实现中断。预备知识1.8259A的内部结构8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8级中断。如图5-19所示,它由中断请求寄存器(IRR)、优先级分析器、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。开始8259A初始化:ICW1~ICW4、OCW1~OCW3中断矢量初始化程序功能初始化关中断开中断主程序中断服务程序现场保护关中断程序功能开中断现场恢复,返回图18259A的内部结构中断请求寄存器:寄存所有要求服务的请求IR0~IR7。中断服务寄存器:寄存正在被服务的中断请求。中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号,该位为1,屏蔽该号中断,否则开放该号中断。数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线,通过它可以由CPU对8259A写入状态字和控制字。读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。2.8259A编程及初始化(1)写初始化命令字*写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。*写初始化命令字ICW2,以定义中断向量的高五位类型码。*写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A从片。第i位=0,表明IRi引脚上无从片第i位=1,表明IRi引脚上有从片*写初始化命令ICW4,用来定义8259A工作时用8085模式...