微机原理实验指导书09测控(7)

2019-03-16 13:00

实验程序清单(INT1.ASM) 单系次SSTACK SEGMENT STACK 统脉MIR7KK1+冲总 DW 32 DUP(?)

单线主8259SSTACK ENDS 元CODE SEGMENT

ASSUME CS:CODE 图7.2 8259单中断实验接线图 START: PUSH DS

MOV AX, 0000H MOV DS, AX

MOV AX, OFFSET MIR7 MOV SI, 003CH MOV [SI], AX MOV AX, CS MOV SI, 003EH

MOV [SI], AX CLI POP DS

;初始化主片8259 MOV AL, 11H

OUT 20H, AL MOV AL, 08H

OUT 21H, AL MOV AL, 04H

OUT 21H, AL MOV AL, 01H

OUT 21H, AL MOV AL, 6FH OUT 21H, AL STI AA1: NOP

JMP AA1 MIR7: STI

CALL DELAY MOV AX, 0137H

INT 10H MOV AX, 0120H INT 10H MOV AL, 20H

OUT 20H, AL IRET DELAY: PUSH CX

MOV CX, 0F00H AA0: PUSH AX POP AX

取中断入口地址 ;中断矢量地址

;填IRQ7的偏移矢量 段地址 填IRQ7的段地址矢量 显示字符7 中断结束命令 31

; ; ; ;ICW1 ;ICW2 ;ICW3 ;ICW4 ;OCW1 ; ; LOOP AA0 POP CX RET CODE ENDS END START

实验步骤

(1)按图7.2连接实验线路。

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

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

3. 8259级联实验

单实验接线图如图7.3所示,KK1+连接到主片8259MIR7KK1+系次的IR7上,KK2+连接到从片8259的IR1上,当按一次统主8259脉冲总KK1+时,显示屏上显示字符“M7”,按一次KK2+时,显单线SIR1KK2+元从8259示字符“S1”。编写程序。

图7.3 8259级联实验 实验程序清单(INTCAS1.ASM) 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的段地址矢量 MOV AX, OFFSET SIR1 MOV SI, 00C4H MOV [SI], AX MOV AX, CS MOV SI, 00C6H MOV [SI], AX CLI POP DS

;初始化主片8259 MOV AL, 11H

OUT 20H, AL ;ICW1

32

MOV AL, 08H

OUT 21H, AL MOV AL, 04H

OUT 21H, AL MOV AL, 01H

OUT 21H, AL

;初始化从片8259 MOV AL, 11H

OUT 0A0H, AL MOV AL, 30H

OUT 0A1H, AL MOV AL, 02H OUT 0A1H, AL MOV AL, 01H

OUT 0A1H, AL MOV AL, 0FDH OUT 0A1H,AL MOV AL, 6BH

OUT 21H, AL

STI AA1: NOP JMP AA1 MIR7: CALL DELAY MOV AX, 014DH INT 10H MOV AX, 0137H INT 10H

MOV AX, 0120H INT 10H MOV AL, 20H

OUT 20H, AL IRET

SIR1: CALL DELAY MOV AX, 0153H INT 10H MOV AX, 0131H INT 10H

MOV AX, 0120H INT 10H MOV AL, 20H OUT 0A0H, AL OUT 20H, AL IRET DELAY: PUSH CX

;ICW2 ;ICW3 ;ICW4

;ICW1 ;ICW2 ;ICW3 ;ICW4

;OCW1 = 1111 1101 ;主8259 OCW1

;M

;显示字符7

;中断结束命令

;S

;显示字符1

33

MOV CX, 0F00H AA0: PUSH AX POP AX LOOP AA0 POP CX RET

CODE ENDS END START

实验步骤

(1)按图7.3连接实验线路。

(2)输入程序,编译、链接无误后装入系统。

(3)运行程序,按动KK1+或KK2+,观察实验结果,验证实验程序的正确性。 (4)若同时按下KK1+和KK2+,观察实验结果,解释实验现象。

实验八 8254(8253)定时/计数器应用实验

8.1 实验目的

1. 掌握8254的工作方式及应用编程。 2. 掌握8254典型应用电路的接法。 8.2 实验设备

PC机一台,TD-PITE实验装置或TD-PITC实验装置一套,示波器一台。 8.3 实验内容

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

2. 定时应用实验。编写程序,应用8254的定时功能,产生一个1ms的方波。 8.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是输出波形的频率。

8254实验单元电路图如图8.1所示:

34

D0D1D2D3D4D5D6D7CSRDWRA0A1876543212122231920D0D1D2D3D4D5D6D7CSRDWRA0A1OUT0GATE0CLK010119OUT0GATE0CLK04.7kVCCOUT1GATE1CLK1131415OUT1GATE1CLK18254OUT2GATE2CLK2171618OUT2GATE2CLK28251-TRCLKVCCCLK1.8432MHz 图8.1 8254实验电路原理图

8.5 实验步骤

1. 计数应用实验

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

(1)实验接线如图8.2所示。由于8254的A0、A1分别接系统总线的XA1、XA2,CS接IOY3,I/O空间译码器对地址信号A10~A6进行了译码,A5~A0未参加译码。因此,8254的4个I/O地址分别为:06C0H、06C2H、06C4H和06C6H。 (2)编写实验程序,经编译、链接无误后装入系统。

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

XD0D04.7KVCCGATE0...XD7...D7系统总线CLK0XA1XA2A0A1OUT0IOW#IOR#IOY3WRRDCSKK1+单次脉冲单元8254单元MIR7 图8.2 8254计数应用实验接线图

实验程序清单(A82541.ASM) A8254 EQU 06C0H B8254 EQU 06C2H C8254 EQU 06C4H CON8254 EQU 06C6H

SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS

35


微机原理实验指导书09测控(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:怎么才能终身学习?像孩子一样就行

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

马上注册会员

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