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

上传人:公**** 文档编号:456125983 上传时间:2023-11-22 格式:DOCX 页数:23 大小:34.52KB
返回 下载 相关 举报
微机原理与接口技术实验报告_第1页
第1页 / 共23页
微机原理与接口技术实验报告_第2页
第2页 / 共23页
微机原理与接口技术实验报告_第3页
第3页 / 共23页
微机原理与接口技术实验报告_第4页
第4页 / 共23页
微机原理与接口技术实验报告_第5页
第5页 / 共23页
点击查看更多>>
资源描述

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

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

2、内中断应用实验(1)按接线图连好接线,调用程序源代码,观察实验现象,屏幕显示结果截图如下:(2)自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机内中断级联的方式,参看前面的原理说明)代码如下:DATASEGMENTMESSDBIRQ10,0DH,0AH,$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,CSMOVDS,AXMOVDX,OFFSETINT10INT21HINAL,21H;读取中断屏蔽寄存器ANDAL,0F3H;开放IRQ3中断和从片OUT21

3、H,ALINAL,0A1H;从片的中断屏蔽寄存器ANDAL,0FBH;开放IRQ10中断OUT0A1H,ALMOVCX,10STIWAIT:JMPWAITINT10:MOVAX,DATA;中断服务程序MOVDS,AXMOVDX,OFFSETMESSMOVAH,09;在屏幕上显示每次中断的提示信息INT21HMOVAL,20H;发出EOI结束中断到PC内主片的地址20HOUT20H,ALLOOPNEXTINAL,21H;读中断屏蔽寄存器,获取中断屏蔽字ORAL,08H;关闭IRQ3中断OUT21H,AL;将中断屏蔽字送到中断屏蔽寄存器STI;置中断标志位MOVAH,4CH;返回DOSINT21H

4、NEXT:IRET;中断返回CODEENDSENDSTART调用程序代码,观察实验现象,屏幕显示截图如下:2. 实验1-2:PC机内中断嵌套实验实验要求:(1)按接线图连好接线,调用程序源代码,做如下操作,观察屏幕显示结果并分析产生该现象的原因:A.按下连接IRQ的单次脉冲按键,屏幕上会显示10个3,在屏幕上10次显示未结束之前,按下连接IRQ10的单次脉冲按键,观察现象;按下IRQ时屏幕上会显示10个3,此时按下IRQ10,会直接在屏幕上显示10个10,然后结束后再显示剩余的3B.按下连接IRQ10的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3的单次脉

5、冲按键,观察现象。在屏幕上显示10个10的过程中按下IRQ无反应,等到10个10全部显示完毕后才再显示10个3出现这种现象的原因是IRQ10的中断优先级高于IRQ3屏幕截图:(2)程序所有代码及注释:DATASEGMENTDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:.386CLIMOVAX,CSMOVDS,AXINT21HMOVDX,OFFSETINT10;采用间接修改法,设置中断向量MOVAX,2572H;设置IRQ10对应的中断向量INT21HMOVDX,OFFSETINT3;采用间接修改法,设置中断向量MOVAX,250BH;设置IRQ3对

6、应的中断向量OUT21H,ALINAL,21H;读中断屏蔽寄存器,21H是该寄存器的端口号ANDAL,0F3H;开放中断,允许从片和IRQ3INAL,0A1H;读中断屏蔽寄存器,0A1H是该寄存器的端口ANDAL,0FBH;开放中断IRQ10OUT0A1H,ALMOVCX,10;记中断循环次数为10次STIWAIT:JMPWAITINT10:CLI;中断服务程序PUSHADPUSHFDMOVCX,10;记中断循环次数为10次NEXT10_1:MOVDX,31HMOVAH,02H;输出DLINT21HMOVDX,30HINT21HMOVAH,02H;输出DLINT21HMOVDX,20H;发出E

7、OI结束中断到PC内主片的地址20HMOVAH,02H;输出DL,3CALLDELAY1;等待LOOPNEXT10_1MOVDX,0DHINT21HMOVAH,02H;输出DL,INT21HMOVDX,0AH;发出EOI结束中断到PC内从片占用的是0A0H端口MOVAH,02H;输出DL,发生中断后输出10MOVAL,20H;将中断屏蔽字送到中断屏蔽寄存器OUT0A0H,AL;从片OUT20H,AL;主片POPADSTIIRETINT3:CLI;中断服务程序PUSHADPUSHFDMOVCX,10;记中断循环次数为10次NEXT3_1:MOVDX,33HINT21HMOVAH,02H;输出DL

8、INT21HMOVDX,20H;发出EOI结束中断到PC内主片的地址20HMOVAH,02H;输出DL,3CALLDELAY1;等待LOOPNEXT3_1MOVDX,0DHINT21HMOVAH,02H;输出DL,INT21HMOVDX,0AH;发出EOI结束中断到PC内从片占用的是0A0H端口MOVAH,02H;发生中断输出DL,10MOVAL,20HOUT20H,AL;将中断屏蔽字送到中断屏蔽寄存器OUT0A0H,ALPOPFD;出栈,关中断,返回POPADSTIIRETDELAY1PROC;控制等待部分PUSHADPUSHFDMOVCX,0FHDELAY_LOOP1:MOVBX,0FFF

9、FHDELAY_LOOP2:DECBXNOPJNZDELAY_LOOP2LOOPDELAY_LOOP1POPFDPOPADRETDELAY1ENDPCODEENDSENDSTART3.实验1-3:扩展多中断应用实验8259工作原理填写并验证,然8259工作原理填写并验证,然调用程序源码文件,在程序源代码中划横线的位置,请按照所学后将所填内容写在实验报告中,并分析所填数据的形成原理。屏幕截图:程序代码及与案例说明:*J;8259中断查询方式应用实验;请根据所学原理推断横线处需填写的源代码*I8259_1EQU2B0H;8259的ICW1端口地址I8259_2EQU2B1H;8259的ICW2端口

10、地址I8259_3EQU2B1H;8259的ICW3端口地址,ICW3,ICW4OCW都写入奇地址中I8259_4EQU2B1H;8259的ICW4端口地址O8259_1EQU2B1H;8259的ocw端口地址O8259_2EQU2B0H;8259的ocw端口地址,OCW2OCW写入偶地址O8259_3EQU2B0H;8259的OCW端口地址DATASEGMENTMES1DBYOUCANPLAYAKEYONTHEKEYBOARD!,0DH,0AH,24HMES2DDMES1MESS1DBHELLO!THISISINTERRUPT*0*!,0DH,0AH,$MESS2DBHELLO!THISIS

11、INTERRUPT*1*!,0DH,0AH,$MESS3DBHELLO!THISISINTERRUPT*2*!,0DH,0AH,$MESS4DBHELLO!THISISINTERRUPT*3*!,0DH,0AH,$MESS6DBHELLO!THISISINTERRUPT*5*!,0DH,0AH,$MESS7DBHELLO!THISISINTERRUPT*6*!,0DH,0AH,$MESS8DBHELLO!THISISINTERRUPT*7*!,0DH,0AH,$DATAENDSSTACKSSEGMENTDB100DUP(?)STACKSENDSSTACK1SEGMENTSTACKDW256DU

12、P(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKS,ES:DATA.386START:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKSMOVSS,AXMOVDX,I8259_1MOVAL,13HOUTDX,AL初始化8259的ICW1边沿触发、单片8259、需要ICW4,查表得到控制字MOVAL,0B0HOUTDX,ALMOVAL,03HOUTDX,ALMOVDX,O8259_1;MOVAL,000H;OUTDX,ALQUERY:MOVAH,1;INT16HJNZQUIT;MOVDX,O8259_3;MO

13、VAL,6CH;01101100OUTDX,ALINAL,DX;TESTAL,80H;JZQUERY;ANDAL,07H初始化8259的中断屏蔽操作命令字打开屏蔽位,将全部屏蔽位打开判断是否有按键按下有按键则退出向8259发送查询命令读出查询字判断中断是否已响应,响应后对应位置0没有响应则继续查询CMPAL,00HJEIR0ISR;若为IR0请求,跳到IR0处理程序CMPAL,01HJEIR1ISR;若为IR1请求,跳到IR1处理程序CMPAL,02HCMPAL,03HJEIR3ISR;CMPAL,04HJEIR4ISR;CMPAL,05HJEIR5ISR;CMPAL,06HJEIR6ISR;CMPAL,07HJEIR7ISR;JMPQUERYIR0ISR:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESS1MOVAH,09INT21HJMPEOIIR1ISR:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESS2MOVAH,09INT21HJMPEOIIR2ISR:MOVAX,DATAMOVDS,AX若为IR3请求,跳到IR3处理程序若为IR4请求,跳到IR4处理程序若为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

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