8259中断控制 实验报告

上传人:pu****.1 文档编号:386289686 上传时间:2023-07-14 格式:DOCX 页数:8 大小:59.28KB
返回 下载 相关 举报
8259中断控制 实验报告_第1页
第1页 / 共8页
8259中断控制 实验报告_第2页
第2页 / 共8页
8259中断控制 实验报告_第3页
第3页 / 共8页
8259中断控制 实验报告_第4页
第4页 / 共8页
8259中断控制 实验报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《8259中断控制 实验报告》由会员分享,可在线阅读,更多相关《8259中断控制 实验报告(8页珍藏版)》请在金锄头文库上搜索。

1、深圳大学实验报告课程名称:微机原理与接口技术实验项目名称学院专业:电子信息工程指导教师报告人:学号:201019班级:电子实验时间:2012.518实验报告提交时间:201269教务处制实验目的与要求:1. 掌握8259中断控制器的工作原理2. 掌握8259的应用编程方法3. 掌握8259的级联方式的使用方法实验环境:PC机一台,TD-PITE实验装置或TD-PITC实验装置一套,过滤器一台实验内容及步骤:1.中断控制器8259简介在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断 控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准

2、的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两 片8259的级联。在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来 供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图 4.5:IN TR(内核)串口 0MIR6MIR7SIR 1图4.5 8259内部连续及外部管脚引出图在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的可 屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不 正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命

3、令字的顺 序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片 8259的顺序是相同的。系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的 串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示:2.8259单中断实验实验接线图如图4.15所示,单次脉冲输出与 主片8259的IR7相连,每按动一次单次脉冲,产 生一次外部中断,在显示屏上输出一个字符“7”。系统总线MIR7主82590OKK1+单次脉冲单元主片中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H23H24H2

4、7H28H2BH2CH2FH30H-33H34H-37H38H-3BH3CH-3FH说明未开放未开放未开放未开放串口未开放可用可用从片中断序号01234567功能调用30H31H32H33H34H35H36H37H矢量地址COHC3HC4H-C7HC8H-CBHCCH-CFHDOHD3HD4H-D7HD8H-DBHDCH-DFH说明未开放可用未开放未开放未开放未开放未开放未开放图4.15 8259单中断实验接线图实验步骤(1)按图4.15连接实验线路。(2)编写实验程序,经编译、链接无误后装入系统。(3)运行程序,重复按单次脉冲开关KK1 +,显示屏会显示字符“7”,说明响应 了中断。实验程序

5、清单(INT1.ASM)SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中断入口地址MOV SI, 003CH;中断矢量地址放在0000:003c - 0000:003fMOV SI, AX;填IRQ7的偏移矢量MOV AX, CSMOV SI, 003EH;段地址MOV SI, AXCLIPOP DS;初始化主片8259MOV AL, 11H;填IRQ7的段地址矢量OUT 20H, ALMOV A

6、L, 08H;AO=O,ICW1 为 00010001B,边沿触发,需要 ICW4OUT 21H, ALMOV AL, 04H;A0=l,ICW2为00001000B,保持低三位为0OUT 21H, ALMOV AL, 01H;A0=1,ICW1 中 SNGL=1,ICW3 中 D2=1,表示接端口接从属 8259OUT 21H, AL;ICW4, 一般嵌套,8086模式,非自动EOI方式,非缓冲方式MOV AL, 6FHOUT 21H, ALSTI;A0=1,寻址OCW1,01101111B,M=0时清除屏蔽状态AA1:NOP;无限循环,等待中断发生JMP AA1MIR7:STICALL D

7、ELAYMOV AX, 0137HINT 10H;显示字符7MOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, AL;中断结束命令IRETDELAY:PUSH CX;延时子程序MOV CX, 0F00HAA0:PUSH AXPOP AXLOOP AA0POP CXRETCODEENDSEND START实验结果如图所示,能够正确执行设定功能.HlV AX. Ill实验程序分析:一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序 放入堆栈中进行保护,所以,PUSH DS就起到这样的作用在中断程序结束后,为了能回到之前执行的 程序入口,还得用POP DS指令

8、返回现场.这个实验是关于8259的单中断,不牵涉级联问题,所以,8259的初始化只需要看主片就可以了.初始化的 时候,一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化字.8259有四个初始化控制字 ICW1,ICW2,ICW3,ICW4,由于8259只有一根地址线,因此对各个控制字的操作是按照一定的顺序并结合 某些数据位来进行寻址设置的当初始化完成后,对8259的操作命令字的寻址是通过8259的地址线A0 和某些数据位结合来进行的.其初始化控制字和控制命令辽的赋值理由我已经在注释中给出.另外,在初始化程序中我们用了 STI这条指令打开中断,那么进入MIR7中断程序中,我们为什么 又执

9、行STI这条指令呢,会不会重复了?经过实验,我们知道这条指令并不是没用的,如果缺少后面这条 STI指令,实验中我们会发现,当按一次KK1开关的时候,屏幕会显示一个字符7,但是,再按KK1的时候, 就没有反应了,起初并不知道怎么解释这个现象,后来才知道8086CPU执行完一次中断后,会自动将相应 的中断位屏蔽,所以,如果我们想按一次KK1就发生一次中断,就得重新在程序中打开中断,也就是STI. 另外,RET指令是短信返回指令,而IRET指令则是中断短程返回指令,一般中断程序也大多是短程的.那么,中断发生的时候,CPU又是怎样进入中断子程序的呢?这就需要我们正确地设置中断向量表的 了.实验板上主中

10、断序号7可用,也就是我们得利用3CH-3FH这矢量地址.所以在程序开始的时候,就采 用MOV AX, OFFSET MIR7,MOV SI, 003CH,MOV SI, AX这三句来获得偏移地址IP,接着高地址位置又 用MOV AX, CS,MOV SI, 003EH,MOV SI, AX这三条指令来获得CS. CPU根据CS,IP就能转入正确的 中断程序执行中断了.、而中断程序结尾处,用了 MOV AL, 20H OUT 20H, AL以及IRET这三条指令,是为了说明这是正 常的EOI,可以通知8259A此次服务结束.3.8259级联实验实验接线图如图4.16所示,KK1+连接到主 片82

11、59的IR7 上,KK2 +连接到从片8259的IR1 上,当按一次KK1 +时,显示屏上显示字符“M7”, 按一次KK2 +时,显示字符“S1”。编写程序。KK1 +KK2+单次脉冲单元图4.16 8259级联实验实验步骤(1) 按图4.16连接实验线路。(2) 输入程序,编译、链接无误后装入系统。(3) 运行程序,按动KK1 +或 KK2 +,观察实验结果,验证实验程序的正确性。(4) 若同时按下KK1+和KK2 +,观察实验结果,解释实验现象。实验程序清单(INTCAS1.ASM)SSTACKSSTACKSEGMENT STACKDW 32 DUP(?)ENDSCODESEGMENTAS

12、SUME CS:CODEMOV AX,0000HMOVDS,AXMOVAX,OFFSET MIR7:取中断入口地址MOVSI,003CH:中断矢量地址MOVSI,AX:填IRQ7的偏移矢量MOVAX,CS:段地址MOVSI,003EHMOVSI,AX:填IRQ7的段地址矢量MOVAX,OFFSET SIR1MOVSI,00C4HMOVSI,AXMOVAX,CSMOVSI,00C6HMOVSI,AXCLIPOPDS:初始化主片8259MOVAL,11HOUT20H,AL:ICW1MOVAL,08HOUT21H,AL:ICW2MOVAL,04HOUT21H,AL:ICW3MOVAL,01HOUT2

13、1H,AL:ICW4PUSH DS:初始化从片 8259MOV AL, 11HOUT 0A0H. ALSTART:ICW1MOVAL, 30HOUT0A1H, ALMOVAL, 02HOUT0A1H, ALMOVAL, 01HOUT0A1H, ALMOVAL, 0FDHOUT0A1H,ALMOVAL, 6BHOUT21H, ALSTIAA1:NOPJMPAA1MIR7:CALL DELAYMOV AX, 014DHINT 10HMOV AX, 0137HINT 10HMOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, ALIRET;ICW2;ICW3;ICW4;OCW1 = 1111 1101;主 8259 OCW1;M;显示字符7;中断结束命令SIR1:CALL DELAYMOV AX, 0153HINT 10H;SMOV AX, 0131HINT 10HMOV AX, 0120HINT 10HMOV AL, 20HOUT 0A0H, ALOUT 20H, ALIRET;显示字符1DELAY:PUSHCXMOVCX, 0F00HAA0:PUSH-AXPOP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号