8086 微机原理及接口技术
实验教程
合肥工业大学电气与自动化专业实验中心
8086 微机原理及接口技术实验教程
目
录
第 1 章 16 位微机原理及其程序设计实验.........................................................................................1
1.1 系统认识实验........................................................................................................................ 1
1.2 数制转换实验........................................................................................................................ 6
1.3 运算类编程实验.................................................................................................................. 13
1.4 分支程序设计实验..............................................................................................................18
1.5 循环程序设计实验..............................................................................................................21
1.6 排序程序设计实验..............................................................................................................23
1.7 子程序设计实验.................................................................................................................. 26
1.8 查表程序设计实验..............................................................................................................30
第 2 章 8086 微机接口技术及其应用实验.......................................................................................32
2.1 静态存储器扩展实验..........................................................................................................32
8259 中断控制实验 .............................................................................................................35
2.2
8254 定时/计数器应用实验...............................................................................................43
2.3
8255 并行接口实验 .............................................................................................................49
2.4
8251 串行接口应用实验 .....................................................................................................54
2.5
2.6 实时时钟综合设计实验......................................................................................................66
2.7 键盘扫描及显示设计实验..................................................................................................67
2.8 电子发声设计实验..............................................................................................................72
2.9 点阵 LED 显示设计实验......................................................................................................77
2.10 图形 LCD 显示设计实验 ....................................................................................................85
2.11 步进电机实验 .................................................................................................................... 92
2.12 直流电机闭环调速实验 ....................................................................................................95
2.13 温度闭环控制实验 ..........................................................................................................105
1
8086 微机原理及接口技术实验教程
第 1 章 16 位微机原理及其程序设计实验
本章主要介绍汇编语言程序设计,通过实验来学习 8086 的指令系统、寻址方式以及程序的
设计方法,同时掌握联机软件的使用。
1.1 系统认识实验
1.1.1 实验目的
掌握 TD 系列微机原理及接口技术教学实验系统的操作,熟悉 Wmd86 联机集成开发调试软件
的操作环境。
1.1.2 实验设备
PC 机一台,TD-PITE 实验装置一套。
1.1.3 实验内容
编写实验程序,将 00H~0FH 共 16 个数写入内存 3000H 开始的连续 16 个存储单元中。
1.1.4 实验步骤
1. 运行 Wmd86 软件,进入 Wmd86 集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存
器类型,这里我们设置成“汇编语言”和“16 位寄存器”,如图 1.1、图 1.2 所示。设置选择后,
下次再启动软件,语言环境保持这次的修改不变。本章选择 16 位寄存器。
1
8086 微机原理及接口技术实验教程
图 1.1 语言环境设置界面
图 1.2 寄存器设置界面
3. 语言和寄存器选择后,点击新建或按 Ctrl+N 组合键来新建一个文档,如图 1.3 所示。
默认文件名为 Wmd861。
图 1.3 新建文件界面
4. 编写实验程序,如图 1.4 所示,并保存,此时系统会提示输入新的文件名,输完后点击
保存。
2
8086 微机原理及接口技术实验教程
图 1.4 程序编辑界面
5. 点击 ,编译文件,若程序编译无误,则可以继续点击 进行链接,链接无误后方可
以加载程序。编译、链接后输出如图 1.5 所示的输出信息。
图 1.5 编译输出信息界面
6. 连接 PC 与实验系统的通讯电缆,打开实验系统电源。
7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过
端口列表中的“端口测试”来检查通讯是否正常。点击 下载程序。 为编译、链接、下载
组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中
会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图 1.6
所示。
3
8086 微机原理及接口技术实验教程
图 1.6 加载成功显示界面
8. 将输出区切换到调试窗口,使用 D0000:3000 命令查看内存 3000H 起始地址的数据,如
图 1.7 所示。存储器在初始状态时,默认数据为 CC。
图 1.7 内存地址单元数据显示
9. 点击按钮 运行程序,待程序运行停止后,通过 D0000:3000 命令来观察程序运行结果。
4
如图 1.8 所示。
8086 微机原理及接口技术实验教程
图 1.8 运行程序后数据变化显示
10. 也可以通过设置断点,断点显示如图 1.9 所示,然后运行程序,当遇到断点时程序会
停下来,然后观察数据。可以使用 E0000:3000 来改变该地址单元的数据,如图 1.10 所示,输
入 11 后,按“空格”键,可以接着输入第二个数,如 22,结束输入按“回车”键。
图 1.9 断点设置显示
图 1.10 修改内存单元数据显示界面
实验例程文件名为 Wmd861.asm。
1.1.5 操作练习
编写程序,将内存 3500H 单元开始的 8 个数据复制到 3600H 单元开始的数据区中。通过调
试验证程序功能,使用 E 命令修改 3500H 单元开始的数据,运行程序后使用 D 命令查看 3600H
单元开始的数据。
5
8086 微机原理及接口技术实验教程
1.2 数制转换实验
1.2.1 实验目的
1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解。
2. 熟悉程序调试的方法。
1.2.2 实验设备
PC 机一台,TD-PITE 实验装置一套。
1.2.3 实验内容及步骤
计算机输入设备输入的信息一般是由 ASCII 码或 BCD 码表示的数据或字符,CPU 一般均用
二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为 ASCII 码、BCD
码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。
计算机与外设间的数制转换关系如图 1.11 所示,数制对应关系如表 1.1 所示。
键 盘
光 电 机
拨码开关
数据开关
ASCII码
ASCII码
BCD码
二进制
二进制
主
机
ASCII码
ASCII码
BCD码
二进制
图 1.11 数制转换关系
CRT显示
打 印 机
多段显示
位 显 示
1. 将 ASCII 码表示的十进制数转换为二进制数
十进制表示为:
n
0i
D
i
i
10
(1)
D
n
n
10
D
1n
1n
10
D
0
0
10
Di 代表十进制数 0,1,2,…,9;
上式转换为:
6