1 / 9
文档名称:

8259中断控制-实验报告.doc

格式:doc   大小:148KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

8259中断控制-实验报告.doc

上传人:帅气的小哥哥 2024/5/12 文件大小:148 KB

下载得到文件列表

8259中断控制-实验报告.doc

相关文档

文档介绍

文档介绍:该【8259中断控制-实验报告 】是由【帅气的小哥哥】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【8259中断控制-实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。深圳大学实验报告课程名称:微机原理与接口技术实验工程名称:8259中断控制实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:202419班级:电子实验时间:::掌握8259中断控制器的工作原理掌握8259的应用编程方法掌握8259的级联方式的使用方法实验环境:PC机一台,TD-PITE实验装置或TD-PITC实验装置一套,过滤器一台实验内容及步骤:〔ICU〕,该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。:,首先必须进行初始化。一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对存放器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。系统启动时,主片8259已被初始化,且4号中断源〔IR4〕提供给与PC联机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示:主片中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地址20H~23H24H~27H28H~2BH2CH~2FH30H~33H34H~37H38H~3BH3CH~3FH说明未开放未开放未开放未开放串口未开放可用可用从片中断序号01234567功能调用30H31H32H33H34H35H36H37H矢量地址C0H~C3HC4H~C7HC8H~CBHCCH~CFHD0H~D3HD4H~D7HD8H~DBHDCH~,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。〔1〕。〔2〕编写实验程序,经编译、链接无误后装入系统。〔3〕运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7〞,说明响应了中断。实验程序清单〔〕SSTACK SEGMENTSTACK DW32DUP(?)SSTACK ENDSCODE SEGMENT ASSUMECS:CODESTART: PUSHDS MOVAX,0000H MOVDS,AX MOVAX,OFFSETMIR7 ;取中断入口地址 MOVSI,003CH ;中断矢量地址放在0000:003c-0000:003f MOV[SI],AX ;填IRQ7的偏移矢量 MOVAX,CS ;段地址 MOVSI,003EH MOV[SI],AX ;填IRQ7的段地址矢量 CLI POPDS ;初始化主片8259 MOVAL,11H OUT20H,AL ;A0=0,ICW1为00010001B,边沿触发,需要ICW4 MOVAL,08H OUT21H,AL ;A0=1,ICW2为00001000B,保持低三位为0 MOVAL,04H OUT21H,AL ;A0=1,ICW1中SNGL=1,ICW3中D2=1,表示接端口接附属8259 MOVAL,01H OUT21H,AL ;ICW4,一般嵌套,8086模式,非自动EOI方式,非缓冲方式 MOVAL,6FH ;A0=1,寻址OCW1,01101111B,M=0时去除屏蔽状态 OUT21H,AL STIAA1: NOP;无限循环,等待中断发生 JMPAA1 MIR7: STI CALLDELAY MOVAX,0137H INT10H ;显示字符7 MOVAX,0120H INT10H MOVAL,20H OUT20H,AL ;中断结束命令 IRET DELAY: PUSHCX;延时子程序 MOVCX,0F00HAA0: PUSHAX POPAX LOOPAA0 POPCX RET CODE ENDS ENDSTART实验结果如下列图,:一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序放入堆栈中进行保护,所以,,为了能回到之前执行的程序入口,,不牵涉级联问题,所以,,一般先使用CLI指令将所有的可屏蔽中断禁止,,ICW2,ICW3,ICW4,由于8259只有一根地址线,,,在初始化程序中我们用了STI这条指令翻开中断,那么进入MIR7中断程序中,我们为什么又执行STI这条指令呢,会不会重复了?经过实验,我们知道这条指令并不是没用的,如果缺少后面这条STI指令,实验中我们会发现,当按一次KK1开关的时候,屏幕会显示一个字符7,但是,再按KK1的时候,就没有反响了,起初并不知道怎么解释这个现象,后来才知道8086CPU执行完一次中断后,会自动将相应的中断位屏蔽,所以,如果我们想按一次KK1就发生一次中断,就得重新在程序中翻开中断,,RET指令是短信返回指令,而IRET指令那么是中断短程返回指令,,中断发生的时候,CPU又是怎样进入中断子程序的呢?,也就是我们得利用3CH-,就采用MOVAX,OFFSETMIR7,MOVSI,003CH,MOV[SI],AX这三句来获得偏移地址IP,接着高地址位置又用MOVAX,CS,MOVSI,003EH,MOV[SI],AX这三条指令来获得CS. CPU根据CS,,用了MOVAL,20HOUT20H,AL以及IRET这三条指令,是为了说明这是正常的EOI,可以通知8259A此次效劳结束.?? ,KK1+连接到主片8259的IR7上,KK2+连接到从片8259的IR1上,当按一次KK1+时,显示屏上显示字符“M7〞,按一次KK2+时,显示字符“S1〞。编写程序。〔1〕。〔2〕输入程序,编译、链接无误后装入系统。〔3〕运行程序,按动KK1+或KK2+,观察实验结果,验证实验程序的正确性。〔4〕假设同时按下KK1+和KK2+,观察实验结果,解释实验现象。实验程序清单〔〕SSTACK SEGMENTSTACK DW32DUP(?)SSTACK ENDSCODE SEGMENT ASSUMECS:CODESTART: PUSHDS MOVAX,0000H MOVDS,AX MOVAX,OFFSETMIR7 ;取中断入口地址 MOVSI,003CH ;中断矢量地址 MOV[SI],AX ;填IRQ7的偏移矢量 MOVAX,CS ;段地址 MOVSI,003EH MOV[SI],AX ;填IRQ7的段地址矢量 MOVAX,OFFSETSIR1 MOVSI,00C4H MOV[SI],AX MOVAX,CS MOVSI,00C6H MOV[SI],AX CLI POPDS ;初始化主片8259 MOVAL,11H OUT20H,AL ;ICW1 MOVAL,08H OUT21H,AL ;ICW2 MOVAL,04H OUT21H,AL ;ICW3 MOVAL,01H OUT21H,AL ;ICW4 ;初始化从片8259 MOVAL,11H OUT0A0H,AL ;ICW1 MOVAL,30H OUT0A1H,AL ;ICW2 MOVAL,02H OUT0A1H,AL ;ICW3 MOVAL,01H OUT0A1H,AL ;ICW4 MOVAL,0FDH OUT0A1H,AL ;OCW1=11111101 MOVAL,6BH OUT21H,AL ;主8259OCW1 STIAA1: NOP JMPAA1MIR7: CALLDELAY MOVAX,014DH INT10H ;M MOVAX,0137H INT10H ;显示字符7 MOVAX,0120H INT10H MOVAL,20H OUT20H,AL ;中断结束命令 IRETSIR1: CALLDELAY MOVAX,0153H INT10H ;S MOVAX,0131H INT10H ;显示字符1 MOVAX,0120H INT10H MOVAL,20H OUT0A0H,AL OUT20H,AL IRETDELAY: PUSHCX MOVCX,0F00HAA0: PUSHAX POPAX LOOPAA0 POPCX RETCODE ENDS ENDSTART实验结果截图如下,:,现在,主要说说级联情况下,,,在中断响应周期,,从片8259也需要初始化,,在级联方式下,中断结束时,要发两次EOI命令,,20HOUT0A0H,ALOUT20H,,结束这两个中断的顺序,是否有要求呢?经过实验,我们知道,两条结束中断的指令,不管谁先执行,,当处于这种级联方式下,为了保证附属8259正常的中断请求,主片8259就设置成特殊全嵌套方式,:,,8259中断控制实验在微机的几个实验中,,需要对课本上那些对8259的系统介绍有一个深入的了解,以及级联方式下各个存放器相应的控制和操作方法,这些,都是我们学****的重点,:成绩评定:指导教师签字:年月日备注: