中断控制8259三.docx

上传人:b****6 文档编号:2943399 上传时间:2022-11-16 格式:DOCX 页数:8 大小:17.97KB
下载 相关 举报
中断控制8259三.docx_第1页
第1页 / 共8页
中断控制8259三.docx_第2页
第2页 / 共8页
中断控制8259三.docx_第3页
第3页 / 共8页
中断控制8259三.docx_第4页
第4页 / 共8页
中断控制8259三.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

中断控制8259三.docx

《中断控制8259三.docx》由会员分享,可在线阅读,更多相关《中断控制8259三.docx(8页珍藏版)》请在冰豆网上搜索。

中断控制8259三.docx

中断控制8259三

武夷学院实验报告

课程名称:

__汇编语言与微机接口__项目名称:

中断控制8259

姓名:

_安小圣_专业:

_计科_班级:

_10

(2)班__学号:

_20104061049___

同组成员_____无____

一、实验准备:

(一)、实验环境:

硬件环境:

微型计算机DVCC-8086JH实验箱

软件环境:

Windows操作系统,debug编程模式下

 

(二)、实验目的:

1、掌握中断控制器8259A与微机接口的原理与方法。

2、掌握中断控制器8259A的应用编程。

(二)、实验知识准备:

1、8259A的内部结构:

8259A是专为控制优先级中断而设计的芯片。

它将中断源按优先级排队、辨

认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8级中断。

它由中

断请求寄存器、优先级分析器、中断服务寄存器、中断屏蔽寄存器、数据总线缓冲器、读写控制电路和

级联缓冲器、比较器组成。

2、8259A编程及初始化:

(1)写初始化命令字:

a、写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优

先级排队和确定系统用单片还是多片。

b、写初始化命令字ICW2,以定义中断向量的高五位类型码。

C、写初始化命令字ICW3,以定义主片8259A中断请求线上IRO-IR7有无级联的8259A从片。

d、写初始化命令字ICW4,用来定义8259A工作时用8085模式,还是8086模式,以及中断服务寄存器复位方式。

(2)、写控制命令字:

a、写操作命令字0CW1,用来设置或清除对中断源的屏蔽。

b、操作命令字0CW2,设置优先级是否进行循环、循环方式及中断结束方式。

C、操作命令字0CW3,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。

(3)、8259A查询字:

通过OCW3命令字的设置,可使CPU处于查询方式,随时查询8259A有否中断请求,有则转入相应的中断服务程序。

(三)、实验内容:

由于实验箱中已设计有一片8259A的中断控制芯片,工作于主片方式,8个中断请求输入端IR0-IR7

对应的中断型号为8-F。

8259A和8088系统总线相连,8259A上连有一系统地址线A0,故8259A有2个

端口地址,本系统中位20H,21H。

20H用来写ICW1,21H用来写ICW2、ICW3、ICW4,初始化命令字写好

后,再写操作命令字。

OCW2、OCW3用端口地址20H,OCW1用端口地址21H。

在实验中,会使用3号中断

源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A

发出中断请求信号。

如果中断源电平信号不符规定要求则自动转到7号中断,显示“Er”。

CPU相应中断

后,在中断服务中,对中断次数进行计数并显示,计满5次结束,显示器显示“8259GooD”。

 

二、实验过程记录:

1、先在MasmforWindows集成实验环境共享版中编写所需代码:

CODESSEGMENT

ASSUMECS:

CODES;定义代码段

INTPORT1EQU0020H;定义8259端口0地址

INTPORT2EQU0021H;定义8259端口1地址

INTQ3EQUINTREEUP3;定义中断地址

INTQ7EQUINTREEUP7;定义出错中断地址

CONTPORTEQU00DFH;定义8279命令数据口地址

DATAPORTEQU00DEH;定义8279数据口地址

ORG0B2E0H;定义代码起始段地址

START:

JMPTint1

DATA1DB50H,50H,79H,00H,00H,00H,00H,00H;置出错显示"ERR"显示代码表

DATA2DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;置"0-F"显示代码表

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATA3DB06H,40H,40H,40H,6FH,6DH,5BH,7FH;置8259-1显示代码

DATA4DB5EH,3FH,3FH,5CH,6FH,6DH,5BH,7FH;置8259good显示代码

Tint1:

CLD;关中断

MOVDI,0580H;清数据区0580-0587H

MOVCX,08H

XORAX,AX

REPSTOSW

LEASI,DATA3;显示8259-1

CALLLEDDISP

MOVAX,0H;调写中断向量子程序

MOVDS,AX;

CALLWRINTVER

MOVAL,13H;写ICW1,电平触发、单片,要ICW4

MOVDX,INTPORT1

OUTDX,AL

MOVAL,08H;写ICW2,中断号的高5位

MOVDX,INTPORT2

OUTDX,AL

MOVAL,09H;写ICW4,表示8088模式,缓冲方式,一般嵌套

OUTDX,AL

MOVAL,0F7H;允许8259IR3中断

OUTDX,AL

MOVBYTEPTRDS:

[0601H],01H;置中断次数初值

STI;开中断

WATING:

JMPWATING;等待中断

;写中断向量子程序

WRINTVER:

MOVAX,0000H

MOVES,AX;写3号中断中断向量

MOVDI,002CH

LEAAX,INTQ3

STOSW

MOVDI,003CH;写7号中断中断向量

LEAAX,INTQ7

STOSW

MOVAX,CS

STOSW

RET

;3号中断服务程序

INTREEUP3:

CLI;关中断

MOVAL,DS:

[0601H];取中断次数

CALLCONVERS;将中断次数转换为显示代码

MOVSI,0580H

CALLLEDDISPD;显示中断次数

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

ADDBYTEPTRDS:

[0601H],01H;中断次数加

CMPBYTEPTRDS:

[0601H],06H;判断次数满5次否?

JNAINTRE1;不满转移

LEASI,DATA4;满5次显示“8259good”

CALLLEDDISP

INTRE3:

JMPINTRE3

;转换子程序

CONVERS:

MOVBH,0H

ANDAL,0FH

MOVBL,AL

MOVAL,CS:

[BX+DATA2]

MOVBX,0580H

MOVDS:

[BX],AL

RET

INTRE1:

MOVAL,20H;不满5次,开中断返回

MOVDX,INTPORT1

OUTDX,AL

STI

IRET

;7号中断服务程序:

INTREEUP7:

CLI;关中断

LEASI,DATA1

CALLLEDDISP;显示ERR

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

IRET;中断返回

;显示子程序1

LEDDISP:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[0600H],00H

LED1:

CMPBYTEPTRDS:

[0600H],07H

JALED2

MOVBL,DS:

[0600H]

MOVBH,00H

MOVAL,CS:

[BX+SI]

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[0600H],01H

JNZLED1

LED2:

RET

;显示子程序2

LEDDISPD:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[0600H],00H

LEDD1:

CMPBYTEPTRDS:

[0600H],07H

JALEDD2

MOVBL,DS:

[0600H]

MOVBH,00H

MOVAL,DS:

[BX+SI]

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[0600H],01H

JNZLEDD1

LEDD2:

RET

CODESENDS

ENDSTART

2、把8259A的IR3插孔和SP插孔相连。

SP插孔初始电平为低电平。

3、然后用数据线连接PC和8086系统实验箱,并运行代码程序。

4、当实验箱系统显示器上显示“DVCC-86H”状态时,按任意键,系统显示命令符“—”。

按GO键,显示“1000XX”,输入F000:

B2E0,接着按EXEC键,在DVCC—8086JH上显示“8259—1”。

5、按AN键,每按2次产生一次中断,在显示器左边一位显示中断次数,满5次中断,显示器显示“8259GooD”。

实验操作成绩(百分制)__________实验指导教师签字:

__________

三、实验小结:

实验心得:

通过此次实验,我基本上掌握了中断控制器8259A与微机接口的原理和

方法,还熟悉了中断控制器8259A的应用编程方法,在编程的过程中,虽然我

还是有很多不足,有很多不理解的,但是在老师的耐心指导下,终于完成了实

验所需程序。

在此过程中,我也收获了信心和快乐。

 

实验报告成绩(百分制)__________实验指导教师签字:

__________

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

当前位置:首页 > 经管营销 > 经济市场

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

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