资源描述:
《8259中断控制器应用实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、8259中断控制器应用实验 实验目的(1)学习中断控制器8259的工作原理。(2)掌握可编程控制器8259的应用编程方法。 实验内容(1)利用实验平台上的8259控制器,通过查询中断源方法,设计一个查询中断应用实验,处理IR0和IR1发出的中断请求。 实验原理1.8259控制器的介绍 中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时
2、,在不需增加其他电路的情况下,通过多片8259的级连,能构成多达64级的矢量中断系统。它的管理功能包括:(1)记录各级中断源请求。(2)判别优先级,确定是否响应和响应哪一级中断。(3)响应中断时,向CPU传送中断类型号。 8259的内部结构和引脚如图1所示。图1 8259的命令共有7个,一类是初始化命令字,另一类是操作命令。8259的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图2所示,OCW1-OCW3各命令字格式如图3所示,其
3、中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。 图2(a)ICW1格式 图2(b)ICW2格式 图2(c)ICW3格式 图2(d)ICW4格式 图3 2.8259寄存器及命令的控制访问 在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表1所示。 实验说明及步骤1.8259查询中断应用实验 8259支持查
4、询方式检测中断请求。具体过程为:设置8259OCW3中的P位为1即可执行查询命令,8259将下一个I/O读命令视作一次中断响应。如果有中断请求,则置ISR中的相应位并读其优先级。从OCW3写操作到I/O读操作期间禁止中断,读出字节的最高位为1表示有中断,最低3位(D2~D0)为最高优先级中断请求源的编码。查询字格式如图4所示。 图4本实验要求使用这种方法编写程序处理实验单元8259IR0和IR1请求的中断,IR0请求在屏幕上显示字符“0”,IR1请求则在屏幕上显示字符“1”以示中断到来。IR0和IR1分别用一个单次脉冲的上升沿模拟中断产生。参考程序流
5、程如图5所示,参考实验接线图如6所示。 图6实验步骤如下。(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。(2)运行Tdpit集成操作软件,查看系统资源分配情况,记录与所使用片选信号对应的I/O端口始地址。(3)参考实验程序流程图编写程序,注意使用正确的端口地址,然后编译链接。(4)参考实验接线图连接实验电路。(5)运行程序,按动KK1+、KK2+按键,观察中断响应是否正常。程序IOY0EQU0D400HMY8259_ICW1EQUIOY0+00HMY8259_ICW2EQUIOY0+04HMY8259_ICW3EQUIOY0+04HMY
6、8259_ICW4EQUIOY0+04HMY8259_OCW1EQUIOY0+04HMY8259_OCW2EQUIOY0+00HMY8259_OCW3EQUIOY0+00HSTACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,MY8259_ICW1MOVAL,13HOUTDX,ALMOVDX,MY8259_ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4MOVAL,01HOUTDX,ALMOVDX,MY8259_OCW1MOVAL
7、,0FCHOUTDX,ALQUERY:MOVAH,1INT16HJNZQUITMOVDX,MY8259_OCW3MOVAL,0CHOUTDX,ALINAL,DXTESTAL,80HJZQUERYANDAL,03HCMPAL,00HJEIR0ISRJNEIR1ISRJMPQUERYIR0ISR:MOVAL,30HMOVAH,0EHINT10HMOVAL,20HINT10HJMPEOIIR1ISR:MOVAL,31HMOVAH,0EHINT10HMOVAL,20HINT10HEOI:MOVDX,MY8259_OCW2MOVAL,20HOUTDX,ALJMP
8、QUERYQUIT:MOVAX,4C00HINT21HCODEENDSENDSTART