微机原理与接口技术实验报告Word下载.docx

上传人:b****0 文档编号:13243634 上传时间:2022-10-08 格式:DOCX 页数:24 大小:428.89KB
下载 相关 举报
微机原理与接口技术实验报告Word下载.docx_第1页
第1页 / 共24页
微机原理与接口技术实验报告Word下载.docx_第2页
第2页 / 共24页
微机原理与接口技术实验报告Word下载.docx_第3页
第3页 / 共24页
微机原理与接口技术实验报告Word下载.docx_第4页
第4页 / 共24页
微机原理与接口技术实验报告Word下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术实验报告Word下载.docx

《微机原理与接口技术实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验报告Word下载.docx(24页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术实验报告Word下载.docx

三、实验步骤

1.实验1-1:

PC机内中断应用实验

(1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下:

(2)自设计实验。

改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。

(注意:

考虑PC机内中断级联的方式,参看前面的原理说明),代码如下:

DATASEGMENT

MESSDB'

IRQ10'

0DH,0AH,'

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,CS

MOVDS,AX

MOVDX,OFFSETINT10

MOVAX,2572H;

设置IRQ10对应的中断向量

INT21H

INAL,21H;

读取中断屏蔽寄存器

ANDAL,0F3H;

开放IRQ3中断和从片

OUT21H,AL

INAL,0A1H;

从片的中断屏蔽寄存器

ANDAL,0FBH;

开放IRQ10中断

OUT0A1H,AL

MOVCX,10

STI

WAIT:

JMPWAIT

INT10:

MOVAX,DATA;

中断服务程序

MOVDS,AX

MOVDX,OFFSETMESS

MOVAH,09;

在屏幕上显示每次中断的提示信息

INT21H

MOVAL,20H;

发出EOI结束中断到PC内主片的地址20H

OUT20H,AL

LOOPNEXT

INAL,21H;

读中断屏蔽寄存器,获取中断屏蔽字

ORAL,08H;

关闭IRQ3中断

OUT21H,AL;

将中断屏蔽字送到中断屏蔽寄存器

STI;

置中断标志位

MOVAH,4CH;

返回DOS

NEXT:

IRET;

中断返回

CODEENDS

ENDSTART

调用程序代码,观察实验现象,屏幕显示截图如下:

2.实验1-2:

PC机内中断嵌套实验

实验要求:

(1)按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,观察屏幕显示结果并分析产生该现象的原因:

A.按下连接IRQ的单次脉冲按键,屏幕上会显示10个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)程序所有代码及注释:

CODE,DS:

.386

CLI

MOVAX,CS

MOVDS,AX

MOVDX,OFFSETINT10;

采用间接修改法,设置中断向量

MOVDX,OFFSETINT3;

MOVAX,250BH;

设置IRQ3对应的中断向量

INAL,21H;

读中断屏蔽寄存器,21H是该寄存器的端口号

ANDAL,0F3H;

开放中断,允许从片和IRQ3

读中断屏蔽寄存器,0A1H是该寄存器的端口

ANDAL,0FBH;

开放中断IRQ10

MOVCX,10;

记中断循环次数为10次

CLI;

PUSHAD

PUSHFD

NEXT10_1:

MOVDX,31H

MOVAH,02H;

输出DL

MOVDX,30H

MOVAH,02H;

MOVDX,20H;

发出EOI结束中断到PC内主片的地址20H

输出DL,3

CALLDELAY1;

等待

LOOPNEXT10_1

MOVDX,0DH

输出DL,‘’

MOVDX,0AH;

发出EOI结束中断到PC内从片占用的是0A0H端口

输出DL,发生中断后输出10

MOVAL,20H;

OUT0A0H,AL;

从片

OUT20H,AL;

主片

POPFD;

关中断,出栈,返回

POPAD

IRET

INT3:

PUSHAD

PUSHFD

NEXT3_1:

MOVDX,33H

LOOPNEXT3_1

MOVDX,0DH

发生中断输出DL,10

MOVAL,20H

OUT0A0H,AL

出栈,关中断,返回

DELAY1PROC;

控制等待部分

MOVCX,0FH

DELAY_LOOP1:

MOVBX,0FFFFH

DELAY_LOOP2:

DECBX

NOP

JNZDELAY_LOOP2

LOOPDELAY_LOOP1

POPFD

RET

DELAY1ENDP

3.实验1-3:

扩展多中断应用实验

调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259工作原理填写并验证,然后将所填内容写在实验报告中,并分析所填数据的形成原理。

程序代码及与案例说明:

;

*****************************************************************

8259中断查询方式应用实验

请根据所学原理推断横线处需填写的源代码

I8259_1EQU2B0H;

8259的ICW1端口地址

I8259_2EQU2B1H;

8259的ICW2端口地址

I8259_3EQU2B1H;

8259的ICW3端口地址,ICW3,ICW4,OCW1都写入奇地址中

I8259_4EQU2B1H;

8259的ICW4端口地址

O8259_1EQU2B1H;

8259的OCW1端口地址

O8259_2EQU2B0H;

8259的OCW2端口地址,OCW2,OCW3写入偶地址

O8259_3EQU2B0H;

8259的OCW3端口地址

MES1DB'

YOUCANPLAYAKEYONTHEKEYBOARD!

'

0DH,0AH,24H

MES2DDMES1

MESS1DB'

HELLO!

THISISINTERRUPT*0*!

0DH,0AH,'

MESS2DB'

THISISINTERRUPT*1*!

MESS3DB'

THISISINTERRUPT*2*!

MESS4DB'

THISISINTERRUPT*3*!

MESS5DB'

THISISINTERRUPT*4*!

MESS6DB'

THISISINTERRUPT*5*!

MESS7DB'

THISISINTERRUPT*6*!

MESS8DB'

THISISINTERRUPT*7*!

STACKSSEGMENT

DB100DUP(?

STACKSENDS

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATA,SS:

STACKS,ES:

MOVAX,DATA

MOVES,AX

MOVAX,STACKS

MOVSS,AX

MOVDX,I8259_1;

初始化8259的ICW1

MOVAL,13H;

边沿触发、单片8259、需要ICW4,查表得到控制字

OUTDX,AL

MOVDX,I8259_2;

初始化8259的ICW2

MOVAL,0B0H

MOVAL,03H

MOVDX,O8259_1;

初始化8259的中断屏蔽操作命令字

MOVAL,000H;

打开屏蔽位,将全部屏蔽位打开

QUERY:

MOVAH,1;

判断是否有按键按下

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1