内容发布更新时间 : 2024/11/20 14:35:19星期一 下面是文章的全部内容请认真阅读。
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
;8254
MOV DX, CON8254
MOV AL, 10H ;计数器0,方式0 OUT DX, AL MOV DX, A8254 MOV AL, 04H OUT DX, AL STI
AA1: JMP AA1 IRQ7: MOV DX, A8254
MOV AL, 04H OUT DX, AL MOV AX, 014DH INT 10H ;显示字符M MOV AX, 0120H INT 10H MOV AL, 20H
OUT 20H, AL ;中断结束命令 IRET
CODE ENDS
END START
2. 定时应用实验
编写程序,将8254 的计数器0 设置为方式3,用信号源1MHz 作为CLK0时钟,OUT0 为波形输出1ms 方波。 实验程序清单
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
START: MOV DX, CON8254 ;8254
MOV AL, 36H ;计数器0,方式3 OUT DX, AL MOV DX, A8254 MOV AL, 0E8H OUT DX, AL MOV AL, 03H OUT DX, AL
AA1: JMP AA1 CODE ENDS
END START
实验步骤:
(1)接线图如图2-5-3所示;
(2)根据实验内容,编写实验程序,经编译、链接无误后装入系统; (3)运行实验程序,用示波器测试OUT0 输出,验证程序功能。
图2-5-3 8254定时应用实验接线图
2.6 8255 并行接口实验
2.6.1 实验目的
1. 学习并掌握8255 的工作方式及其应用; 2. 掌握8255 典型应用电路的接法。
2.6.2 实验设备
PC机一台,TD-PITE 实验装置一套。
2.6.3 实验内容
1. 基本输入输出实验。编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。
2. 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循
环显示。
2.6.4 实验原理
并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255 的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。
图2-6-1 8255内部结构及外部引脚图
图2-6-2 8255控制字格式
2.6.5 实验步骤
1. 基本输入输出实验
本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。具体实验步骤如下述:
(1)实验接线图如图2-6-3所示,按图连接实验线路图;
(2)编写实验程序,经编译、连接无误后装入系统;
(3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。
图2-6-3 8255基本输入输出实验接线图
实验程序清单
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, 0646H
MOV AL, 90H OUT DX, AL
AA1: MOV DX, 0640H
IN AL, DX CALL DELAY MOV DX, 0642H OUT DX, AL JMP AA1
DELAY: PUSH CX
MOV CX, 0F00H
AA2: PUSH AX
POP AX LOOP AA2 POP CX RET
CODE ENDS
END START
2. 流水灯显示实验
使8255的A口和B口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。实验接线图如图2-6-5所示。实验步骤如下所述:
(1)按图2-6-5连接实验线路图;
(2)编写实验程序,经编译、链接无误后装入系统; (3)运行程序,观察LED 灯的显示,验证程序功能;