资源描述:
《8259中断控制 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深圳大学实验报告课程名称:微机原理与接口技术实验项目名称:8259中断控制实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:201019班级:电子实验时间:2012.5.18实验报告提交时间:2012.6.9教务处制实验目的与要求:1.掌握8259中断控制器的工作原理2.掌握8259的应用编程方法3.掌握8259的级联方式的使用方法实验环境:PC机一台,TD-PITE实验装置或TD-PITC实验装置一套,过滤器一台实验内容及步骤:1.中断控制器8259简介在Intel386EX芯片中集成有
2、中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图4.5:图4.58259内部连续及外部管脚引出图在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的
3、可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示:主片中断序号01234567功能调用08H09H0AH0BH0CH0DH0EH0FH矢量地
4、址20H~23H24H~27H28H~2BH2CH~2FH30H~33H34H~37H38H~3BH3CH~3FH说明未开放未开放未开放未开放串口未开放可用可用从片中断序号01234567功能调用30H31H32H33H34H35H36H37H矢量地址C0H~C3HC4H~C7HC8H~CBHCCH~CFHD0H~D3HD4H~D7HD8H~DBHDCH~DFH说明未开放可用未开放未开放未开放未开放未开放未开放2.8259单中断实验实验接线图如图4.15所示,单次脉冲输出与主片8259的IR7相连,每按动
5、一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。图4.158259单中断实验接线图实验步骤(1)按图4.15连接实验线路。(2)编写实验程序,经编译、链接无误后装入系统。(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”,说明响应了中断。实验程序清单(INT1.ASM)SSTACKSEGMENTSTACKDW32DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODESTART:PUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSET
6、MIR7;取中断入口地址MOVSI,003CH;中断矢量地址放在0000:003c-0000:003fMOV[SI],AX;填IRQ7的偏移矢量MOVAX,CS;段地址MOVSI,003EHMOV[SI],AX;填IRQ7的段地址矢量CLIPOPDS;初始化主片8259MOVAL,11HOUT20H,AL;A0=0,ICW1为00010001B,边沿触发,需要ICW4MOVAL,08HOUT21H,AL;A0=1,ICW2为00001000B,保持低三位为0MOVAL,04HOUT21H,AL;A0=1,
7、ICW1中SNGL=1,ICW3中D2=1,表示接端口接从属8259MOVAL,01HOUT21H,AL;ICW4,一般嵌套,8086模式,非自动EOI方式,非缓冲方式MOVAL,6FH;A0=1,寻址OCW1,01101111B,M=0时清除屏蔽状态OUT21H,ALSTIAA1:NOP;无限循环,等待中断发生JMPAA1MIR7:STICALLDELAYMOVAX,0137HINT10H;显示字符7MOVAX,0120HINT10HMOVAL,20HOUT20H,AL;中断结束命令IRETDELAY:
8、PUSHCX;延时子程序MOVCX,0F00HAA0:PUSHAXPOPAXLOOPAA0POPCXRETCODEENDSENDSTART实验结果如图所示,能够正确执行设定功能.实验程序分析:一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序放入堆栈中进行保护,所以,PUSHDS就起到这样的作用.在中断程序结束后,为了能回到之前执行的程序入口,还得用POPDS指令返回现场.这个实验是关于8259的单中断,不牵涉级联