80x86微机原理与接口技术实验指导书 下载本文

内容发布更新时间 : 2024/11/17 15:28:12星期一 下面是文章的全部内容请认真阅读。

顺序会造成异常初始化。在初始化主片8259 时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259 的顺序与初始化主片8259 的顺序是相同的。

系统启动时,主片8259 已被初始化,且4 号中断源(IR4)提供给与PC 联机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示: 2. 8259 单中断实验

实验接线图如图2-3-11所示,单次脉冲输出与主片8259 的IR7 相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。

图2-3-11 8259单中断实验接线图

实验程序清单

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE

START: PUSH DS

MOV AX, 0000H MOV DS, AX

MOV AX, OFFSET MIR7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址 MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH

MOV [SI], AX ;填IRQ7的段地址矢量 CLI POP DS

;初始化主片8259

MOV AL, 11H OUT 20H, AL ;ICW1 MOV AL, 08H OUT 21H, AL ;ICW2 MOV AL, 04H OUT 21H, AL ;ICW3 MOV AL, 01H OUT 21H, AL ;ICW4 MOV AL, 6FH ;OCW1 OUT 21H, AL STI

AA1: NOP

JMP AA1

MIR7: STI

CALL DELAY MOV AX, 0137H INT 10H ;显示字符7 MOV AX, 0120H INT 10H MOV AL, 20H

OUT 20H, AL ;中断结束命令 IRET

DELAY: PUSH CX

MOV CX, 0F00H

AA0: PUSH AX

POP AX LOOP AA0 POP CX RET

CODE ENDS

END START

实验步骤

(1)按图2-3-11 连接实验线路;

(2)编写实验程序,经编译、链接无误后装入系统;

(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”以说明响应了中断。

2.5 8254 定时/计数器应用实验

2.5.1 实验目的

1. 掌握8254 的工作方式及应用编程; 2. 掌握8254 典型应用电路的接法。

2.5.2 实验设备

PC机一台,TD-PITE 实验装置一套,示波器一台。

2.5.3 实验内容

1. 计数应用实验。编写程序,应用8254 的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’5 次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。

2. 定时应用实验。编写程序,应用8254 的定时功能,产生一个1ms 的方波。

2.5.4 实验原理

8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能:

(1)有3 个独立的16 位计数器;

(2)每个计数器可按二进制或十进制(BCD)计数; (3)每个计数器可编程工作于6 种不同工作方式;

(4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz);

(5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以

读出状态寄存器的内容;

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为:

n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。

图2-5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:

(1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。

(5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图2-5-1 8254的内部接口和引脚

8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表2-5-1所示。

表2-5-1 8254的方式控制字格式

表2-5-2 8254读出控制字格式

表2-5-3 8254状态字格式

2.5.5 实验步骤

1. 计数应用实验

编写程序,将8254 的计数器0 设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动5 次后产生中断请求,在屏幕上显示字符“M”。

实验步骤:

(1)实验接线如图2-5-2所示;

(2)编写实验程序,经编译、链接无误后装入系统;

(3)运行程序,按动KK1+产生单次脉冲,观察实验现象; (4)改变计数值,验证8254 的计数功能。

图2-5-2 8254计数应用实验接线图

实验程序清单

A8254 EQU 06C0H B8254 EQU 06C2H C8254 EQU 06C4H CON8254 EQU 06C6H SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE, SS:SSTACK

START: PUSH DS

MOV AX, 0000H MOV DS, AX

MOV AX, OFFSET IRQ7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址 MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址 MOV SI, 003EH