微机原理实验报告(6)

2019-05-24 15:58

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,BUFFER MOV BL,[SI] MOV BH,[SI] MOV CX,8 LOOP1: MOV AL,[SI] CMP BL,AL JB NEXT1 MOV BL,AL NEXT1: CMP JA MOV NEXT2: INC LOOP MOV LOOP2: MOV ROL MOV AND ADD CMP JLE ADD PRINT: MOV MOV INT CMP JNZ MOV INT MOV INT LOOP3: DEC JNZ MOV INT CODE ENDS

END 程序结果:5

BH,AL NEXT2 BH,AL SI

LOOP1 CH,4 CL,4 BX,CL AL,BL AL,0FH AL,'0' AL,'9' PRINT

AL,'A'-('9'+1) DL,AL AH,02H 21H CH,3 LOOP3 DL,0DH 21H

DL,0AH 21H CH LOOP2

AX,4C00H 21H START

第 26 页

实验七 8259中断控制器应用实验

一、实验目的

1. 学习可编程中断控制器8259的工作原理。 2. 掌握可编程中断控制器8259的应用编程方法。

二、实验内容

1.单中断实验。利用系统总线上中断请求信号INTR,设计一个单中断应用。

使用单次脉冲模拟中断产生。编写中断处理程序,在显示器屏幕上显示一个字符。 2.扩展中断源查询方式应用实验。利用实验平台上8259控制器对系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IRI中断请求进行处理。

三、实验所用仪表及设备

1. PC机一台。

2. TD-PIT++实验系统一套。

四、实验原理与步骤

1. 实验原理

(1)PC微机系统中的8259介绍

中断控制器8259 是Intel 公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。

8259A的命令字共有7个,可分为两类。一类是初始化命令字,另一类是操作命令字。8259 的编程就是根据应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如表2-1所示,OCW1-OCW3各命令字格式如表2-2所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和结束方式的操作命令字,OCW3用于设置和撤消特殊屏蔽方式,设置中断查询方式以及设置对8259A内部寄存器的读出命令。

第 27 页

表2-1初始化命令字

ICW1 D1 D0 1:单片 1:需要8259 ICW4 X X X 1 X 0:多片 0:不需要 8259 ICW4 ICW2 X X X 中断向量的高5位 ICW3(主) 分别对应8个IRQ,Di=1,IRQi上有级连芯片,=0,无级连芯片 ICW3(从) 指明从片连接在主片的哪0 0 0 0 0 个IRQ上 ICW4 1:特殊1:主1:自动1:8086全嵌套 1:缓冲 EOI 片 系统 0 0 0 0:非特 0:非缓非自 0:80800:从 0:殊全嵌 冲 动EOI 片 系统 套 D7 D6 D5 D4 D3 1:电平触发 0:边沿 触发 D2 表2-2操作命令字

D5 D4 D3 D2 D1 D0 Di=0:开放IRi中断请求 OCW1 Di=1:禁止IRi中断请求 优先级 L2~L0 中断结 OCW2 循环控 有效控 束命令 0 0 中断级编码 制位 制位 位 0X:无意义 0X:无意义 中断查 10:读IRR寄OCW3 X 1 询控制 10:撤销特殊屏蔽 0 存器 11:设置特殊屏蔽 位 11:读ISR寄存器 D7 D6 (2)PC微机系统中的8259A

在80x86系列PC微机系统中,系统中包含了两片8259中断控制器,通过级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表2-3所示。两片8259的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0AlH两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为:0级最高,依次为1级、8级~15级,然后是3级~7级。

在实验平台上系统总线单元的INTR信号对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。

表2-3 PC微机系统中的硬件中断

中断号 功能 第 28 页

中断向量号 中断向量地址

主8259 IRQ0 主8259 IRQ1 主8259 IRQ2 主8259 IRQ3 主8259 IRQ4 主8259 IRQ5 主8259 IRQ6 主8259 IRQ7 从8259 IRQ8 从8259 IRQ9 从8259 IRQ10 从8259 IRQ11 从8259 IRQ12 从8259 IRQ13 从8259 IRQ14 从8259 IRQ15 时钟/计数器0 键盘 接从片8259 串行口2 串行口1 并行口2 软盘 并行口1 实时钟 保留 保留 保留 保留 协处理器中断 硬盘控制器 保留 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 70H 71H 72H 73H 74H 75H 76H 77H 0020H~0023H 0024H~0027H 0028H~002BH 002CH~002FH 0030H~0033H 0034H~0037H 0038H~003BH 003CH~003FH 01C0H~01C3H 01C4H~01C7H 01C8H~01CBH 01CCH~01CFH 01D0H~01D3H 01D4H~01D7H 01D8H~01DBH 01DCH~01DFH

2. 实验步骤

(1)单中断应用实验 实验说明:

实验平台上系统总线单元的INTR中断请求信号已经是对应到PC机内部的某一级中断。 INTR产生一个上升沿的中断请求, PC机内部相应的那级中断就会得到响应。所以,使用INTR中断请求信号,就相当在使用PC机内部相应的那一级中断。

本实验要求使用总线上INTR中断请求线完成一次单中断应用实验。用单次脉冲上升沿模拟中断源,中断处理程序完成在屏幕上的显示字符“9” 。

图2-1 8259单中断实验参考接线图 实验步骤如下:

①实验接线图如图2-1所示,按图接线。

②运行Tdpit集成操作软件,调用程序代码(T8259-1.ASM),填写程序代码中的空缺处,编译、链接。

③使用运行命令运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“9”,说明响应了中断。 实验代码如下:

第 29 页

INTR_IVADD EQU 01C8H ;INTR对应的中断矢量地址 INTR_OCW1 EQU 0A1H ;INTR对应PC机内部8259的OCW1地址 INTR_OCW2 EQU 0A0H ;INTR对应PC机内部8259的OCW2地址 INTR_IM EQU 0FBH ;INTR对应的中断屏蔽字 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DATA SEGMENT

MES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$'

CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量 IP_BAK DW ? ;保存INTR原中断处理程序入口偏移地址的变量 IM_BAK DB ? ;保存INTR原中断屏蔽字的变量 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA MOV DS,AX

MOV DX,OFFSET MES ;显示退出提示 MOV AH,09H INT 21H CLI

MOV AX,0000H ;替换INTR的中断矢量 MOV ES,AX

MOV DI,INTR_IVADD MOV AX,ES:[DI]

MOV IP_BAK,AX ;保存INTR原中断处理程序入口偏移地址 MOV AX,OFFSET MYISR

MOV ES:[DI],AX ;设置当前中断处理程序入口偏移地址

ADD DI,2

MOV AX,ES:[DI]

MOV CS_BAK,AX ;保存INTR原中断处理程序入口段地址 MOV AX,SEG MYISR

MOV ES:[DI],AX ;设置当前中断处理程序入口段地址

MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR屏蔽位 IN AL,DX

MOV IM_BAK,AL ;保存INTR原中断屏蔽字 AND AL,INTR_IM OUT DX,AL

STI

WAIT1: MOV AH,1 ;判断是否有按键按下 INT 16H

JZ WAIT1 ;无按键则跳回继续等待,有则退出

QUIT: CLI

MOV AX,0000H ;恢复INTR原中断矢量 MOV ES,AX

第 30 页


微机原理实验报告(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:容规〉解析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: