学生用《微机原理及应用》实验指导书--最终版 - 图文

更新时间:2024-01-10 07:17:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程编号: 02300220

课程名称: 微机原理及应用

英文名称:Microcomputer Principle and Application

┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅

《微机原理及应用》 实 验 指 导 书

杨鼎来

合肥工业大学机械与汽车工程学院 计 算 机 控 制 基 础 实 验 室

1

前 言

本实验室的DICE-598K十六位微机教学实验系统主要用于我学院各专业《微机原理及应用》﹑《微机接口技术》﹑《微机控制技术》以及《MCS-51系列单片机原理及应用》、《MCS-96系列单片机原理及应用》等课程的本科实验教学。也可供研究生或从事微机﹑单片机应用的教职工进行相关的软﹑硬件设计实验。该系统可与一般终端以及PC机连接使用,是一种比较实用的实验开发工具。

本教学实验系统组成独立的实验系统,也可利用系统自身的功能和硬件资源。具有易编程﹑易调试﹑内存容量大﹑功能强﹑容易扩展等特点。学生在实验时,可以通过键盘直接输入8086/8088﹑MCS-51系列、MCS-96系列汇编语言源程序,并可根据需要选择程序的运行方式(单步跟踪﹑断点﹑连续等),简化了操作过程,提高了实验效率,使实验者在有限的实验教学课时内能学到更多﹑更实用的计算机软﹑硬件知识。 本指导手册的内容是根据学校设备实验室处《实验教学大纲汇编》为指导(2002年9月出版,实验教学大纲编号:020302), 以本实验室的DICE —598K十六位微机教学实验机的系统用户手册为基础,以教学中选用的教材《微型计算机原理与接口技术》、《MCS-51系列单片机原理及应用》等书的相关内容为参考,根据本实验室多年来微机原理的实验教学经验而重新编写的,以更加适应实验教学的要求。

在本指导手册每个实验约为4学时,由授课教师和实验指导教师根据实际教学需要来选择。

本实验指导手册在编写及试用过程中,得到了机械电子工程教研室的领导和全体授课教师的大力支持和帮助,并特别是宋守许和陈甦欣两位老师对本实验指导手册中的内容取舍提出了许多宝贵的指导性意见,在此表示衷心的感谢。

因编者水平及时间所限,错误和不当之处在所难免,敬请批评指正。

计算机控制基础实验室 杨鼎来

二O O六年五月

2

实验教学大纲

课程编号: 02300220 课程名称: 微机原理及应用 英文名称:Microcomputer Principle and Application 实验指导书名称:《DICE-598K微机原理及应用实验指导书》

一、学时学分

总学时:48 学分:3 实验学时:16

二、实验目的

本课程实验目的是让学生在深入掌握该课程教学内容,具备利用8086CPU的指

令系统,伪指令系统进行宏汇编语言程序设计和调试的能力,培养学生软件综合调试的基本实验技能。

三、实验基本原理

运用8086汇编语言实现算术运算、数据转换、分支程序设计、子程序设计,

用调试工具DEBUG进行反汇编、单步、断点、跟踪等方法调试和查看内存单元。

四、实验基本要求

1.掌握微型计算机实验系统操作使用的基本技能,能正确制定各种实验方案,设计实验程序;

2. 学会解决实验过程中产生的软件故障的基本技能; 3. 学会分析与总结,写出符合要求的实验报告。

五、考核与报告

实验完成情况及动手能力60%,实验报告20%,实验态度及实验结果20%。上

述分数以20%计入该门课总成绩。

六、主要仪器设备

“DICE-598K微机教学实验系统”一套;PC机一台等。

3

七、实验项目与内容提要 序 号 01 02 03 04 05 06 实 验 名 称 置 作 验 验 计 制实验 内 容 提 要 主要管脚硬件连接方法。 寄存器、存储器内容。 运算结果。 排序。 支结构程序。 术实现步进电机控制。 通过堆栈传递参数,实现十进制数组求和。 求N!的程序设计与验证。 利用串操作指令对带符号的16进制的字节数进行比较,把最大值在屏幕上显示出来 2 2 选开 设计 每组 人数 2 2 2 2 2 2 2 2 实验 实验 实验 时数 要求 类别 2 2 4 2 2 4 4 4 必开 验证 必开 验证 必开 设计 必开 设计 必开 设计 选开 综合 选开 设计 选开 设计 备注 实 验 一 实 验 一 实 验 二 实 验 三 实 验 三 8086系统配最小模式系统结构与配置,实验系统操系统操作方法、显示和修改算术运算实编程求出加、减、乘、除等数据排序实采用冒泡排序算法进行数据分支程序设用多个条件转移指令实现分步进电机控结合接口技术和电机控制技07 子程序设计 08 递归调用 09 循环程序设计 八、适用专业

机械设计制造及其自动化、过程装备与控制工程、交通工程、车辆工程、热能

与动力工程、工业工程

九、实验地点

机械与汽车工程学院实验中心。

十、开课学期 第5学期。

4

实验守则

1. 实验者应按照课程教学计划,准时上实验课,不得迟到早退。

2. 实验前认真阅读实验指导书,明确实验目的、步骤、原理,预习有关的理论知识,并接受实验教师的提问和检查。

3.进入实验室必须遵守实验室的规章制度。不得高声喧哗和打闹,不准抽烟、随地吐痰和乱丢杂物。有净化要求的实验室,进入必须换拖鞋。

4.做实验时必须严格遵守仪器设备的操作规程,爱护仪器设备,节约使用材料,服从实验教师和技术人员指导。未经许可不得动用与本实验无关的仪器设备及其它物品。

5.实验中要细心观察,认真记录各种实验数据。不准敷衍,不准抄袭别组数据,不得擅自离开操作岗位。

6.实验时必须注意安全,防止人身和设备事故的发生。若出现事故,应立即切断电源,及时向指导教师报告,并保护现场,不得自行处理。

7.实验完毕,应主动清理实验现场。经指导教师检查仪器设备、工具、材料和实验记录后方可离开。

8.实验后要认真完成实验报告,包括分析结果、处理数据、绘制曲线及图表。在规定时间内交指导教师批改。

9.在实验过程中,由于不慎造成仪器设备、器皿、工具损坏者,应写出损坏情况报告,并接受检查,由领导根据情况进行处理。

10.凡违反操作规程,擅自动用与本实验无关的仪器设备、私自拆卸而事故和损失的,肇事者必须写出书面检查,视情节轻重和认识程度,按章程予以赔偿。

5

实验一 DICE-598K系统配置

一 实验目的

1. 熟悉和了解DICE-598K实验系统的最小模式结构与配置,主要IC管脚连接方法。

2. 熟悉和了解DICE-598K 实验系统硬件的性能。 二 实验内容

1.实验系统的硬件结构及主要性能特点。 2. 实验学时数:2H 三 实验设备与工具

DICE-598K 实验系统 四 实验方法和步骤 (一)系统硬件结构

DICE-598K 实验系统由8088控制单元、实验单元、电子实验演示装置、开关电源等部分组成。8088控制单元由8088CPU、复杂可编程逻辑器件CPLD(iSPL1032及iSPL 1016)、监控EP1(27512)、内存RAM1,2和键盘显示电路组成。实验单元采用一体化、分模块设计,结构合理清晰。电子实验演示装置由单片机、USB接口和16个I/O扩展接口(IN0~15,OUT0~15)组成。

1. 采用主频为14.77MHZ的8088CPU为主CPU,并以最小工作方式构成系统。 2. 配有二片61C256静态RAM构成系统的64K基本内存,地址范围为00000H~0FFFFH,其中00000H~00FFFH监控占用。另配一片W27C512(64K)EP1存放监控程序, 地址范围F0000H~FFFFFH。

还配有一片W27C512 EP2存放实验程序,为实验系统独立运行时下载实验程序提供方便。

3. 自带键盘、显示器,能独立运行,为实验程序调试带来方便。

4. 配备Windows仿真调试软件,支持机器码、汇编、C等三种语言的开发和调试。 5. 提供标准RS232异步通讯口, 以连接IBM-PC机。

6

6. 配有各种微机常用I/O接口芯片,定时/计数接口芯片8253、A/D转换接口芯片0809、D/A转换接口芯片0832、中断控制器8259、键盘显示接口8279、并行I/O接口芯片8255、通讯接口芯片8250、8251、485和DMA控制器8237等。

7. 配备键盘、数码显示、发光二极管显示、开关量、LED16×16、LCD128×64、温度压力、步进电机、直流电机、扬声器等输入输出设备。

8. 带有脉冲发生器、计数器电路、单脉冲发生器等常用电路。 9. 可以单步、断点、全速调试各实验程序。

10. 内置开关电源,为实验提供+5V/3A、±l2V/0.5A直流稳压电源。 11. 使用环境:环境温度0~+40℃,无明显潮湿,无明显振动碰撞。

12. 配备USB接口的电子实验演示装置,通过编制程序,对模拟控制对象进行实时控制,整机图片如下。

7

(二)系统资源分配

8088有1兆存储空间,系统提供用户使用的空间为00000H~0FFFFH,试实验程序。具体分配如下:

1. 存贮器地址分配

8

用于存放、调 CPU 51 ROM 0000H~0FFFFH RAM1 0000H~7FFFH RAM2 8000H~FF7FH I/O扩展 用户实验程序 用户数据 用户数据 (除FF20H~FF2FH) FF80H~FFFFH 96 0000H~7FFFH 不用 8000H~FF7FH FF80H~FFFFH 用户实验程序 用户数据 (除FF20H~FF2FH) 88 F0000H~0FFFFFH 00000H~07FFFH 080000H~0FFFFH 系统监控 0000H~FFFFH 用户程序/数据 用户程序/数据 2. I/O地址分配

地 址 0FF80H 0FF90H 0FFA0H 0FFB0H 0FFC0H 0FFD0H 0FF20H 0FF21H 0FF22H 0FF23H 0FF28H 0FF29H 0FF2AH 0FF2BH 60H 扩 展 名 称 自 定 义 自 定 义 用 途 实 验 用 口 地 址 实 验 用 口 地 址 实 验 用 口 地 址 实 验 用 口 地 址 实 验 用 口 地 址 实 验 用 口 地 址 键 扫 / 字 位 口 字 形 口 自 定 义 自 定 义 自 定 义 自 定 义 系 统 8255PA 口 系 统 8255PB 口 系 统 8255PC 口 系 统 8255控 制 口 扩 展 8255PA 口 扩 展 8255PB 口 键 入 口 控 制 口 扩 展 用 扩 展 用 扩 展 用 控 制 口 实 验 用 扩 展 8255PC 口 扩 展 8255 控 制 口 E X 1 9

监控占用00004H~0000FH作为单步(T)、断点(INT3)、无条件暂停(NM1)中断矢量区, 用户也可以更改这些矢量, 指向用户的处理, 但失去了相应的单步、断点、暂停等监控功能。

F0000H~FFFFFH监控程序区系统占用。 (三)实验系统配置

系统内含串行通讯和键盘显示监控的全部软硬件设施,典型配置如下: 1. 598K主机+PC机 2. 598K主机

二种配置的使用特点如下:

配置一:主机板和PC机通过RS232串口相连。这种配置形式可以充分利用 IBM PC机的软硬件资源, 实现源程序的编辑、汇编和链接和调试。可以利用PC机的键盘显示等输入输出设备完成各种软硬件实验。

配置二:为最经济型配置,它不需要和IBM PC机联机,自成一体,通过一组键盘命令完成所有软硬件实验,每个实验程序固化在实验监控中。这种配置为没有PC机的用户带来极大方便。

(四)DICE-598K系统接口定义

1. CZ1:MAIN-COM :通讯接口;

图2-1

2. CZ4:打印接口;

10

图2-2

3. JX0,JX17为系统提供的数据总线接口;

图2-3

4. CZ7:系统提供的扩展接口;

图2-4

5. JX12、JX14:液晶显示接口。

图2-5

(五)DICE-598K 系统部分电路介绍

11

1. LED发光二极管指示电路:包括16只发光二极管及相应驱动电路。见图2-6,Ll-L16为相应发光二极管驱动信号输入端, 该输入端为低电平“0”时发光二极管亮。

图2-6

2. 逻辑电平开关电路:见图2-7。实验台上有8只开关Kl-K8,与之相对应 K1-K8各引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“l”, 向下拨相应插孔输出低电平“0”。

图2-7

3. 单脉冲电路:实验台上单脉冲产生电路如图2-8,标有“ 的两个引线插孔为正负单脉冲输出端。

AN为单脉冲产生开关,每拨动一次产生一个单脉冲。

”和“

12

图2-8

4. 分频电路:该电路由一片74LS393组成,见图2-9。T0-T7为分频输出插孔 该计数器在加电时由RESET信号清零。当脉冲输入为8.0MHZ时,T0-T7输出脉冲频率依次为4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ。

图2-9

5. 脉冲发生电路:实验台上提供8MHZ的脉冲源,见图2-10,实验台上标有8MHZ的插孔,即为脉冲的输出端。

图2-10

13

6. 485接口电路:

图2-11

7. 通讯接口电路

图2-12

8. 数码管显示电路

14

图2-13

9. 键盘电路

图2-14

15

五 实验报告主要内容及要求

1. 按教科书中相关内容对照DICE-598K实验系统的硬件部分,了解主要IC芯片的型号、功用。

2. 理解所介绍的电路的工作原理。

六 注意事项

1. 在实验过程中未经允许不要随意接通实验系统的电源,更不允许带电插拔实验设备的连接插头,以免引起实验设备的损坏。

2. 在进行实验系统与PC机的连接时一定要在断电的状态下进行,否则将可能引起实验设备的损坏。

3. 通电顺序为:先启动PC机,待PC机启动完成后再接通DICE-598K电源。 4. 实验过程中不要带电插拔实验设备的连接插头,以免引起实验设备的损坏。 5. 实验结束后应先关断DICE-598K电源,再关闭PC机。

16

实验二 DICE-598K 系统操作实验

一 实验目的

熟悉和了解DICE-598K键盘操作命令的使用和集成调试软件的使用操作方法。 二 实验内容

1.键盘功能键操作命令的使用。

2. DICE-598K 集成调试软件的安装与使用方法。 3. 实验学时数:2H 三 实验设备与工具

DICE-598K 实验系统十 PC机 四 实验方法和步骤

(一)键盘监控程序的功能和操作方法

系统一经接通电源,数码管上显示监控提示符“P.”。 1. 键盘显示

系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。 系统具有24个注塑键盘,左边l6个是数字键,右边8个是功能键。 在键盘监控状态下用户可以通过一组键命令完成下列操作 · 读写寄存器内容 · 读写存储器内容 · EPROM传送 · 断点设置/清除

· 通过单步、断点、连续等功能来调试运行实验程序。

2. 键盘说明一览表

17

3. 总操作过程

8088十六位微机实验系统上电总清以后, 显示器上显示监控提示符“P.”,各寄存器的初始化值如下:

SP=0683H,CS=0000H,DS=0000H,SS=0000H,ES=0000H,IP=l000H,FL=0000H 注意:(1) 所有命令均在提示符“P.”状态输入。

(2) 在键盘监控状态,段地址缺省值为0000H。

(二)监控程序命令及操作

1. 存贮器单元内容显示与修改

操作:×××× ME 即在提示符“P.”下,先输入四位存贮单元地址, 再按 ME键,显示器左边4位显示地址,右边2位显示该单元的内容。此时

18

·按 NX 键使地址加1再显示。 ·按 LS 键使地址减l再显示。

·键入十六进制数据,则将改写现行地址单元的内容。 ·按 MON 键则返回监控,显示提示符“P.”。 2. 寄存器内容显示与修改

操作:× RG 即在“P.”提示符下,先输入寄存器代号, 再按 RG 键,显示器右边4位显示寄存器中内容,左1、2位显示寄存器名。此时:

·按 NX 键,则依次循环显示下一个寄存器中的内容。 ·按 LS 键,则依次显示上一个寄存器中的内容。 ·输入十六进制数字, 则该寄存器中的内容被修改。 ·按 MON 键则返回监控,显示提示符“P.”。 寄存器代号与寄存器关系如下:

代0 1 号 2 3 4 5 6 7 8 9 A B C D 寄 存AX BX CX DX SP BP SI DI CS DS SS ES IP FL 器

3.EPROM传送

操作:在提示符“P.”状态下,按 SCAL 键,开始EPROM传送,把EPROM中1000H~FFFFH内容传送到相应的内存中,传送时数码管 显示闪动的“——”,传送完毕返回监控,显示提示符“P.”。

4.单步运行

操作:有三种状态都可以进入单步操作(段地址固定为0000H)

·在监控提示符“P.”状态下,按 STEP 键,从默认的起始地址IP=1000H单元开始单步运行一条指令语句。

19

·在存贮器单元读写状态(即左边4位显示存贮器地址,右边2位显示存贮器单元内容)下,从当前存贮器地址开始单步运行一条指令语句。

·先输入四位起始地址,再按 STEP 键,则从输入的起始地址开始运行一条指令语句。每运行一条语句,显示器显示下一条指令语句的地址及其内容。

5. 连续运行

操作:有三种状态可以进入连续运行

·在监控提示符“P .”状态下,按 EXEC 键,从默认起始地址CS=0000H,IP=1000H开始连续运行用户程序。

·在存贮器读写状态下,按 EXEC 键,从现行存贮器地址开始(CS=0000H)连续运行用户程序。

·先输入4位起始地址,再按 EXEC 键,则从输入的起始地址开始连续运行用户程序(CS=0000H)。

要想从运行用户程序返回监控, 可以按主机 RST 键, 则重新进入监控状态,初始化部分寄存器。

6. 断点运行(默认段地址CS=0000H)

操作:××××F1,×××× EXEC 即在提示符“P.”状态下,输入4位断点地址,按F1键,再输入4位起始地址,按 EXEC 键,程序从起始地址开始运行,显示器显示“Γ”执行符。当程序运行到断点地址处会自动停下来,并显示断点地址和内容,同时保护所有寄存器的值。

(三)DICE-598K 实验系统与PC机联机操作

1. DICE-598K 集成调试软件概述

·DICE-598K 实验系统一共配置了三套调试软件:DICE-8086K 软件、DICE-51仿真开发系统和 DICE-96 仿真开发系统。名称为 DICE-8086K 集成调试软件,适用于以8088CPU构成实验系统时使用。

·软件运行环境:该软件适宜在安装Windows98/2000/XP操作系统的PC机上运行。 2. DICE-8086k 软件的安装

20

运行随机光盘上“DICE-8086k.EXE”安装文件,根据提示完成软件安装,然后双击桌面上‘DICE-8086k’快捷图标,即可运行DICE-8086k软件。

3. DICE-8086k 软件启动和联机

双击桌面上‘DICE-8086k’快捷图标,即可运行DICE-8086k软件,屏幕显示 DICE-8086k软件的工作窗口,底边状态栏由“下位机没有连接?”变成“连接上下位机”,说明联机成功,否则会弹出对话框提示:“下位机没有连接?”,此时单击“OK”,实验系统和PC机处于脱机状态,然后用户根据连接硬件实际情况来设定COMl或COM2,设定方法如下:依次单击菜单栏:“设置(X)、通讯口设置(Z)、COM1或COM2”确定、波特率设为9600、然后点击‘保存设置退出’,状态设定后,系统会自动检测连接。如果此时确定端口和波特率设置正确,但系统仍然没有连接,可按以下两种方法解决:

(1)单击工具栏上的“重新连接”按钮,即可联机;

(2)复位实验系统,使得数码管上显示监控提示符“P.”, 然后关闭DICE-8086k软件,重新运行,故障即可排除。

4. 联机失败原因及解决办法 ⑴ 实验系统与PC机没有连接; ⑵ 实验系统电源没有打开; ⑶ 串口实际位置与软件设置不一致;

⑷ 通讯开关位置不正确, 检查实验系统各状态设置开关是否确认为出厂模式; ⑸ 软件有病毒;

⑹ 实验系统或PC机处于非正常状态。

对于⑴ ⑵ ⑷ ⑸的错误,只要在硬件上检查一下,或用杀毒软件清毒一下即可:如文件已被破坏或需软件升级,可到制造厂网站下载。网址:WWW.DICE.COM.CN对于第⑶种错误,重复 3 操作,对第⑹种错误,联机之前先按一下实验系统RST复位按钮,使实验系统处于“P.”状态, 否则说明实验系统不正常,应立即关闭电源并报告实验室工作人员维修更换。如PC机工作失常也会引起联机失败, 可关闭DICE-8086k软件,重新运行或调换PC机试一下。

21

(四)DICE-8086k软件主窗口

1.顶部为菜单栏和工具栏,提供调试全部命令和功能。

2.中间部分为工作窗口区,提供软件调试、寄存器、标志位、存储器、汇编代码对照、编译信息显示等窗口。

3.底部为状态栏,提示软件联机状态等信息。 DICE-8086K软件主窗口如下图所示:

菜单栏 工具栏 工作窗口区 工作窗口区 工作窗口区

工作窗口区 状态栏 工作窗口区

22

1.顶部为菜单栏和工具栏, 提供调试全部命令和功能。

2.中间部分为工作窗口区,提供软件调试、寄存器、标志位、存储器、汇编代码对照、编译信息显示等窗口。

3.底部为状态栏,提示软件联机状态等信息。 (五)菜单栏和工具栏命令简介

工具栏使用:移动鼠标,指向工具栏中选定的图标,即会提示该图标所执行的命令。 1.文件菜单栏 (1)新建文件

单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,编辑窗口显示Editor,此时可在此编辑、输入源程序。 (2)F3 打开文件

单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。

(3)关闭

单击菜单栏“文件”下的“关闭”即可关闭源程序编辑窗口。 (4)保存

单击菜单栏“文件”下的“保存”或按CTRL+S,即可保存文件。 (5)N 建立新文件

分别单击“F文件”、“建立新文件”即可创建新文件,再选择“换名存盘”填入所存文件名即可。

(6)另存为

单击菜单栏“文件”下的“另存为”,可弹出另存为对话框,在此可选择新的文件名和保存文件夹,单击“保存”完成保存操作。 (7)退出

依次单击“文件”、“退出”或单击菜单栏上的最后一个门形按钮“关闭按钮”即

23

可退出DICE-8086k软件调试环境。

2 .编辑菜单栏

剪贴CTRL+X

删除程序中选定的正文,同时将它复制到剪贴板中

复制CTRL+C 保留选定的正文,同时将它复制到剪贴板中

粘贴CTRL+V 将剪贴板中内容复制在光标处

删除DEL 删除选中的正文

全选CTRL+A 选中源程序编辑窗口中所有的正文

ALT+BackSpace 可恢复上几次误操作

3.调试菜单栏 (1)编译装载 F9

打开源文件,依次单击¨调试”\\“编译装载F9”或工具栏上的编译装载图标,几秒钟后便会弹出‘编译成功’对话框,单击“OK”,再等待几秒钟后又会弹出‘装载成功’对话框,单击“OK”即编译装载完毕。,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可。 (2)连续运行

单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即可快速连续运行程序。 (3)程序单步

单击菜单栏“调试”下的“程序单步”或单击工具栏的程序单步图标,即可单步运行程序。 (4)重新连接

24

可单击菜单栏中“重新连接”,也可单击工具栏的“重新连接”图标,即可重新连接上下位机。 (5)复位

菜单栏中“复位”无效,可单击工具栏的“复位”图标,即可复位软件,寄存器置初值,指令指针返回到程序首地址;598K设备本身的系统复位则应按下598K设备上的复位键“RST” (位置在598K中部可编程逻辑器件iSPL-1032下方)。 4.设置

单击“设置”下的“通讯口设置”或工具栏上的“通讯口设置”即可打开“通讯设置”对话框,在此可设置端口和波特率。 5.窗口

在此菜单可设置窗口的排列顺序,可打开相应的工作窗口。具体详见中文菜单。 (六)实验系统与PC机的连接

连接好 DICE-598K 电源,打开PC机电源。待PC机启动完成后,再打开DICE-598K 电源,当显示器上显示监控提示符“P.”后,鼠标双击桌面上‘DICE-8086k’快捷图标,即可运行DICE-8086k软件,屏幕显示DICE-8086k软件的工作窗口,底边状态栏由“下位机没有连接?”变成“连接上下位机”,说明联机成功。否则应按本节4中所述步骤仔细检查串口的连接及波特率设置是否正确,完成DICE-598K实验系统与PC机的连接。

CPU内部寄存器状态窗口 598K数据存储器器状态窗口

1. 寄存器内容的读出与修改

窗口左侧CPU内部寄存器状态窗口显示598K-8088CPU内部各寄存器当前内容,用

25

鼠标左键选中CPU内部寄存器状态窗口栏中的任一寄存器,输入新的数据、再单击鼠标右键选中“更新”后,即可实现对598K-8088CPU内部该寄存器内容的修改。 2. 数据存储器内容的读出与修改

窗口右下侧数据存储器状态窗口显示598K数据存储器中的内容,单击鼠标右键选中“存储器起始地址”,输入要显示内存单元首地址后,按回车键,即可显示598K数据存储器中指定地址单元的内容(每行显示16个存储单元的内容)。用鼠标左键选中任一地址单元,输入单个或连续新的数据、再单击鼠标右键选中“更新”后,即可实现对598K数据存储器指定地址单元的读出与修改。 3. 程序的装载与运行

(1)用鼠标左键单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,在“查找范围”对话框中,选择 “D:\\实验指导电子文档\\8088实验\\ 8086k.Asm文件夹”,点击选中的后缀为ASM文件的实验程序后,再单击“确定”即可装入源文件。

(2)单击工具栏中“调试”选择“编译装载”(或单击鼠标右键选择“编译装载”),即可完成源文件自动编译、装载目标代码功能。

(3)单击“调试”中“连续运行”或工具图标“运行”,即开始运行程序(此时598K上的LED数码管显示“Γ”)。

(4)程序运行结束后,按下598K上的复位按键RST使其系统复位(位置在598K中部可编程逻辑阵列器件iSPL-1032下方),复位后598K的LED数码管显示由“Γ”变为“P.”状态。此时光标移至DICE-8086K软件中存贮器RAM窗口,先单击鼠标右键选中“更改存储器起始地址”,输入程序运行结果在RAM中存放的起始地址后按回车键,再单击鼠标右键选中“更新”即可读出指定内存地址中的程序运行结果。

(5)单击工具栏“复位”图标,即可实现复位软件,寄存器置初值,指令指针返回到程序首地址(状态栏中可看到显示IP=l000H)。

(6)需要再次运行同一程序时、须重新编译装载该程序。 4. 连机故障排除

(1)DICE-8086k软件的工作窗口,底边状态栏由“下位机没有连接?”变成“连接上下位机”,说明联机成功,否则会弹出对话框提示:“下位机没有连接?”,此时单击“OK”,实验系统和PC机处于脱机状态,然后用户根据连接硬件实际情况来设定

26

COMl或COM2,设定方法如下:依次单击菜单栏:“设置(X)、通讯口设置(Z)、COM1或COM2”确定、波特率设为9600、然后点击‘保存设置退出’,状态设定后,系统会自动检测连接。如果此时确定端口和波特率设置正确,但系统仍然没有连接,可按以下两种方法解决:

单击工具栏上的“重新连接”按钮,即可联机;

复位实验系统,使得数码管上显示监控提示符“P.”, 然后关闭DICE-8086k软件,重新运行,故障即可排除。

(2)联机失败原因及解决办法 实验系统与PC机没有连接; 实验系统电源没有打开; 串口实际位置与软件设置不一致;

通讯开关位置不正确, 检查实验系统各状态设置开关是否确认为出厂模式; 软件有病毒;

实验系统或PC机处于非正常状态。 4. 实验实例

实验实例sy1.ASM程序的功能是在数据存储器中指定单元3500H~350FH中建立0~15共16个十进制数,源程序如下:

CODE SEGMENT ;Sy1.ASM-->在内存指定单元建立十进制数 ASSUME CS:CODE

ORG 2000H ; 程序起始地址 START: MOV DI,3500H ;设数据区首址

MOV CX,0010H ;字节数→ CX MOV AX,0000 ; 0000 → AX CNT: MOV [DI],AL ;(AL)→ [DI]

INC DI ;修改地址指针 ADD AL,01 ;修改数据

DAA ;十进制调整

LOOP CNT ;未填完,继续 JMP $ ;填完,结束 CODE ENDS

END START

27

实验步骤:

(1).首先读懂汇编语言源程序,弄清程序中每条指令的功能﹑用途,并能根据对汇编语言源程序的理解画出该程序的流程图。

(2).按前面介绍的步骤进行程序的装入、运行,并分析记录程序运行的结果。 (3).按要求对该程序进行修改,使其建立的数据为降序排列的十进制数。 (4).按如下要求自行设计“内存清零程序”。

要求:对指定内存起址和长度的块,要求将其内容清零,设起址为4000H,长度为1000H,程序名定义为SY000.ASM,程序框图如下,试编制该程序并用DICE-8086k软件调试通过。

程序框图

五 实验报告主要内容及要求

1. 按要求对该程序进行修改,使其成为将数据存储器中指定单元3500H~350FH全部清零程序。

2. 认真记录整理和分析实验过程中自己所设计的程序运行的信息,写出实验报告。 六 注意事项

1.在进行实验系统与PC机的连接时一定要在断电的状态下进行,否则将可能引起实验设备的损坏。

28

2.通电顺序为:先启动PC机,待PC机启动完成后再接通DICE-598K电源。 3.实验过程中不要带电插拔实验设备的连接插头,以免引起实验设备的损坏。 4.联机失败解决办法

用户根据连接硬件实际情况来设定COMl或COM2,设定方法如下:依次单击菜单栏:“设置(X)、通讯口设置(Z)、COM1或COM2”确定、波特率设为9600、然后点击‘保存设置退出’,状态设定后,系统会自动检测连接。如果此时确定端口和波特率设置正确,但系统仍然没有连接,可按以下两种方法解决: (1)单击工具栏上的“重新连接”按钮,即可联机;

(2)复位实验系统,使得数码管上显示监控提示符“P.”, 然后关闭DICE-8 5. 实验结束后应先关断DICE-598K电源,再关闭PC机。

6. 新编的源程序进行编译出错时,应根据所提示错误信息,修改好源程序后,再按下列步骤重新编译装载源程序文件:

(1)单击鼠标右键,点击“编译装载(N)”,重新编译装载源程序;

(2)点击工具栏上的编译装载图标,重新编译装载源程序。(此时菜单栏“调试”下的“编译装载(Q)”功能无效。

(3)程序运行结束后,先按下598K上的复位按键RST使其系统复位

(4)在DICE-8086K软件中存贮器RAM窗口,须先 “更改存储器起始地址”,再 “更新”操作后才能读出指定地址中的数据;在数据存贮器中输入新的数据后,也必须在执行“更新”操作后才有效。

(5)需要再次运行同一程序时、须重新编译装载该程序。

29

实验三 运算类程序的设计与调试

一 实验目的

1. 熟悉和了解DICE-8086K 调试软件的使用操作方法。 2. 熟悉和掌握运算类程序的基本结构和程序设计、调试方法。

3. 熟悉运算类指令对标志寄存器中各标志状态的影响及标志状态的应用。 二 实验内容

1. 二进制四则运算程序的设计方法。 2. 十进制加减运算程序的设计方法。 3. 十六进制开平方程序的设计方法。 4. 实验学时数:4H 三 实验设备与工具

DICE-598K 实验系统十 PC机 四 实验方法和步骤 (一)二制数加、减法

Sy2.ASM程序是三字长即四十八位二制数(12位十六进制数)的加法运算程序,计算X+Y=Z,其中设X、Y均为三字长二进制数,如和有溢出则Z=EEEEEEEEEEEE。设被加数X存放在4600~4605H内存单元、加数Y存放在4610~4615H内存单元、和Z存放在4620~4625H内存单元。上述数据在内存单元存放的格式应为低位在前、高位在后(见内存分配图)。

内存分配图

内存单元 被加数X 内存单元 加 数Y 内存单元 和 Z 4600H 4601H 4602H 4603H 4604H 4605H 最低位 最高位 4610H 4611H 4612H 4613H 4614H 4615H 最低位 最高位 4620H 4621H 4622H 4623H 4624H 4625H 最低位 最高位 30

n?(2Kk?1?1) = N

2

因此我们用减奇数法可求得近似平方根,即获得平方根的整数部分。若要做S的运算,就可以从S中逐次减去自然数中的奇数1、3、5、7、9??,一直减到余数为零或不够减下一个自然数的奇数为止,所减的自然数奇数的个数即为S的近似平方根。

设被开平方为正整数,存放在6300~6301H内存单元,所获得的平方根存放在6308H内存单元,所剩的余数存放在6309H内存单元,程序流程图如下:

AX ( )-(DX)→AX Y 0? (AX)≥

N

平方根→6308H 余数→ 6309H 减奇数个数计数器+1 形成下一个奇数 被开方数 → AX 0001 →DX 00 →CL 结 束 开平方程序流程图

程序清单

CODE SEGMENT ; Sy6.ASM 十六进制开平方程序

ASSUME CS:CODE ORG 6000H START: JMP START0

YA EQU 6300H ;被开方数地址

36

YB EQU 6308H ;方根地址 YC EQU 6309H ;余数地址 START0: MOV SI,YA

MOV AX,[SI] ;取被开方数 MOV CL,00 ;清平方根 MOV DX,0001 ;奇数初值 Y0: SUB AX,DX ;减奇数

JB Y1 ;不够减转存平方根后结束 MOV BX,AX ;够减存余数

INC CL ;奇数个数计数器+1 INC DX ;形成下一个奇数 INC DX

JMP Y0 ;转继续减奇数 Y1: MOV SI,YC

MOV [SI],BL ;余数送存 MOV SI,YB

MOV [SI],CL ;存平方根 JMP $ ;结束 CODE ENDS

END START 实验步骤:

⑴.输入程序。

⑵.在6300H~6301H内存单元分别存入几个不同的被开平方数(2字节、低位在前高位在后),运行程序,查看方根及余数并记录。

⑶.在充分理解该程序的基础上自行设计出2字节的十进制开方程序,调试通过并纪录源程序及运行结果。 五 实验报告主要内容及要求

1.读懂实验源程序,分析程序中每条指令的功能﹑用途,理解该程序的设计思路和方法。

2. 按实验要求自行完成程序设计、调试及修改,使其成满足设计要求,并按步骤进行程序的装入、运行,并记录运行后的结果。

3. 认真记录整理和分析自己所设计的程序在运行中的各种信息。 六 注意事项

当编写的源程序编译出错时,应根据所提示的错误信息的类型,修改好源程序并存盘后,再按下列步骤重新编译装载源程序文件:

37

1. 单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择修改存盘后的源文件,单击“确定”即可装入源文件

2. 点击工具栏上的编译装载图标,重新编译装载源程序;或单击鼠标右键,点击“编译装载(N)”,重新编译装载源程序。

38

实验四 数据排序程序的设计与调试

一 实验目的

1. 掌握排序程序的结构及其设计、调试的基本方法。 2.熟悉各类指令对标志状态位的影响及其检测、运用的方法。 二 实验内容

1. 排序程序的功用及其设计、调试的方法。 2. 实验学时数:2H 三 实验设备与工具

DICE-598K 实验系统 + PC机

四 实验方法和步骤

1. 排序程序

SY8.ASM程序为排序程序(参考教材P180的例5-11),是个二重循环程序。其功能将从2900H内存单元开始存放的N个字节中的数据按升序排列,其中字节数N存放于288FH单元。其参考程序和程序流程图如下。

程序清单

CODE SEGMENT ; SY8.ASM 排序程序 ASSUME CS:CODE

ORG 2800H

START: JMP START0

ZJS EQU 28FFH ; 字节数N存放地址

SHJ EQU 2900H ;数据存放首地址 START0: MOV SI, ZJS

MOV CL,[SI] ;取字节数N → CX MOV CH,0

MOV AX, SHJ

ADD AX,CX ;计算数据存放末地址

MOV SI, AX ; 末地址 → SI MOV BL,0FFH ;换位标志FF →BL CNT0: CMP BL,0FFH ;上次排序 时有换位?

JNE CNT3 ;N,结束

MOV BL, 0 ;Y,清换位标志

DEC CX ; 修正CX,外循环下一轮排序 JZ CNT3 ; CX=0,排序已结束 PUSH SI

39

PUSH CX

CNT1: DEC SI

MOV AL,[SI] ;取最末尾数N DEC SI ;指向N-1地址 CMP AL,[SI] ;判(N)> (N-1)? JA CNT2 ;Y,不换位 XCHG AL,[SI] ;N,换位 MOV [SI+1],AL

MOV BL,0FFH ;FF →换位标志

CNT2: INC SI ;换位后修正SI

LOOP CNT1 ;本轮内循环排序完?N,转CNT1 POP CX ; Y,恢复CX、SI POP SI ;上次排序 时有换位?

JMP CNT0 ;转外循环排序

CNT3: JMP $

CODE ENDS

END START

数据个数→ CX 源区末址+1→SI SI-1→ SI,(SI)→AL 换位标志FF→BL Y (SI)<(SI-1)? N (BL)=FF? N N Y (SI-1)←→(SI),FF→BL 00→BL,CX-1→ CX 结束 CX-1→ CX Y (CX)=0? N N N Y (CX)=0? SI, CX 进栈保护 Y 排序程序流程图

40

2. 实验步骤:

⑴.编译装载SY8.ASM程序。

⑵.从2900H内存单元开始存放N个字节的数据,其字节数N存放于28FFH单元。 ⑶.运行程序、查看排序结果。

⑷.理解排序程序的设计方法,自行设计出将N个字节的数据按降序排列的程序,调试通过后运行该程序并查看排序结果。 五 实验报告主要内容及要求

1.读懂实验源程序,分析程序中每条指令的功能﹑用途,理解该程序的设计思路和方法。

2. 按实验要求自行完成程序设计、调试及修改,使其成满足设计要求,并按步骤进行程序的装入、运行,并记录运行后的结果。

3. 认真记录整理和分析自己所设计的程序在运行中的各种信息。

六 注意事项

1. 排序程序也是循环程序的一种,循环程序的循环方式有两种,一种是先判断循环控制条件,满足条件继续执行循环体,否则退出循环;另一种是先执行循环体然后再判断循环控制条件,不满足条件继续执行循环体,一旦满足条件则退出循环。

2. 循环程序的结构特点如下:

(1)设置循环的入口条件:如循环次数以及为保证循环体正常运行而设置的初始状态条件等。

(2)循环体:一般由循环的工作部分和修改部分构成。循环的工作部分是为完成程序功能而设计的主要程序段,循环的修改部分则是为保证每一次循环时,参加循环的有关信息能发生有规律的变化而设计的程序段。

(3)循环控制部分:每个循环程序必须选择一个循环控制条件来控制循环的运行和结束,对循环次数为已知情形,大多用LOOP指令来实现;有时虽然循环次数为已知、但有可能使用其它条件或特征来使循环提前结束,则LOOPZ和LOOPNZ指令也是设计循环程序最常用的指令。对循环次数为未知的情形则可根据具体情况找出控制循环结束的条件或特征。

(4)循环程序可以为单重循环,也可以为多重循环程序。多重循环程序方法和单

41

重循环程序方法基本一致,但应分别考虑各重循环的控制条件及其程序实现,相互之间不能混淆。同时应注意在每次外层循环再次进入内层循环时,初始条件必须重新设置。

42

实验五 分支程序的设计与调试

一 实验目的

1. 掌握分支程序的结构及其设计、调试的基本方法。 2.熟悉各类指令对标志状态位的影响及其检测、运用的方法。 二 实验内容

1. 分支程序的功用及其设计、调试的方法。 2. 实验学时数:2H 三 实验设备与工具

DICE-598K 实验系统 + PC机

四 实验方法和步骤

1. 分支程序

分支程序的特点是:每个分支都是具有独立功能的程序段,在某一种确定的条件下,程序每次只能执行若N个分支中的一个分支。

⑴.分支程序的设计思想如下:

程序的分支一般用条件转移指令来实现。

一般常用逻辑运算指令、比较指令等操作来影响某些标志位。

程序可以有N多个分支,最少是两个分支。

SY9.ASM是一个较典型的分支程序,是根据用户在一个指定单元4000H中输入的内容的变化,实现程序的多分支转移。

(2).程序框图

43

(3).程序清单

CODE SEGMENT ;SY9.ASM 分支程序 ASSUME CS:CODE

ORG 2F40H ;[4000H]=0,1,2,3....9; DISP:0,1,2,3....0 START: JMP START0

ADDR DW DP0,DP1,DP2,DP3,DP4,DP5,DP6,DP7,DP8,DP9 START0: MOV SI,4000H MOV AL, [SI] SUB AH,AH SHL AL,1

MOV BX,OFFSET ADDR ADD BX,Ax JMP [BX]

DP0: MOV BL,0C0H ;DISP \ JMP DISP

DP1: MOV BL,0F9H ;DISP \ JMP DISP

DP2: MOV BL,0A4H ;DISP \ JMP DISP

DP3: MOV BL,0B0H ;DISP \ JMP DISP

DP4: MOV BL,99H ;DISP \ JMP DISP

DP5: MOV BL,92H ;DISP \ JMP DISP

DP6: MOV BL,82H ;DISP \ JMP DISP

DP7: MOV BL,0F8H ;DISP \ JMP DISP

DP8: MOV BL,80H ;DISP \ JMP DISP

DP9: MOV BL,90H ;DISP \ JMP DISP

;---------------------------------------- DISP: MOV AH,0DFH DISP0: MOV DX,0FF21H MOV AL,BL OUT DX,AL MOV DX,0FF20H MOV AL,AH OUT DX,AL CALL DLY

44

ROR AH,01H JMP DISP0 DLY: MOV CX,0001H DLY1: PUSH CX

MOV CX,0FFFFH DISP1: LOOP DISP1 POP CX OOP DLY1 RET CODE NDS

END START

2. 实验步骤: 联机模式:

(1) 在4000H单元写入00,01,??09中任一个数,按下MON键,返回P状态。 (2) 在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8086kAsm文件夹,点击Sy9.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

(3) 数码管应根据4000H单元中内容作不同的循环显示。

3. 程序设计练习

自行设计数据块传送程序 数据块传送程序是数据块间数据搬移程序,即把内存中一数据区(称为源数据块)传送到内存另一数据区(称为目的数据块)。源数据块和目的数据块在存贮中可能有三种情况,如下图所示。

45

对于两个数据块分离的情况,如图(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。

可以得出如下结论:当源数据块首址大于目的块首址时,从数据块首地址开始传送数据。当源数据块首址小于目的块首址时,从数据块末址开始传送数据。程序框图如下:

程序设计要求:

1. 源数据块内存首地址为4000H单元;目的数据块内存首地址为4100H单元,字节

长度为20H单元。 2. 按程序流程图要求设计出数据块传送程序并调试通过。

46

搬家字节数→ CX

源数据块首址→SI

目的区首址→DI

SI+(CX-1) → SI (SI) → (DI)

DI+(CX-1) → DI

DI+1 → DI SI+1 → SI (SI) → (DI)

SI-1 → SI CX-1 CX → DI-1→DI N CX-1→ CX (CX) =0?

Y N =0 ? ( CX ) Y

结 束

数据块传送程序流程图

N Y (SI)>(DI)

五 实验报告主要内容及要求

1.读懂实验源程序,分析程序中每条指令的功能﹑用途,理解该程序的设计思路和方法。

2. 按实验要求自行完成程序设计、调试及修改,使其成满足设计要求,并按步骤进行程序的装入、运行,并记录运行后的结果。

47

3. 认真记录整理和分析自己所设计的程序在运行中的各种信息。 六 注意事项

数据块传送程序调试通过后,将源数据块地址和目的数据块首址对调一下,并在源数据块中重新设置一组数据,运行程序考察程序能否满足下要求:当源数据块首址大于目的数据块首址时,从数据块首地址开始传送数据。当源数据块首址小于目的数据块首址时,从数据块末址开始传送数据。

48

附录一 DICE-598K元件排列图

49

本文来源:https://www.bwwdw.com/article/4rzo.html

Top