




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8259中断控制实验一.实验目的1.掌握8259中断控制器的工作原理。2.掌握系统总线上IR1,IR2中断请求的应用编程方法。二.实验设备IA-32架构的微机系统及应用教学平台一套。三.实验原理3.1中断控制器8259简介中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259的内部结构和引脚如图1所示。图18259内部结构和引脚图8259的命令共有7个,一类是初始化命令字,另一类是操作命令。8259的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图2所示,OCW1-OCW3各命令字格式如图3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。图2(a)ICW1格式图2(b)ICW2格式图2(c)ICW3格式图2(d)ICW4格式图3OCW命令字格式3.28259寄存器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表1所示。表18259寄存器及命令的访问控制3.3EPC微机系统中的8259在80x86系列EPC微机系统中,系统中包含了两片8259中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表2示。两片8259的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。在实验平台上系统总线单元的IR1,IR2信号对应的中断线就是系统8259中断控制器的IRQ10,IRQ7。表2EPC微机系统中的硬件中断四.实验内容、步骤、程序及现象4.1IRQ单中断应用实验⑴实验内容:系统总线单元的IR1中断请求信号对应EPC内部的IRQ10中断。IR1产生一个上升沿的中断请求,EPC内部相应的那级中断就会得到响应。所以,使用IR1中断请求信号,就相当在使用PC机内部相应的IRQ10中断。本实验要求使用总线上IR1中断请求线完成一次单中断应用实验。用单次脉冲上升沿模拟中断源,中断处理程序完成在屏幕上的显示字符“1”。⑵实验步骤:①、实验接线图如图4所示,按图接线。②、运行Tdpit集成操作软件,编写程序,编译、链接。③、使用运行命令运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“1”,说明响应了中断。图48259单中断实验接线图⑶实验程序:IRQ_IVADDEQU01C8H;IRQ10对应的中断矢量地址IRQ_OCW1EQU0A1H;IRQ10对应PC机内部8259的OCW1地址IRQ_OCW2EQU0A0H;IRQ10对应PC机内部8259的OCW2地址IRQ_IMEQU0FBH;IRQ10对应的中断屏蔽字STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTMESDB'Pressanykeytoexit!',0AH,0DH,0AH,0DH,'$'CS_BAKDW?;保存IRQ10原中断处理程序入口段地址的变量IP_BAKDW?;保存IRQ10原中断处理程序入口偏移地址的变量IM_BAKDB?;保存IRQ10原中断屏蔽字的变量DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMES;显示退出提示MOVAH,09H INT21H CLIMOVAX,0000H;替换IRQ10的中断矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存IRQ10原中断处理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX;设置当前中断处理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ10原中断处理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;设置当前中断处理程序入口段地址MOVDX,IRQ_OCW1;设置中断屏蔽寄存器,打开IRQ10的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ10原中断屏蔽字ANDAL,IRQ_IMOUTDXSTIWAIT1:MOVAH,1;判断是否有按键按下INT16HJZWAIT1;无按键则跳回继续等待,有则退出QUIT:CLIMOVAX,0000H;恢复IRQ10原中断矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,IP_BAK;恢复IRQ10原中断处理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢复IRQ10原中断处理程序入口段地址MOVES:[DI],AXMOVDX,IRQ_OCW1;恢复IRQ10原中断屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HMYISRPROCNEAR;中断处理程序MYISRPUSHAXMOVDL,'1'MOVAH,1INT21hMOVDL,''INT21HOVER:MOVDX,IRQ_OCW2;向PC机内部8259发送中断结束命令MOVAL,20HOUTDXMOVAL,20HOUT20H,ALPOPAXIRETMYISRENDPCODEENDSENDSTART⑷实验现象:按图接好线并编好程序,编译连接完毕后,屏幕上先出现语句“Pressanykeytoexit!”,当按单次脉冲开关KK+1时,屏幕上出现数字“1”;不按时为空格;而按下键盘上的任意键,则会出现语句“Pressanykeytocontinue…”4.2级联中断实验⑴实验内容:本实验要求实现IR1、IR2两路中断都可以向EPC发起中断请求。用KK1+和KK2+模拟两个中断源,在IR1对应的服务程序中显示字符“1”,在IR2对应的服务程序中显示字符“2”。⑵实验步骤:①、实验接线图如图5所示,按图接线。②、运行Tdpit集成操作软件,编写程序,编译、链接。③、使用运行命令运行程序,按动KK1+、KK2+按键,观察中断是否产生。图5级联中断实验接线图⑶实验程序IRQ_IVADDEQU01C8H;IRQ10对应的中断矢量地址01C8HIRQ_OCW1EQU0a1H;IRQ10对应PC机内部8259的OCW1地址IRQ_OCW2EQU0a0H;IRQ10对应PC机内部8259的OCW2地址IRQ_IMEQU0FBH;IRQ10对应的中断屏蔽字0FBHIRQ2_IVADDEQU003CH;IRQ7对应的中断矢量地址003CHIRQ2_OCW1EQU021H;IRQ7对应PC机内部8259的OCW1地址IRQ2_OCW2EQU020H;IRQ7对应PC机内部8259的OCW2地址IRQ2_IMEQU07FH;IRQ7对应的中断屏蔽字07FHSTACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATASEGMENTMESDB'Pressanykeytoexit!',0AH,0DH,0AH,0DH,'$'CS_BAKDW?;保存IRQ原中断处理程序入口段地址的变量IP_BAKDW?;保存IRQ原中断处理程序入口偏移地址的变量IM_BAKDB?;保存IRQ原中断屏蔽字的变量DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMES;显示退出提示 MOVAH,09H INT21H CLIMOVAX,0000H;替换IRQ10的中断矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存IRQ10原中断处理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX;设置当前中断处理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ10原中断处理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;设置当前中断处理程序入口段地址MOVDX,IRQ_OCW1;设置中断屏蔽寄存器,打开IRQ10的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ10原中断屏蔽字ANDAL,IRQ_IMOUTDXSTIMOVAX,0000H;替换IRQ7的中断矢量MOVES,AXMOVDI,IRQ2_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存IRQ7原中断处理程序入口偏移地址MOVAX,OFFSETMYISR2MOVES:[DI],AX;设置当前中断处理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存IRQ7原中断处理程序入口段地址MOVAX,SEGMYISR2MOVES:[DI],AX;设置当前中断处理程序入口段地址MOVDX,IRQ2_OCW1;设置中断屏蔽寄存器,打开IRQ7的屏蔽位INAL,DXMOVIM_BAK,AL;保存IRQ7原中断屏蔽字ANDAL,IRQ2_IMOUTDXSTIWAIT1:MOVAH,1;判断是否有按键按下INT16HJZWAIT1;无按键则跳回继续等待,有则退出QUIT:CLIMOVAX,0000H;恢复IRQ10原中断矢量MOVES,AXMOVDI,IRQ_IVADDMOVAX,IP_BAK;恢复IRQ10原中断处理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢复IRQ10原中断处理程序入口段地址MOVES:[DI],AXMOVDX,IRQ_OCW1;恢复IRQ10原中断屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HQUIT2:CLIMOVAX,0000H;恢复IRQ7原中断矢量MOVES,AXMOVDI,IRQ2_IVADDMOVAX,IP_BAK;恢复IRQ7原中断处理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢复IRQ7原中断处理程序入口段地址MOVES:[DI],AXMOVDX,IRQ2_OCW1;恢复IRQ7原中断屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轴承配件买卖合同协议
- 活动报名协议书
- 产品购销合同的撰写
- 工程防水补漏合同
- 专业服务网络工程合同
- 剧本创作合作协议
- 昌宁离婚协议书
- 转让高科物业合同协议
- 道路环境清理合同协议
- 运动场地安全协议合同
- 中职ps期末考试试卷及答案
- 高温下质子交换膜燃料电池密封垫泄漏机理分析
- 光催化反应的化学机理试题及答案
- 2025-2030年中国科技金融行业前景预测及投资战略规划研究报告
- 美育课程中的跨学科融合教学实践
- 2024年湖北省竹溪县事业单位公开招聘医疗卫生岗笔试题带答案
- 浙江省台州市十校联盟2024-2025学年高二下学期期中联考技术试题(含答案)
- 2024年广东大亚湾开发区招聘公办学校教师笔试真题
- 四川2025年四川美术学院招聘辅导员笔试历年参考题库附带答案详解
- 八下劳动教育课件
- 2025年04月中国科学技术大学附属第一医院(安徽省立医院)护理人员招聘213人笔试历年专业考点(难、易错点)附带答案详解
评论
0/150
提交评论