
2022年武汉理工实验指导书-微机原理及接口技术.pdf
19页1 《微机原理及接口技术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 页,共 19 页2 实验一定时器的使用1.实验目的和意义熟悉接口试验箱的使用环境体会接口电路通过外部总线与处理器连接原理掌握可编程芯片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.6MHZ 〕〔2〕8254 的内部结构和外部引脚图 1.1 8254 内部结构图 1.2 8254 外部引脚〔3〕8254 的工作方式方式0:计数到0 结束输出正跃变信号方式方式1:硬件可重触发单稳方式方式2:频率发生器方式方式3:方波发生器方式4:软件触发选通方式方式5:硬件触发选通方式精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 19 页3 〔4〕初始化编程的原则:先写入控制字、再设置计数初值方式命令的作用:对8253 进行初始化,锁存当前计数值〔5〕设置计数初始值? 是写全字节,还是只写低字节或高字节。
定时器初始值确实定:计数初值n〔时间常数〕与定时时间t 及输入时钟脉冲周期TCLK之间的关系是:n = t / TCLK 计数初值n〔时间常数〕与输入脉冲频率fCLK及输出波形频率fOUT之间的关系是:n = fOUT/ fCLK 〔6〕8254 控制字8254 的控制字有两个:一个用来设臵计数器的工作方式,称为方式控制字;另一个用来设臵读回命令,称为读回控制字这两个控制字共用一个地址,由标识位来区分〔7〕实验原理图表 1.2 表 1.3 图 1.3 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 19 页4 5.实验步骤1. 编写程序, 将 8254 的计数器 0 和计数器 1 都设臵为方式 3 , 用信号源 1MHz 作为 CLK0时钟, OUT0 为波形输出 1ms 方波,再通过 CLK1 输入, OUT1 输出 1s 方波〔1〕按下列图接线图 1.4 实验接线图〔2〕根据实验内容,编写实验程序,经编译、链接无误后装入系统〔3〕单击按钮,运行实验程序,8254 的 OUT1 会输出 1s 的方波。
〔4〕用示波器观察波形的方法:单击虚拟仪器菜单中的按钮或直接单击工具栏的按钮, 在新弹出的示波器界面上单击按钮运行示波器,就可以观测出 OUT1 输出的波形实验程序清单〔A82542.ASM 〕A8254 EQU 0600H B8254 EQU 0602H C8254 EQU 0604H CON8254 EQU 0606H SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 19 页5 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〕按下列图实验接线精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 19 页6 图 1.5 实验接线图〔2〕编写实验程序,经编译、链接无误后装入系统〔3〕运行程序,按动 KK1+产生单次脉冲,观察实验现象〔4〕改变计数值,验证 8254 的计数功能实验程序清单〔A82541.ASM 〕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 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 19 页7 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 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 19 页8 实验二并行接口 Intel8255A 的方式 0 应用1.实验目的和意义学习并掌握8255 的工作方式及其应用。
掌握8255 典型应用电路的接法掌握程序固化及脱机运行程序的方法2.实验设备PC 机一台, TD-PITE 实验装置一套3.实验内容1. 基本输入输出实验编写程序,使8255 的 A 口为输入, B 口为输出,完成拨动开关到数据灯的数据传输要求只要开关拨动,数据灯的显示就发生相应改变2. 流水灯显示实验编写程序, 使 8255 的 A 口和B 口均为输出, 数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示4.背景知识〔1〕8255 的功能有三个输入输出端口:端口A,端口 B,端口 C 每个端口可编程设定为输入端口或输出端口,并可设定为不同的工作方式端口 C 可作为一个独立的端口使用,但常常是配合A 口和 B 口工作,为这两个端口的输入输出操作提供联络信号〔2〕8255 内部结构及外部引脚图 2.1 8255 内部结构图 2.2 8255 外部引脚〔3〕8255A 有 3 种工作方式:方式0,方式 l 和方式 2方式 0 无条件传送〔外设始终做好了准备〕方式 1 应答发式传送〔查询、中断〕方式 2 双向应答发式传送〔查询、中断〕〔4〕8255 工作方式控制字和C 口按位置位 /复位控制字格式如下列图所示。
精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 19 页9 图 2.3 8255 控制字〔5〕实验原理图图 2.4 实验原理图5.实验步骤1. 基本输入输出实验本实验使8255 端口A 工作在方式0 并作为输入口,端口B 工作在方式0 并作为输出口 用一组开关信号接入端口A, 端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能具体实验步骤如下述:〔1〕实验接线图如下图,按图连接实验线路图图 2.5 实验接线图〔2〕编写实验程序,经编译、连接无误后装入系统精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 19 页10 〔3〕运行程序,改变拨动开关,同时观察LED 显示,验证程序功能〔4〕点击 ?调试 ?下拉菜单中的 ?固化程序? 项,将程序固化到系统存储器中〔5〕将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能〔6〕实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端。
实验程序清单〔A82551.ASM 〕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.6 实验线路图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 19 页11 〔2〕编写实验程序,经编译、链接无误后装入系统。
〔3〕运行程序,观察LED 灯的显示,验证程序功能〔4〕自己改变流水灯的方式,编写程序〔5〕固化程序并脱机运行实验程序清单〔A82552.ASM 〕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 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 19 页12 实验三A/D 及 D/A 转换器应用1.实验目的和意义替换理解模 /数、数模信号转换的基本原理。
掌握模 /数转换芯片ADC0809 的使用方法掌握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 位芯片图 3.1 DAC0832 引脚图图 3.2 DAC 实验单元电路图(2)A/D 转换器ADC0809 包括一个8 位的逐次逼近型的ADC 部分, 并提供一个8 通道的模拟多路开关和联合寻址逻辑用它可直接输入8 个单端的模拟信号,分时进行A/D 转换,在多点巡回检测、过程控制等应用领域中使用非常广泛图 3.3 ADC0809 引脚图图 3.4 ADC 实验单元电路图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 19 页13 5.实验步骤1. 数/模转换。
要求产生方波,并用示波器观察电压波形1)实验接线图如下图,按图连接实验线路图图 3.5 实验接线图(2)编写实验程序,经编译、链接无误后装入系统3)单击按钮,运行实验程序,用示波器测量DA 的输出,观察实验现象4)用示波器观察波形的方法:单击虚拟仪器菜单中的按钮或直接单击工具栏的按钮,在新弹出的示波器界面上单击按钮运行示波器,观测实验波形5)自行编写实验程序,产生三角波形,使用示波器观察输出,验证程序功能产生方波程序如下〔DA2.ASM 〕 :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 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 19 页14 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)按图连接实验线路图 3.6 实验连线图(2)编写实验程序,经编译、链接无误后装入系统3)将变量VALUE 添加到变量监视窗口中4)在 JMP START 语句行设臵断点,使用万用表测量ADJ 端的电压值, 计算对应的采样值,然后运行程序5)程序运行到断点处停止运行,查看变量窗口中VALUE 的值,与计算的理论值进行比较,看是否一致〔可能稍有误差,相差不大〕6)调节电位器,改变输入电压,比较VALUE 与计算值,反复验证程序功能实验程序清单〔AD1.ASM 〕SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS PUBLIC VALUE ;设臵全局变量以便变量监视DATA SEGMENT VALUE DB ? ;AD 转换结果DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 19 页15 START: MOV AX, DA TA MOV DS, AX MOV DX, 640H ;启动AD 采样OUT DX, AL CALL DALL Y IN AL, DX ;读 AD 采样结果MOV V ALUE, AL ;将结果送变量JMP START ;在此处设臵断点, 观察变量窗口中的VALUE 值DALL Y: 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 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 19 页16 实验四串行接口应用1.实验目的和意义掌握8251 的工作方式及应用。
了解有关串口通讯的知识2.实验设备PC 机一台, TD-PITE 实验装置一套3.实验内容1.自收自发实验,将3000H 起始的10 个单元中的初始数据发送到串口,然后自接收并保存到4000H 起始的内存单元中4.背景知识8251 是可编程的串行通信接口,可以管理信号变化范围很大的串行数据通信〔1〕8251 的内部结构及外部引脚图 4.1 8251 内部结构图图 4.2 8251 引脚图〔2〕8251 的编程方式控制字用来指定通信方式及其方式下的数据格式命令控制字用于指定8251 进行某种操作 〔如发送、 接收、内部复位和检测同步字符等〕或处于某种工作状态,以便接收或发送数据CPU 通过状态字来了解8251 当前的工作状态,以决定下一步的操作图 4.3 图 4.4 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 19 页17 8251 的初始化和操作流程和8251 实验单元电路图如下所示实验单元电路图图 4.6 8251 初始化和操作流程图5.实验步骤通过自收自发实验,可以验证硬件及软件设计,常用于自测试具体实验步骤如下:〔1〕参考实验接线图如下图,按图连接实验线路。
〔2〕编写实验程序,编译、链接无误后装入系统〔3〕使用E 命令更改4000H 起始的10 个单元中的数据〔4〕运行实验程序,待程序运行停止〔5〕查看3000H 起始的10 个单元中的数据,与初始化的数据进行比较,验证程序功能实验参考例程〔A82512.ASM 〕M8251_DATA EQU 0600H ;端口定义M8251_CON EQU 0602H M8254_2 EQU 06C4H M8254_CON EQU 06C6H SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS 图 4.5 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 19 页18 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 DALL Y ;8251 方式字MOV AL,7EH MOV DX, M8251_CON OUT DX, AL CALL DALL Y ;8251 控制字MOV AL, 34H OUT DX, AL CALL DALL Y 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 DALL Y A3: IN AL, DX ;判断是否接收到数据AND AL, 02H JZ A3 图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 19 页19 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 DALL Y OUT DX, AL CALL DALL Y OUT DX, AL CALL DALL Y MOV AL, 40H OUT DX, AL RET DALL Y: PUSH CX MOV CX,3000H A5: PUSH AX POP AX LOOP A5 POP CX RET CODE ENDS END START 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 19 页。
