中断实验课件_第1页
中断实验课件_第2页
中断实验课件_第3页
中断实验课件_第4页
中断实验课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四中断实验1实验目的理解中断的原理,学习和掌握中断产生、响应、处理等技术,其中主要涉及到如下几点:1中断源的捕捉2中断向量表的查询3中断服务处理程序(ISR)2实验说明向量中断:在内存中开辟一块专门的区域用以存放各中断源的中断向量,而中断向量就是中断服务处理程序的入口地址。非向量中断:其不像向量中断,不能够直接提供中断程序的的入口地址,需要通过处理程序查询后才能找到相应的中断程序入口地址3实验说明(续)

1要求中断隐指令中执行开中断功能,如果用户中断服务程序允许被中断,必须在中断服务程序中执行EI开中断命令。

4实验说明(续)2.1教学机的中断系统共支持三级中断,由三个无锁按键确定从右到左依次为一、二、三级中断,对应的P1、P0的编码分别是01、10、11,优先级也依次升高。这决定了它们的中断向量(即中断响应后,转去执行的程序地址)为XXX4、XXX8、XXXC;可以看到,每级中断实际可用的空间只有四个字,故这个空间一般只存放一条转移指令,而真正的用户中断服务程序则存放在转移指令所指向的地址内存区。5实验说明(续)2.2确定中断向量表地址。中断向量表的高12位由硬件布线确定为(001001000000),后四位为P1P000。三级中断对应的中断向量为2404H、2408H、240CH。当有中断请求且被响应后,将执行存放在该中断的中断向量所指向的内存区的指令。6实验内容1扩展开中断指令EI、关中断指令DI、中断返回指令IRET。2.填写中断向量表。在上述的2404H、2408H、240CH地址写入三条JR转移指令,其中JR指令的OFFSET,在PCEC16中输入时,用户直接输入要转向的绝对地址即可。7实验内容3编写中断服务程序。中断服务程序可以放在中断向量表之后,中断服务程序可实现在程序正常运行时在计算机屏幕上显示与优先级相对应的不同字符;4写主程序。可编写一死循环程序,要求先开中断;8实验步骤将TEC-XP实验系统左下方的五个黑色的控制机器运行状态的开关置于正确的位置,在找个实验中开关应置为00010(连续、内存读指令、组合逻辑、联机、16位),控制开关的功能在开关上、下方有标识;开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意,其它实验相同;9实验步骤1)选择3级中断的中断向量为2404H、2408H、240CH。2)中断向量一共有16位,高12位由硬件布线决定为:001001000000,后四位为P1P000,P1P0

由按下的无锁按键(中断源)决定,分别为01、10、11,所以中断向量的16位为2404、2408、240C。10实验步骤(续)3)填写中断向量表:从2404H单元开始输入下面的程序(2404)JR2420

;跳转到中断服务程序(2408)JR2430

;跳转到中断服务程序(240C)JR2440

;跳转到中断服务程序11实验步骤(续)6.编写中断服务程序。该中断服务程序,先开中断,显示字符“BI”和对应的中断优先级“1”、“2”或“3”后,等待从键盘输入一个字符。在键盘输入一个字符后,显示该字符和字符“EI”,然后退出当前中断服务程序,返回中断断点,继续执行。12实验步骤(续)用A、E命令从2420H单元开始输入下面的程序(标有*的语句表示要用E命令输入)2420:PUSHR0;R0进栈2421:PUSHR3;R3进栈2422:MVRDR3,31;将字符‘1’的ASCII码送寄存器R32424:JR245013实验步骤(续)2430:PUSHR0;R0进栈2431:PUSHR3;R3进栈2432:MVRDR3,32;将字符‘2’的ASCII码送寄存器R32434:JR245014实验步骤(续)2440:PUSHR0;R0进栈2441:PUSHR3;R3进栈2442:MVRDR3,33;将字符‘3’的ASCII码送寄存器R32444:JR245015实验步骤(续)*2450:EI;开中断(指令编码:6E00)2451:MVRDR0,0042;将字符“B”赋值给R0,B即Begin的缩写。2453:CALA2200

;调用子程序,完成显示2455:MVRDR0,0049;将字符“I”赋值给R0,I即Interrupt的缩写。2457:CALA2200

;调用子程序,完成显示2459:MVRRR0,R3;将R3的内容送R0245A:CALA2200

;调用子程序,完成显示16实验步骤(续)245C:IN81;判键盘上是否按了一个键245D:SHRR0;即串口是否有了输入字符245E:SHRR0245F:JRNC245C;若没有,等待2460:IN80;输入字符到R017实验步骤(续)2461:MVRDR0,0045;将字符“E”赋值给R0,E即End的缩写。2463:CALA2200;调用子程序,完成显示2465:MVRDR0,0049;将字符“I”赋值给R0,I即Interrupt的缩写2467:CALA2200;调用子程序,完成显示2469:MVRRR0,R3;将R3的内容送R0246A:CALA2200;调用子程序,完成显示246C:POPR3;R3出栈246D:POPR0;R0出栈*246E:IRET;中断返回(EF00)18实验步骤(续)7.用A命令从2200H单元开始输入下面的子程序2200:PUSHR0;R0进栈2201:IN81;查询接口状态,判字符输出完成否2202:SHRR02203:JRNC2201;未完,循环等待2204:POPR0;R0出栈2205:OUT80;输出R0的值2206:RET19实验步骤(续)8.编写主程序。从地址2000H开始输入下列程序:*2000:EI2001:MVRDR0,0036;将字符‘6’的ASCII码送寄存器R02003:CALA2200;输出该字符2005:MVRDR0,4000;延时子程序2007:DECR02008:JRNZ20072009:JR2001;跳到2001循环执行该程序200A:RET20思考完成参考上述中断事例程序,掌握中断原理前提下完成:1)主程序循环显示字母'M',如果捕捉到中断源1的时候在屏幕循环显示数字1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论