




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.实验六 8259中断控制器实验6.1 实验目的(1) 学习中断控制器8259的工作原理。(2) 掌握可编程控制器8259的应用编程方法。6.2 实验设备PC微机一台、TD-PIT+实验系统一套。6.3 实验内容1. 单中断应用实验(1)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。(2)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示Hello,中断5次后退出。2扩展多中断源实验利用实验平台上8259控制器
2、对扩展系统总线上的中断线INTR进展扩展。编写程序对8259控制器的IR0和IR1中断请求进展处理。6.4 实验原理1. 8259控制器的介绍中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、区分中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进展编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断构造可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1记录各级中断源请求,2判别优先级,确定是否响应和响应哪一级中断,3响应中断时,
3、向CPU传送中断类型号。8259A的内部构造和引脚如图6-1所示。8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令存放器组和操作命令存放器组。ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断完毕方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部存放器的读出命令。图6-1 8259内部构造和引脚图图6-2a ICW
4、1格式图6-2b ICW2格式图6-2c ICW3格式图6-2d ICW4格式图6-3 OCW命令字格式28259存放器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的存放器和命令字。对存放器和命令的访问控制如表6-1所示。表6-1 8259存放器及命令的访问控制A0D4D3读信号写信号片选操作0010读出ISR,IRR的内容1010读出IMR的内容000100写入OCW2001100写入OCW301100写入ICW11100写入OCW1,ICW2,ICW3,ICW43. PC微机系统中的8259在80*86系列PC微机系统中,系统中包含了
5、两片8259A中断控制器,经级连可以管理15级硬件中断,但其中局部中断号已经被系统硬件占用,具体使用情况如表6-2示。两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级15级,然后是3级7级。在扩展系统总线上的INTR对应的中断线就是PC机保存中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽翻开,修改中断向量。表6-2 PC微机系统中的硬件中断中断号功能中断向量号中断向量地址主8259A IR
6、Q0日时钟/计数器008H0020H0023H主8259A IRQ1键盘09H0024H0027H主8259A IRQ2接从片8259A0AH0028H002BH主8259A IRQ3串行口20BH002CH002FH主8259A IRQ4串行口10CH0030H0033H主8259A IRQ5并行口20DH0034H0037H主8259A IRQ6软盘0EH0038H003BH主8259A IRQ7并行口10FH003CH003FH从8259A IRQ8实时钟70H01C0H01C3H从8259A IRQ9保存71H01C4H01C7H从8259A IRQ10保存72H01C8H01CBH从
7、8259A IRQ11保存73H01CCH01CFH从8259A IRQ12保存74H01D0H01D3H从8259A IRQ13协处理器中断75H01D4H01D7H从8259A IRQ14硬盘控制器76H01D8H01DBH从8259A IRQ15保存77H01DCH01DFH6.5 实验说明及步骤1. 单中断应用实验本实验要求使用总线上INTR中断请求线完成一次单中断应用实验。中断处理程序完成在屏幕上显示字符9。实验前先运行CHECK程序,得到INTR所对应的中断号、相应的初始化命令字存放器ICW及操作命令字存放器OCW的地址、开屏蔽的命令字、中断矢量地址和PCI卡中断控制存放器INTC
8、SR的地址。得到这些信息后就可以开场设计实验了。参考程序流程如图6-5所示。实验步骤如下。(1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。(2) 首先运行CHECK程序,查看INTR中断号及相关信息。(3) 参考实验流程图编写程序,然后编译。(4) 将单次脉冲单元的KK1+连接到系统总线上的INTR。(5) 运行程序,按动KK1+按键,观察中断是否产生。2扩展多中断源实验利用实验平台上的8259控制器,可以对总线上的INTR进展扩展。将8259的INT连接到INTR,8259的8路中断请求线IR0IR7就成了单一INTR中断请求线的扩大。这8路中断源共用INTR的中断矢量,共用IN
9、TR的中断效劳线程。在INTR的中断效劳线程中通过对8259OCW3的查询,以确定是IR0IR7中哪个产生中断,然后转到相应的效劳线程进展处理。将8259的OCW3中P位置1即可执行查询,查询字格式如图6-6所示。(a)主程序 (b)中断处理程序图6-5 8259中断应用实验(1)参考程序流程图图6-6 8259 OCW3查询命令字格式本实验要*现8259控制器IR0、IR1两路中断。用KK1+和KK2+模拟两个中断源,在IR0对应的效劳程序中显示字符0,在IR1对应的效劳程序中显示字符1。实验程序参考流程如图6-7所示。参考实验电路如图6-8所示。实验步骤如下:(1) 确认从PC机引出的两根
10、扁平电缆已经连接在实验平台上。(2) 首先运行CHECK程序,查看INTR中断号及相关信息。(3) 参考实验流程图编写程序,然后编译。(4) 参考实验接线图连接实验电路。(5) 运行程序,按动KK1+、KK2+按键,观察中断响应是否正常。(a)主程序 (b)中断处理程序图6-7 8259中断应用实验(2)参考程序流程图图6-8 8259中断应用实验(2)参考接线图6.6 思考题1. 在编程过程中,用到了哪些操作命令字?2. 在执行中断效劳程序之前,保存了哪些断点?为什么?单一中断应用实验参考程序;*根据CHECK配置信息修改以下符号值*INTR_IVADD EQU _H ;INTR对应的中断矢
11、量地址INTR_OCW1 EQU _H ;INTR对应PC机内部8259的OCW1地址INTR_OCW2 EQU _H ;INTR对应PC机内部8259的OCW2地址INTR_IM EQU _H ;INTR对应的中断屏蔽字PCI_INTCSR EQU _H ;PCI卡中断控制存放器地址STACK1 SEGMENT STACK DW 256 DUP()STACK1 ENDSDATA SEGMENT CS_BAK DW ;保存INTR原中断处理程序入口段地址的变量IP_BAK DW ;保存INTR原中断处理程序入口偏移地址的变量IM_BAK DB ;保存INTR原中断屏蔽字的变量DATA ENDS
12、CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV A*,DATA MOV DS,A* CLI MOV D*,PCI_INTCSR SUB D*,19H IN AL,D* MOV D*,PCI_INTCSR ;初始化PCI卡中断控制存放器 MOV A*,1F00H ;向PCI_INTCSR中写入003F1F00H OUT D*,A* ADD D*,2 MOV A*,003FH OUT D*,A* MOV A*,0000H ;替换INTR的中断矢量 MOV ES,A* MOV DI,INTR_IVADD MOV A*,ES:DI MOV IP_BAK,A*
13、 ;保存INTR原中断处理程序入口偏移地址 MOV A*,OFFSET MYISR MOV ES:DI,A* ;设置当前中断处理程序入口偏移地址 ADD DI,2 MOV A*,ES:DI MOV CS_BAK,A* ;保存INTR原中断处理程序入口段地址 MOV A*,SEG MYISR MOV ES:DI,A* ;设置当前中断处理程序入口段地址 MOV D*,INTR_OCW1 ;设置中断屏蔽存放器,翻开INTR的屏蔽位 IN AL,D* MOV IM_BAK,AL ;保存INTR原中断屏蔽字 AND AL,INTR_IM OUT D*,AL STIWAIT1: MOV AH,1 ;判断是
14、否有按键按下 INT 16H JZ WAIT1 ;无按键则跳回继续等待,有则退出QUIT: CLI MOV D*,PCI_INTCSR ;恢复PCI卡中断控制存放器 MOV A*,0000H OUT D*,A* MOV A*,0000H ;恢复INTR原中断矢量 MOV ES,A* MOV DI,INTR_IVADD MOV A*,IP_BAK ;恢复INTR原中断处理程序入口偏移地址 MOV ES:DI,A* ADD DI,2 MOV A*,CS_BAK ;恢复INTR原中断处理程序入口段地址 MOV ES:DI,A* MOV D*,INTR_OCW1 ;恢复INTR原中断屏蔽存放器的屏蔽字 MOV AL,IM_BAK OUT D*,AL STI MOV A*,4C00H ;返回到DOS INT 21HMYISR PROC NEAR ;中断处理程序MYISR MOV AL,39H MOV AH,0EH INT 10H MOV AL,20H INT 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖田地合同协议书范本
- 科技招商合同协议书范本
- 与餐厅的合同协议书模板
- 代销合同协议书范本简单
- 员工入职合同协议书电子
- 餐饮采购配送合同协议书
- 2025年度咨询服务合同书
- 农田出租合同怎么写协议书
- 广告安全施工合同协议书
- 交警秩序工作报告
- 停车场改造的申请报告
- 新疆生产建设兵团2025届七年级数学第二学期期末监测模拟试题含解析
- 《保安员培训手册》
- 农业执法考试试题及答案
- 股权转让解除协议书
- 幼儿园桌椅安全教育
- 《2025 急性心梗诊疗指南》解读课件
- 2025-2031年中国医学检验市场深度分析及行业前景展望报告
- 医院培训课件:《中华人民共和国母婴保健法》
- 佛山市普通高中2025年高三第二次诊断性检测生物试卷含解析
- 国开电大软件工程形考作业3参考答案 (一)
评论
0/150
提交评论