微机原理实验说明书

2020-04-14 01:53

微机原理及接口技术

实验指导书

姚宣霞 田军峰 编

微机原理及接口技术实验指导书

目录

一 8259中断控制器应用实验 1 二 8254定时/计数器应用实验 10

三 8255并口控制器应用实验 18

四 16550串口控制器应用实验 20 五 A/D转换实验 26 六 键盘扫描及显示设计实验

2

29 微机原理及接口技术实验指导书

一 8259中断控制器应用实验

1 实验目的

(1)学习中断控制器8259的工作原理。

(2)掌握可编程控制器8259的应用编程方法。 2实验设备

PC微机一台、TD-PIT实验系统一套。 3 实验内容

(1)利用系统总线上中断请求信号INTR,设计一个单中断应用。使用单次脉冲模拟中断产生。编写中断处理程序,在显示器屏幕上显示一个字符。

(3)利用实验平台上8259控制器对系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IRI中断请求进行处理。 4实验原理

(1) PC微机系统中的8289

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

0级最高,依次为1级、8级一15级,然后是3级一7级。

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

表1-1 PC微机系统中的硬件中断 中断号 主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

1

功能 日时钟/计数器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 微机原理及接口技术实验指导书

5实验说明及步骤

(1) INTR单中断应用实验

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

INTR中断请求之所以能有效,是通过PCI卡上INTCSR寄存器的相应设置实现的。所以,在程序设计时需要对该寄存器进行一些操作。在此处主要是学习8259中断原理,以及微机中断的编程应用方法。关于INTCSR寄存器设置属于PCI接口技术范畴。编程时直接加入相关语句即可。有关INTCSR寄存器在后面PCI接口技术中断处理实验中会做详细讲述。

还需要注意的是,使用INTR中断的程序必须在纯DOS环境下运行。因为在Windows下,INTR中断产生后会被Windows底层的实验系统驱动程序捕获,实验程序中的中断处理程序无法得到响应。在纯DOS下运行提供的CHECK程序,可以查看PC分配给实验系统的中断号及其它一些中断编程需要的信息,通过这些信息编写中断应用程序。

本实验要求使用总线上INTR中断请求线完成一次单中断应用实验。用单次脉冲上升沿模拟中断源,中断处理程序完成在屏幕上的显示字符“9”。实验前先运行CHECK程序,得到INTR所对应的中断号、相应的初始化命令字寄存器ICW及操作命令字寄存器OCW的地址、打开屏蔽的命令宇、中断矢量地址和PCI卡中断控制寄存器INTCSR的地址。得到这些信息后就可以开始设计实验了。

参考程序流程如图1-1所示。

;T8259-1.asm

;单一中断应用实验

;***************根据CHECK配置信息修改下列符号值******************* INTR_IVADD EQU 034H ;INTR对应的中断矢量地址

INTR_OCW1 EQU 021H ;INTR对应PC机内部8259的OCW1地址 INTR_OCW2 EQU 020H ;INTR对应PC机内部8259的OCW2地址 INTR_IM EQU 0DFH ;INTR对应的中断屏蔽字 PCI_INTCSR EQU 0CC38H ;PCI卡中断控制寄存器地址 ;***************************************************************** STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DATA SEGMENT

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

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

2

微机原理及接口技术实验指导书

START: MOV AX,DATA MOV DS,AX CLI

MOV DX,PCI_INTCSR SUB DX,19H

IN AL,DX

MOV DX,PCI_INTCSR ;初始化PCI卡中断控制寄存器 MOV AX,1F00H OUT DX,AX ADD DX,2 MOV AX,003FH OUT DX,AX

MOV AX,0000H MOV ES,AX

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

MOV IP_BAK,AX MOV AX,OFFSET MYISR

MOV ES:[DI],AX

ADD DI,2

MOV AX,ES:[DI]

MOV CS_BAK,AX MOV AX,SEG MYISR

MOV ES:[DI],AX

MOV DX,INTR_OCW1 IN AL,DX

MOV IM_BAK,AL AND AL,INTR_IM OUT DX,AL

STI

WAIT1: MOV AH,1 INT 16H

JZ WAIT1

QUIT: CLI

MOV DX,PCI_INTCSR MOV AX,0000H OUT DX,AX

;向PCI_INTCSR中写入003F1F00H ;替换INTR的中断矢量 ;保存INTR原中断处理程序入口偏移地址 ;设置当前中断处理程序入口偏移地址 ;保存INTR原中断处理程序入口段地址 ;设置当前中断处理程序入口段地址

;设置中断屏蔽寄存器,打开INTR的屏蔽位 ;保存INTR原中断屏蔽字 ;判断是否有按键按下

;无按键则跳回继续等待,有则退出 ;恢复PCI卡中断控制寄存器 3


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

下一篇:实验四 单相交直交变频电路的性能研究 - 图文

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

马上注册会员

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