8259中断试验讲解_第1页
8259中断试验讲解_第2页
8259中断试验讲解_第3页
8259中断试验讲解_第4页
8259中断试验讲解_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

1、浙江工业大学计算机学院实验报告实验名称 8259A中断实验姓名李晓峰学 号 201326811208班级物联网1301教师雷艳静日期 12.18一、实验内容与要求1.1 实验内容利用8259A芯片,实现中断响应程序。要求根据单脉冲按键,输出相应的语句:THIS IS THE xxx INTERRUPT!。至U达中断次数后,屏幕上显示 PROGRAM TERMINATED NORMALLY!1.2 实验要求(1)第一次按键,输出 THIS IS THE 1 st INTERRUPT!;(2)第二次按键,输出 THIS IS THE 2 nd INTERRUPT!;(3)第-I一次按键(特殊),输

2、出 THIS IS THE 11 st INTERRUPT!;(4)以此法继续,直至计数值为零,输出 PROGRAM TERMINATED NORMALLY!二、实验原理与硬件连线2.1 实验原理PC用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级别判别等处理后向CPU发出可屏蔽中断请求。旧M PC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源。中断源中断类型号中断功能IRQ008H时钟IRQ109HIRQ20AH保留IRQ30BH串行口 2IRQ40CH串行口 1IRQ50DH硬盘IRQ60EH软盘IRQ70FH并

3、行打印机8个中断源的中断请求信号线 IRQ0IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。PC/AT及286以上微机内又扩展了一片 8259中断控制,IRQ2卅十两片8259之间级联,对外可以提供16个中断源。中断源中断类型号中断功能IRQ8070H实时时钟IRQ9071H用户中断IRQ10072H保留IRQ11073H保留IRQ12074H保留IRQ13075H协处理器IRQ14076H硬盘IRQ15077H保留TPC-USB实验板上,将中断源固定到3号中断IRQ3上,即进行中断实验时,所用中断型号为0BH。2.2 硬件连线将TPC-US

4、B实验板上的IQR与8251芯片的IRQ3引脚相连接。三、设计思路、步骤和程序流程图3.1 设计思路要输出“ THIS IS THE xxx INTERRUPT! ”,必须将字符串分解为 3部分,中间部分必须独 立输出。后缀分为“ th”,“st”,“nd”,“rd”,必须经过判断后进行匹配。设置中断向量表,并开放IRQ3的中断屏蔽,同时,将 DS指向数据段,便于信息的输出。设置中断次数,便于测试。首先,输出中断信息前缀。对于个位数,与1比较.若为1,输出个位数字和对应后缀“ st”。若大于1,跳转判断是否等于 2。若等于2,输出数字与后缀“ nd”。 同理,对于49可以直接输出数字和后缀“

5、th”。若数据为二位数,则要先判断个位数。而1019,数字后缀均为“th”,无需判断(特殊情况)。判断中断计数器的值,为 0时屏蔽IRQ3中断,并关中断,结束程序。否则,中断返回, 等待硬中断。3.2 实验步骤根据电路图,连接各仪器(中断连IRQ3),并进行硬件检测;设置中断向量表,并开放IRQ3的中断屏蔽。等待硬中断。判断数据个位数字,若为1,设置后缀为“st”;若为2,设置后缀为“nd”; 若为3,设置后缀为“ rd”。特殊情况,1119时,后缀均为“th”。(4)判断中断计数器的值, 等待硬中断。为0时屏蔽IRQ3中断,并关中断,结束程序。否则,中断返回,3.3 程序流程图3-1主程序3

6、-2中断服务程序四、程序清单与执行结果4.1 程序清单DATAS SEGMENTMESS1 DB THIS IS THE $MESS2 DB PROGRAM TERMINATED NORMALLY!,0AH,0DH,$MESS4 DB ST,$MESS3 DB INTERRUPT!,0AH,0DH,$STR1 DB RD,$STR2 DB ND,$STR3 DB TH,$DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKSSTART:MOV BX,1CLIMOV AX,SEG IR

7、Q3MOV DS,AXMOV DX,OFFSET IRQ3MOV AX,250BHINT 21HIN AL,21HAND AL,0F7HOUT 21H,ALMOV AX,DA TASMOV DS,AXSTIWIN:JMP WINIRQ3:MOV DX,OFFSET MESS1MOV AH,9HINT 21HCMP BX,9JA COUT;设置中断向量段地址;设置中断向量偏移地址;中断入口地址送中断向量表;读中断屏蔽字;开放8259A的IR3中断;将DS指向数据段;等待硬中断;输出中断信息前缀;DOS功能调用;中断次数大于9,跳转COUTPUSH BXMOV AX,BXMOV CL,0AHDIV

8、 CLMOV CL,AHADD AH,30HMOV DL,AHMOV AH,2HINT 21HPOP BXCMP BX,0AHJB C6JMP C5C5:MOV DX,OFFSET STR3MOV AH,9HINT 21HJMP SEG1C6:CMP CL,1JA C1MOV DX,OFFSET MESS4MOV AH,9HINT 21HJMP SEG1COUT:MOV AX,BXMOV CL,0AHDIV CLMOV CL,AHADD AL,30H;除数为10;中断次数除以10;输出高位数字;保存BX;小于10,跳转C6;跳转C5;DOS功能调用,输出“th”;跳转SEG1;个位数是否为1;

9、大于1,跳转C1;DOS功能调用,输出“ st”;跳转SEG1;中断次数除以10;输出高位MOV DL,ALMOV AH,02HINT 21HJMP C4C1:CMP CL,2JA C2MOV DX,OFFSET STR2MOV AH,9HINT 21HJMP SEG1C2:CMP CL,3JNZ C3MOV DX,OFFSET STR1MOV AH,9HINT 21HJMP SEG1 ;跳转 SEG1C3:MOV DX,OFFSET STR3MOV AH,9HINT 21HJMP SEG1SEG1:MOV DX,OFFSET MESS3MOV AH,9INT 21HINC BXCMP BX,

10、15JNZ NEXT;跳车专C4;DOS功能调用,输出“ nd;跳车专SEG1;DOS功能调用,输出“ rd;DOS功能调用,输出“th;跳车专SEG1;比较中断次数;跳车专NEXT ,中断返回IN AL,21HOR AL,08HOUT 21H,ALMOV DX,OFFSET MESS2;输出中断信息后缀MOV AH,9INT 21HMOV AH,4CHINT 21NEXT:MOV AL,20H;关中断OUT 20H,ALIRET;中断返回CODES ENDSEND START4.2 执行结果(1)第一次按键,输出 THIS IS THE 1 st INTERRUPT!;(2)第二次按键,输出

11、 THIS IS THE 2 nd INTERRUPT!;(3)第H一次按键(特殊),输出 THIS IS THE 11 st INTERRUPT!;(4)以此法继续,直至计数值为零,输出 PROGRAM TERMINATED NORMALLY!五、程序调试说明和实验感想5.1 调试说明1 .按键时,突然到某个点会停止程序。反复检查程序并没有发现问题,猜测是软件问题。重新开启程序多次后,该问题可解决(治标不治本,硬件问题)。2 .写代码时,没有考虑到多位数的情况。比如,尾数为 1的数字,一般后缀是“st;尾数为 2的数字,后缀一般是“ nd;”尾数为3的数字,后缀一般是“rd”。然而在1020

12、之间,统一用的 是“ th,”这点一开始没考虑到,验收时经老师提醒才发现。3 .汇编的除法很久没有使用,导致AH、AL经常弄错,调试时也不易发现。AH,AL未使用完时一定要保存,不然容易被DOS功能调用时使用AH而产生复用错误。5.2 实验感想与收获1 .代码的逻辑性一定要严谨。这次的代码,跳转、判断很多,稍微粗心一点就会造成错误。 最好先画好每一步的流程,标记每一段的实际作用,方便自己检查错误。另外,对于 CALL、 JMP这些功能类似的代码,一定要细心的区分开来,不可混淆使用。2 .熟练使用DOS功能调用。对于字符串的输出,已经了然于胸。DOS功能很强大,要善于运用。MOV DX,OFFSET STR3 ;九号功能输出字符串MOV AH,9HINT 21H5.3 实验特色这次实验的要求不低,需要考虑的东西比较多。不同英文的数值后缀需要分别考虑,不能用同 一规律一概而论。比如,11的后缀就不是“ st”,而是“th”,这方面一定要注意。经过老师提醒,我 们这方面也完善的比较好了。另外,由于前缀和后缀都是公共的部分,无需每次

温馨提示

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

评论

0/150

提交评论