资源描述
武汉理工试验参考指导书微机原理及接口技术
《微机原理及接口技术B》实验指导书
※ 实验环境
实验设备——唐都TD-PITE 80X86 微机原理及接口技术微机实验平台。每套设备包括实验箱一台、配备安装有Wmd86联机操作软件的PC微机一台、连接线及电源线。
图1 实验平台连接示意图
图2 唐都TD-PITE实验箱 图3 唐都TD-PITE实验箱布局图
操作步骤:
1、打开电脑。
2、插好实验平台电源线。
3、通过串口连接线连接实验箱与微机。
4、打开Wmd86联机操作软件。
5、检查端口是否选择好。
6、进行实验接线。
7、录入汇编程序。
8、编译、链接、下载,观察结果。
图4 Wmd86联机操作软件
实验一 定时器的使用
1. 实验目的和意义
l 熟悉接口试验箱的使用环境。
l 体会接口电路通过外部总线与处理器连接原理。
l 掌握可编程芯片8253的编程方法。
2. 实验设备
PC 机一台,TD-PITE 实验装置一套。
3. 实验内容
1、编写程序,将 8254 的计数器 0 和计数器 1 都设为方式 3,用信号源 1MHz 作为 CLK0时钟,OUT0 为波形输出 1ms 方波,再通过 CLK1 输入,OUT1 输出 1s 方波。
2、编写程序,将 8254 的计数器 0 设为方式 3,计数值为十进制数 4,用单次脉冲 KK1+作为 CLK0 时钟,OUT0 连接 MIR7,每当 KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。改变计数值,验证 8254 的计数功能。
4. 背景知识
(1)8254的功能
Ø 8253具有三个独立的16位计数器(0#~2#通道);
Ø 每个通道有6种工作方式;
Ø 可以进行二进制或十进制计数,计数方式为减1计数。
()
(2)8254 的内部结构和外部引脚
8254内部结构 8254外部引脚
(3)8254 的工作方式
l 方式 0:计数到 0 结束输出正跃变信号方式。
l 方式 1:硬件可重触发单稳方式。
l 方式 2:频率发生器方式。
l 方式 3:方波发生器。
l 方式 4:软件触发选通方式。
l 方式 5:硬件触发选通方式。
(4)初始化编程的原则:先写入控制字、再设置计数初值。
方式命令的作用:对8253进行初始化,锁存当前计数值。
(5)设置计数初始值
Ø 是写全字节,还是只写低字节或高字节。
Ø 定时器初始值的确定:
计数初值n(时间常数)与定时时间t及输入时钟脉冲周期TCLK之间的关系是:
n = t / TCLK
计数初值n(时间常数)与输入脉冲频率fCLK及输出波形频率fOUT之间的关系是:
n = fOUT/ fCLK
(6)8254控制字
8254 的控制字有两个:一个用来设臵计数器的工作方式,称为方式控制字;另一个用来设臵读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。
(7)实验原理图
5. 实验步骤
,将 8254 的计数器 0 和计数器 1 都设臵为方式 3,用信号源 1MHz 作为 CLK0时钟,OUT0 为波形输出 1ms 方波,再通过 CLK1 输入,OUT1 输出 1s 方波。
(1)。
实验接线图
(2)根据实验内容,编写实验程序,经编译、链接无误后装入系统。
(3)单击按钮,运行实验程序,8254 的 OUT1 会输出 1s 的方波。
(4)用示波器观察波形的方法:单击虚拟仪器菜单中的 按钮或直接单击工具栏的按钮,在新弹出的示波器界面上单击按钮运行示波器,就可以观测出 OUT1 输出的波形。
实验程序清单()
A8254 EQU 0600H
B8254 EQU 0602H
C8254 EQU 0604H
CON8254 EQU 0606H
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
MOV DX, CON8254 ;8254
MOV AL, 76H ;计数器 1,方式 3
OUT DX, AL
MOV DX, B8254
MOV AL, 0E8H
OUT DX, AL
MOV AL, 03H
OUT DX, AL
AA1: JMP AA1
CODE ENDS
END START
2计数应用实验
编写程序,将 8254 的计数器 0 设臵为方式 3,计数值为十进制数 4,用单次脉冲 KK1+作为 CLK0 时钟,OUT0 连接 MIR7,每当 KK1+按动 5 次后产生中断请求,在屏幕上显示字符‚M‛。
实验步骤:
(1)。
实验接线图
(2)编写实验程序,经编译、链接无误后装入系统。
(3)运行程序,按动 KK1+产生单次脉冲,观察实验现象。
(4)改变计数值,验证 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
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
实验二 并行接口Intel8255A的方式0应用
1. 实验目的和意义
l 学习并掌握 8255 的工作方式及其应用。
l 掌握 8255 典型应用电路的接法。
l 掌握程序固化及脱机运行程序的方法。
2. 实验设备
PC 机一台,TD-PITE 实验装置一套。
3. 实验内容
1. 基本输入输出实验。编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。
2. 流水灯显示实验。编写程序,使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
4. 背景知识
(1)8255的功能
l 有三个输入输出端口:端口A,端口B,端口C
l 每个端口可编程设定为输入端口或输出端口,并可设定为不同的工作方式。
l 端口C可作为一个独立的端口使用,但常常是配合A口和B口工作,为这两个端口的输入输出操作提供联络信号。
(2)8255内部结构及外部引脚
8255内部结构 8255外部引脚
(3)8255A有3种工作方式:方式0,方式l和方式2。
l 方式0 无条件传送(外设始终做好了准备)
l 方式1 应答发式传送(查询、中断)
l 方式2 双向应答发式传送(查询、中断)
(4)8255 工作方式控制字和 C 口按位置位/。
8255控制字
(5)实验原理图
图 实验原理图
5. 实验步骤
1. 基本输入输出实验
本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。用一组开关信号接入端口 A,端口 B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来
实现输入输出功能。具体实验步骤如下述:
(1)实验接线图如图所示,。
图 实验接线图
(2)编写实验程序,经编译、连接无误后装入系统。
(3)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。
(4)点击‚调试‛下拉菜单中的‚固化程序‛项,将程序固化到系统存储器中。
(5)将短路跳线 JDBG 的短路块短接到 RUN 端,然后按复位按键,观察程序是否正常
运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。
(6)实验完毕后,请将短路跳线 JDBG 的短路块短接到 DBG 端。
实验程序清单()
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 正相反,由右向左,每次仅点亮一个灯,循环显示。实验步骤如下所述:
(1)按图连接实验线路图。
图 实验线路图
(2)编写实验程序,经编译、链接无误后装入系统。
(3)运行程序,观察 LED 灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
(5)固化程序并脱机运行。
实验程序清单()
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, 0646H
MOV AL, 80H
OUT DX, AL
MOV BX, 8001H
AA1: MOV DX, 0640H
MOV AL, BH
OUT DX, AL
ROR BH, 1
MOV DX, 0642H
MOV AL, BL
OUT DX, AL
ROL BL, 1
CALL DELAY
CALL DELAY
JMP AA1
DELAY: PUSH CX
MOV CX, 0F000H
AA2: PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START
实验三 A/D及D/A转换器应用
1. 实验目的和意义
l 替换理解模/数、数模信号转换的基本原理。
l 掌握模/数转换芯片 ADC0809 的使用方法。
l 掌握 DAC0832 的使用方法。
2. 实验设备
PC 机一台,TD-PITE 实验装置一套。
3. 实验内容
1. 数/模转换。要求产生方波,并用示波器观察电压波形。
2. 模/数转换。将 ADC 单元中提供的 0V~5V 信号源作为 ADC0809 的模拟输入量,进行 A/D 转换,转换结果通过变量进行显示。
4. 背景知识
(1) D/A 转换器
D/A 转换器是一种将数字量转换成模拟量的器件,其特点是:接收、保持和转换的数字信息,不存在随温度、时间漂移的问题,其电路抗干扰性较好。大多数的 D/A 转换器接口设计主要围绕 D/A 集成芯片的使用及配臵响应的外围电路。DAC0832 是 8 位芯片。
DAC0832引脚图
DAC实验单元电路图
(2) A/D 转换器
ADC0809 包括一个 8 位的逐次逼近型的 ADC 部分,并提供一个 8 通道的模拟多路开关和联合寻址逻辑。用它可直接输入 8 个单端的模拟信号,分时进行 A/D 转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。
ADC0809引脚图 ADC实验单元电路图
5. 实验步骤
1. 数/模转换。要求产生方波,并用示波器观察电压波形。
(1) 实验接线图如图所示,按图连接实验线路图。
图 实验接线图
(2) 编写实验程序,经编译、链接无误后装入系统。
(3) 单击按钮,运行实验程序,用示波器测量 DA 的输出,观察实验现象。
(4) 用示波器观察波形的方法:单击虚拟仪器菜单中的按钮或直接单击工具栏的按钮,在新弹出的示波器界面上单击按钮运行示波器,观测实验波形。
(5) 自行编写实验程序,产生三角波形,使用示波器观察输出,验证程序功能。
产生方波程序如下():
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX, 00H ; 产生方波
MOV DX, 600H
AA1: MOV AL, 00H
OUT DX, AL
CALL DELAY
MOV AL, 7FH
OUT DX, AL
CALL DELAY
JMP AA1
DELAY: PUSH CX
MOV CX,0FF00H
AA2: PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START
2. 模/数转换。将 ADC 单元中提供的 0V~5V 信号源作为 ADC0809 的模拟输入量,进行 A/D 转换,转换结果通过变量进行显示。
(1) 按图连接实验线路。
图 实验连线图
(2) 编写实验程序,经编译、链接无误后装入系统。
(3) 将变量 VALUE 添加到变量监视窗口中。
(4) 在 JMP START 语句行设臵断点,使用万用表测量 ADJ 端的电压值,计算对应的采样值,然后运行程序。
(5) 程序运行到断点处停止运行, 查看变量窗口中 VALUE 的值,与计算的理论值进行比较,看是否一致(可能稍有误差,相差不大)。
(6) 调节电位器,改变输入电压,比较 VALUE 与计算值,反复验证程序功能。
实验程序清单()
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
PUBLIC VALUE ;设臵全局变量以便变量监视
DATA SEGMENT
VALUE DB ? ;AD 转换结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
MOV DX, 640H ;启动 AD 采样
OUT DX, AL
CALL DALLY
IN AL, DX ;读 AD 采样结果
MOV VALUE, AL ;将结果送变量
JMP START ;在此处设臵断点, 观察变量窗口中的 VALUE 值
DALLY: PUSH CX ;延时程序
PUSH AX
MOV CX, 100H
A5: MOV AX, 0800H
A6: DEC AX
JNZ A6
LOOP A5
POP AX
POP CX
RET
CODE ENDS
END START
实验四 串行接口应用
1. 实验目的和意义
l 掌握 8251 的工作方式及应用。
l 了解有关串口通讯的知识
2. 实验设备
PC 机一台,TD-PITE 实验装置一套。
3. 实验内容
1. 自收自发实验,将 3000H 起始的 10 个单元中的初始数据发送到串口,然后自接收并保存到 4000H 起始的内存单元中。
4. 背景知识
8251 是可编程的串行通信接口,可以管理信号变化范围很大的串行数据通信。
(1)8251 的内部结构及外部引脚
8251内部结构图 8251引脚图
(2)8251 的编程
l 方式控制字用来指定通信方式及其方式下的数据格式。
l 命令控制字用于指定 8251 进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。
l CPU 通过状态字来了解 8251 当前的工作状态,以决定下一步的操作。
8251 的初始化和操作流程和8251 实验单元电路图如下所示。
8251初始化和操作流程图
5. 实验步骤
通过自收自发实验,可以验证硬件及软件设计,常用于自测试。具体实验步骤如下:
(1)参考实验接线图如图所示,按图连接实验线路。
(2)编写实验程序,编译、链接无误后装入系统。
(3)使用 E 命令更改 4000H 起始的 10 个单元中的数据。
(4)运行实验程序,待程序运行停止。
(5)查看 3000H 起始的 10 个单元中的数据,与初始化的数据进行比较,验证程序功能。
实验参考例程()
M8251_DATA EQU 0600H ;端口定义
M8251_CON EQU 0602H
M8254_2 EQU 06C4H
M8254_CON EQU 06C6H
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX, 0000H
MOV DS, AX
;初始化 8254,得到收发时钟
MOV AL, 0B6H
MOV DX, M8254_CON
OUT DX, AL
MOV AL, 0CH
MOV DX, M8254_2
OUT DX, AL
MOV AL, 00H
OUT DX, AL
;复位 8251
CALL INIT
CALL DALLY
;8251 方式字
MOV AL,7EH
MOV DX, M8251_CON
OUT DX, AL
CALL DALLY
;8251 控制字
MOV AL, 34H
OUT DX, AL
CALL DALLY
MOV DI, 3000H
MOV SI, 4000H
MOV CX, 000AH
A1: MOV AL, [SI]
PUSH AX
MOV AL, 37H
MOV DX, M8251_CON
OUT DX, AL
POP AX
MOV DX, M8251_DATA
OUT DX, AL ;发送数据
MOV DX, M8251_CON
A2: IN AL, DX ;判断发送缓冲是否为空
AND AL, 01H
JZ A2
CALL DALLY
A3: IN AL, DX ;判断是否接收到数据
AND AL, 02H
JZ A3
MOV DX, M8251_DATA
IN AL, DX ;读取接收到的数据
MOV [DI], AL
INC DI
INC SI
LOOP A1
MOV AX,4C00H
INT 21H ;程序终止
INIT: MOV AL, 00H ;复位 8251 子程序
MOV DX, M8251_CON
OUT DX, AL
CALL DALLY
OUT DX, AL
CALL DALLY
OUT DX, AL
CALL DALLY
MOV AL, 40H
OUT DX, AL
RET
DALLY: PUSH CX
MOV CX,3000H
A5: PUSH AX
POP AX
LOOP A5
POP CX
RET
CODE ENDS
END START
展开阅读全文