微机原理与接口技术 实验报告

上传人:cn****1 文档编号:505327054 上传时间:2024-01-01 格式:DOC 页数:19 大小:495.02KB
返回 下载 相关 举报
微机原理与接口技术 实验报告_第1页
第1页 / 共19页
微机原理与接口技术 实验报告_第2页
第2页 / 共19页
微机原理与接口技术 实验报告_第3页
第3页 / 共19页
微机原理与接口技术 实验报告_第4页
第4页 / 共19页
微机原理与接口技术 实验报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《微机原理与接口技术 实验报告》由会员分享,可在线阅读,更多相关《微机原理与接口技术 实验报告(19页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术实验报告学院:计算机与通信工程学院专业:计算机科学与技术班级:学号:姓名: 实验一 8259中断控制器应用实验一、实验目的 1.掌握PC机中断处理系统的基本原理。 2. 掌握可编程中断控制器8259的应用编程方法。 二、实验内容 1PC机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。 2PC机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。 3扩展多中断源查询方式应用实验。利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。三、实验步骤 1.实验1-

2、1:PC机内中断应用实验(1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下:(2) 自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下:DATA SEGMENT MESS DB IRQ10 ,0DH,0AH, $DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, CS MOV DS, AX MOV DX,OFFSET INT10 MOV AX,2572H

3、;设置IRQ10对应的中断向量 INT 21H IN AL,21H;读取中断屏蔽寄存器 AND AL,0F3H ;开放IRQ3中断和从片 OUT 21H,AL IN AL,0A1H ;从片的中断屏蔽寄存器 AND AL,0FBH ;开放IRQ10中断 OUT 0A1H,AL MOV CX,10 STIWAIT: JMP WAITINT10: MOV AX, DATA ;中断服务程序 MOV DS, AX MOV DX, OFFSET MESS MOV AH, 09 ;在屏幕上显示每次中断的提示信息 INT 21H MOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT

4、20H, AL LOOP NEXT IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 08H ;关闭IRQ3中断 OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH, 4CH ;返回DOS INT 21HNEXT: IRET ;中断返回CODE ENDSEND START调用程序代码,观察实验现象,屏幕显示截图如下: 2.实验1-2:PC机内中断嵌套实验 实验要求: (1)按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,观察屏幕显示结果并分析产生该现象的原因: A 按下连接IRQ的单次脉冲按键,屏幕上会显示10

5、个3,在屏幕上10次显示未结束之前,按下连接IRQ10的单次脉冲按键,观察现象;按下IRQ时屏幕上会显示10个3,此时按下IRQ10,会直接在屏幕上显示10个10,然后结束后再显示剩余的3B 按下连接IRQ10的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3的单次脉冲按键,观察现象。 在屏幕上显示10个10的过程中按下IRQ无反应,等到10个10全部显示完毕后才再显示10个3出现这种现象的原因是IRQ10的中断优先级高于IRQ3 屏幕截图:(2) 程序所有代码及注释:DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CO

6、DE ,DS:DATASTART: .386 CLI MOV AX,CS MOV DS,AX MOV DX,OFFSET INT10 ;采用间接修改法,设置中断向量 MOV AX,2572H ;设置IRQ10对应的中断向量 INT 21H MOV DX,OFFSET INT3 ;采用间接修改法,设置中断向量 MOV AX,250BH ;设置IRQ3对应的中断向量 INT 21H IN AL,21H ;读中断屏蔽寄存器,21H是该寄存器的端口号 AND AL,0F3H ;开放中断,允许从片和IRQ3 OUT 21H,AL IN AL,0A1H ;读中断屏蔽寄存器,0A1H是该寄存器的端口 AND

7、 AL,0FBH ;开放中断IRQ10 OUT 0A1H,AL MOV CX,10 ;记中断循环次数为10次 STIWAIT: JMP WAITINT10: CLI ;中断服务程序 PUSHAD PUSHFD MOV CX,10 ;记中断循环次数为10次NEXT10_1: MOV DX,31H MOV AH,02H ;输出DL INT 21H MOV DX,30H MOV AH,02H ;输出DL INT 21H MOV DX,20H ;发出EOI结束中断到PC内主片的地址20H MOV AH,02H ;输出DL,3 INT 21H CALL DELAY1 ;等待 LOOP NEXT10_1

8、MOV DX,0DH MOV AH,02H ;输出DL, INT 21H MOV DX,0AH ;发出EOI结束中断到PC内从片占用的是0A0H端口 MOV AH,02H ;输出DL,发生中断后输出10 INT 21H MOV AL,20H ;将中断屏蔽字送到中断屏蔽寄存器 OUT 0A0H,AL ;从片 OUT 20H,AL ;主片 POPFD ;关中断,出栈,返回 POPAD STI IRETINT3: CLI ;中断服务程序 PUSHAD PUSHFD MOV CX,10 ;记中断循环次数为10次NEXT3_1: MOV DX,33H MOV AH,02H ;输出DL INT 21H M

9、OV DX,20H ;发出EOI结束中断到PC内主片的地址20H MOV AH,02H ;输出DL,3 INT 21H CALL DELAY1 ;等待 LOOP NEXT3_1 MOV DX,0DH MOV AH,02H ;输出DL, INT 21H MOV DX,0AH ;发出EOI结束中断到PC内从片占用的是0A0H端口 MOV AH,02H ;发生中断输出DL,10 INT 21H MOV AL,20H OUT 20H,AL ;将中断屏蔽字送到中断屏蔽寄存器 OUT 0A0H,AL POPFD ;出栈,关中断,返回 POPAD STI IRETDELAY1 PROC ;控制等待部分 PU

10、SHAD PUSHFD MOV CX,0FHDELAY_LOOP1: MOV BX,0FFFFHDELAY_LOOP2: DEC BX NOP JNZ DELAY_LOOP2 LOOP DELAY_LOOP1 POPFD POPAD RETDELAY1 ENDPCODE ENDS END START 3.实验1-3:扩展多中断应用实验调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259工作原理填写并验证,然后将所填内容写在实验报告中,并分析所填数据的形成原理。屏幕截图:程序代码及与案例说明:;*; 8259中断查询方式应用实验;请根据所学原理推断横线处需填写的源代码;*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

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