当前位置:首页 > 工作总结 > 微机原理实验箱使用说明项目版 微机原理实验箱使用说明
 

微机原理实验箱使用说明项目版 微机原理实验箱使用说明

发布时间:2019-07-18 09:40:46 影响了:

目录

第一章 简介 .................................................................... 4

1.1 实验仪介绍 .............................................................. 4

1.2 实验仪配置方案 .......................................................... 4 1.3 功能特点 ................................................................ 4

1.3.1 软件 .............................................................. 4

1.3.2 硬件 .............................................................. 5

第二章 硬件结构 ................................................................ 7

2.1 电路外观 .............................................................. 7

2.2 A1区:12864液晶显示模块电路 .......................................... 8 2.3 A2区:16×16 LED实验电路 ............................................. 9 2.4 A3区:CPU 总线、片选区 ................................................ 9 2.5 A4区:控制区 .......................................................... 9 2.6 B1区:语音模块ISD1420电路 ........................................... 10 2.7 B2区:逻辑笔、单脉冲、频率发生器 ..................................... 10 2.8 B3区:8259电路 ...................................................... 11 2.9 B4区:8155、8255电路 ................................................ 11 2.10 B5、C6区:扩展区 .................................................... 12 2.11 C1区:电源区 ........................................................ 13 2.12 C2区:93C46 ......................................................... 13 2.13 C3区:138译码器 .................................................... 13 2.14 C4区:X5045 ......................................................... 13 2.15 C5区:8253、8251 .................................................... 14 2.16 D1区:蜂鸣器 ........................................................ 14 2.17 D2区:0~5V 电压输出 ................................................ 14 2.18 D3区:光敏电阻、压力测量 ............................................ 15 2.19 D4区:并串转换 ...................................................... 16 2.20 D5区:串并转换 ...................................................... 16 2.21 E1区:步进电机 ...................................................... 16 2.22 E2区:PWM 电压转换 .................................................. 16 2.23 E3区:继电器 ........................................................ 17 2.24 E4区:I 2C 总线(包括24C02A ,PCF8563P ,ZLG7290) ....................... 17 2.25 E5区:8279键盘/LED控制器 ........................................... 18 2.26 E6区:8250 .......................................................... 19 2.27 E7区:RS232 ......................................................... 19 2.28 E8区:RS485 ......................................................... 19 2.29 F1区:直流电机转速测量/控制 ......................................... 20 2.30 F2区:串行AD ....................................................... 20 2.31 F3区:DAC0832数模转换 .............................................. 21 2.32 G1区:温度测量/控制 ................................................. 21

1

2.33 G2区:红外通讯 ...................................................... 21 2.34 G3区:串行DA ....................................................... 22 2.35 G4区:ADC0809模数转换 .............................................. 22 2.36 G5区:键盘&LED ...................................................... 23 2.37 G6区:发光管、按键、开关 ............................................ 23 2.38 G7区:接触式IC 卡 ................................................... 24

第三章 星研集成环境软件 ....................................................... 25 3.1 软件安装 ............................................................. 25

3.1.1 安装星研集成环境软件 .......................................... 25 3.1.2 软件卸载 ...................................................... 25 3.1.3 USB驱动程序 ................................................... 25 3.1.4 软件启动 ...................................................... 26

3.1.5 编译器 ........................................................ 27 3.1.6 README文件 .................................................... 27 3.2 如何使用星研集成环境软件 ............................................. 28

3.2.1 数据传送程序(ASM ) ........................................... 28

3.2.2 数据传送程序(C ) ............................................. 42

2

3

1简介

1.1 实验仪介绍

STAR ES598PCI实验仪提供了几乎所有最实用、新颖的接口实验,提供详尽的C 、汇编例子程序、使用说明,不但可以满足各大专院校进行单片机、微机原理课程的开放式实验教学,也可以让参加电子竞赛的学生熟悉各种类型的接口芯片,做各种实时控制实验,轻松面对电子竞赛;也可以让刚参加工作的电子工程师迅速成为高手。

STAR ES598PCI 提供实验仪与微机同步演示功能,方便实验室老师的教学、演示。提供一个库文件,如果学生上机时间有限,只需编写最主要的程序,其它调用库文件即可。它布局合理,清晰明了;模块化设计,可以无限升级,让您的选择永不落伍;兼容性强,可以轻松升级,减少设备投资;使用方便,易于维护。

1.2 实验仪配置方案

STAR ES8688有二种配置方案:

1、实验仪主机、ES8688模块、仿真模块(不含逻辑分析功能仪、实时跟踪仪功能)。 2、实验仪主机、ES8688模块、仿真模块(带有逻辑分析功能仪、实时跟踪仪功能)。 逻辑分析功能:通过观察采样到的波形,可以让学生了解CPU 执行指令的完整过程,加深对教科书上波形图的认识。

实时跟踪仪: 记录程序运行轨迹。

1.3 功能特点 1.3.1 软件

1、提供我公司自主版权的星研集成环境软件,2004年它已被认定为上海市高新技术成果转化项目

◇ 集编辑器、项目管理、启动编译、连接、错误定位、下载、调试于一体,多种实验仪、仿真器、多类型CPU 仿真全部集成在一个环境下,操作方法完全一样。

◇ 完全VC++风格。支持C 、PL/M、宏汇编:同时支持Keil 公司C51、Franklin 公司C51、IAR/Archimedes公司的C51、Intel C96、Tasking 的C196、Borland 公司的TASM 、Turbo C 。

◇ 支持ASM (汇编)、C 、PLM 语言,多种语言多模块混合调试,文件长度无限制。 ◇ 支持BIN 、HEX 、OMF 、AUBROF 等文件格式。可以直接转载ABS 、OMF 文件。 ◇ 支持所有数据类型观察和修改。自动收集变量于变量窗(自动、局部、模块、全局)。 ◇ 无须点击的感应式鼠标提示功能。

◇ 功能强大的项目管理功能,含有调试该项目有关的仿真器、所有相关文件、编译软

4

件、编译连接控制项等所有的硬软件信息,下次打开该项目,无须设置,即可调试

◇ 支持USB 、并口、串口通信。 ◇ 提供模拟调试器。

◇ 符合编程语言语法的彩色文本显示, 所有窗口的字体、大小、颜色可以随意设置。 3、提供几十个实验的汇编、C 版本的源文件。提供一个库文件,如果学生上机时间有限,只需编写最主要的程序,其它调用库文件即可。

实验仪可提供以下软件实验:十进制数加法,十进制数减法,四字节二进制数转十进制数,数据传送,冒泡排序,二分查找法,散转等。

逻辑分析图

实时跟踪图

1.3.2 硬件

1、传统实验

74HC244 、74HC273扩展简单的I/O口;蜂鸣器驱动电路;74HC138译码;8250串行通讯实验;8251串行通讯实验;RS232和RS485接口电路;8155、8255扩展实验;8253定时、分频实验;128*64液晶点阵显示模块;16X16LED 点阵显示模块;键盘LED 控制器8279,并配置了8位LED 、4 * 4键盘;32K 数据RAM 读写,使用C 编制较大实验成为可能;并行AD 实验;并行DA 实验;光电耦合实验;直流电机控制;步进电机控制;继电器控制实验;逻辑笔;打印机实验;电子琴实验;74HC4040分频得到十多种频率;另外提供8个拨码盘、8个发光二极管、8个独立按键;单脉冲输出。

2、新颖实验

录音、放音模块实验;光敏电阻、压力传感器实验; 串行接口实验

5

1) 一线 DALLAS公司的DS18B20测温实验

2) 红外通信实验 3)CAN CAN2.0(扩展模块) 4)USB USB1.1、USB2.0(扩展模块)

5) 以太网 10M以太网模块(扩展模块) 6)蓝牙 (扩展模块) 3、闭环控制

1) 门禁系统实验 2)光敏电阻、压力传感器实验 3) 旋转图形展现实验

4) 直流电机转速测量,使用光电开关测量电机转速 5) 直流电机转速测量,使用霍尔器件测量电机转速

6) 直流电机转速控制,使用霍尔器件、光电开关精确控制电机转速 7) 数字式温度控制,通过该实验可较好认识控制在实际中的应用 4、实验扩展区,提供扩展实验接口,用户可自行设计实验

可以提供USB1.1、USB2.0、USB 主控、10M 以太网接口的TCP/IP实验模块、CAN 总线、NAND FLASH模块、FV_VF模块、触摸屏、非接触式IC 卡、双通道虚拟示波器、虚拟仪器、读写优盘、CPLD 、FPGA 模块。其它模块正在陆续推出中,例如:超声波测距、测速;GPS ;GPRS ;蓝牙。

5、EDA —— CPLD、FPGA 可编程逻辑实验

逻辑门电路:与门、或门、非门、异或门、锁存器、触发器、缓冲器等;半加器、全加器、比较器、二、十进制计数器、分频器、移位寄存器、译码器;常用的74 系列芯片、接口芯片实验;8段数码块显示实验;16x16 点阵式LED 显示实验;串行通信收发;I C 总线等

提供ABEL 、VHDL 语言编写的实验范例

6

2

2硬件结构

2.1 电路外观

7

本章将逐一介绍实验仪的各个功能模块、相应的结构,读者在编写程序前,首先熟悉相

8

JP51、JP55:MCS51的P1口;

JP59:高位地址线A8..A15;

JP61、JP64:MCS51的P3口,P3.7、P3.6作读、写信号线用;

JP66:相当于一个MCS51类CPU 座,使用40芯扁线与用户板相连,可仿真P0、P2口作地址/数据使用的MCS51类CPU 。

片选区

2.5 A4区:控制区

主控部分。

9

18

3星研集成环境软件

USB 接口的仿真器、实验仪客户:USB 设备是即插即用的设备,在第一次安装时,Windows 将调用“添加新设备向导”扫描所有可用的INF 文件,试图找到合适的驱动程序。为了避免USB 设备安装可能造成的麻烦,我们强烈的建议您先安装星研集成环境软件,安装程序将自动处理USB 设备安装所需的INF 文件和驱动程序。

3.1 软件安装

3.1.1 安装星研集成环境软件

一. 新用户安装步骤

使用光盘安装:

1.将仿真器、实验仪所配CD 插入CD-ROM 驱动器。 2.在“我的电脑”或“资源管理器”中选择CD-ROM 驱动器\ WIN32\星研,然后运行SETUP.EXE 文件即可进入安装界面。

3. 中文界面,用户只需按程序提示一步一步进行安装即可。 使用Internet 下载文件的用户 1.运行下载文件(XingY an.exe ),软件自动执行安装程序。

2.安装程序为中文显示,用户只需按程序提示一步一步进行安装即可。

二. 已安装过低版本星研集成环境软件的用户的安装步骤:

1.首先将原来的低版本软件进行卸载,具体步骤请参考“软件卸载”部分的内容。 2.以后按新用户的安装步骤进行安装。

在安装过程中,如果用户没有指定安装目录,安装完成后会在C:盘建立一个C:\XINGYAN

可执行文件、DLL 文件、寄存器文件

例子程序

目录(文件夹) ,结构如下: XingYan

EXAMPLES

3.1.2 软件卸载

1.进入控制面板,运行“添加/删除程序”。

2.进入“添加/删除程序”窗口,在“安装/卸载”页面上的列表中选择“星研集成环境软件”,按“删除”按钮,之后按自动卸载程序的说明一步一步地操作即可。

3.1.3 USB驱动程序

1、USB 驱动程序的安装

25

通过USB (通用串口总线)接口将微机与仿真器、实验仪相连,打开仿真器、实验仪电

源。仿真器、实验仪与微机的第一次连接引起驱动程序的安装会变得很简单,您只需等待安装过程的结束或按驱动程序的安装向导执行完即可。驱动程序的安装会出现如下界面:

实际的界面可能有些差别,请等待该过程的结束。驱动程序的安装过程中,请勿执行其

它应用程序。

2、 如何解决连接不上的情况

如果仿真器、实验仪与微机连接不上是由于未按正确步骤造成的,可根据以下步骤解决: Window98/Window Me:重新安装星研集成环境软件,关闭仿真器电源,稍等几秒钟,再打开电源,等待操作系统安装新的驱动程序结束后,运行星研软件即可。

Windows2000/WinXP:在仿真器电源打开的情况下,使用控制面板中的“设备管理器”,可以看到一个未安装好的USB 设备:

上图中的“通用串行总线控制器”下有一个打问号的USB 设备,选中后按鼠标右键,选择菜单中的“卸载”项。重新安装星研集成环境软件,关闭仿真器、实验仪电源,稍等几秒钟,再打开电源,等待操作系统安装新的驱动程序结束后,运行星研软件即可。

注意:必须先安装星研集成环境软件;在WinXP 中,驱动程序的安装会有选项,按缺省的

值选择即可。

3.1.4 软件启动

运行Windows ,进入桌面窗口。

26

鼠标单击“开始”按钮,在“程序”栏中打开“星研集成环境软件”菜单栏,在其中选择“星研(SUPER 、STAR 系列仿真器)”,开始启动星研集成环境软件。

注意:当您使用低配置机器时,从星研集成环境软件退出后必须等待足够的时间,让系统完全退出(硬盘停止工作)后,方可再次启动星研集成环境软件。

3.1.5 编译器

星研集成环境软件支持的编译器

设置工作环境

您的编译器正确安装后,请设置星研集成环境软件的编译器工作环境。 打开[主菜单 » 项目 » 设置工作环境]:

例如:您使用的编译器是TASM 、TC ,安装在C:\xingyan\TASM,C:\xingyan\TC,

TASM 宏汇编路径: C:\xingyan\TASM; Turbo C路径: C:\xingyan\TC;

3.1.6 README文件

使用通用的文本编辑器,打开星研集成环境软件安装目录下的README.DOC 文件,可获得此版本软件新增功能及最新的仿真器、实验仪安装、新增功能和使用信息,这些信息往往未及写入本手册。

27

3.2 如何使用星研集成环境软件

下边几节,介绍如何使用星研集成环境软件:3.2.1 使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256在I/O设备区,使用IOR 、IOW 读写;再将它传送回数据段的6000H~60FFH中。3.2.2 使用Turbo C,重新编写第一个实验。

3.2.1 数据传送程序(ASM )

星研集成环境软件推荐您使用项目为单位来管理您的程序。如果您做一个简单的实验,

或只希望看一个中间结果,您可以不建立项目文件,系统需要的各种设置,来源于“缺省项目”。本节不使用项目文件。

本例子旨在通过建立一个具体的程序来介绍星研集成软件的使用方法以及它的强大的调试功能。使用户很快的上手,体验到我们软件功能的强大和方便。

本实例是将数据段中3000H ~30FFH 单元的内容传送给实验仪B4区的61C256的2000H ~20FFH 中;B4区的61C256在I/O设备区,使用IOR 、IOW 读写;再将它传送回数据段的6000H ~60FFH 中,程序是用汇编语言来编写。下面介绍相应的操作步骤:

首先运行星研集成软件。启动画面如图:

28

1、设置缺省项目

执行 [主菜单 » 辅助 » 缺省项目],出现一个对话框:

选择“STAR ES8688仿真模块”。 点击进入下一步:“选择语言”

29

您可以根据自己的需要以及程序的类型作相应的选择,本实例选择Borland 公司的Turbo C (3.0)、TASM (5.0) (请确定在选择语言之前已经安装好相应的编译软件) 。然后再点击进入下一步:“编译、连接控制项”

实验仪提供64K memory

空间,memory model请选择tiny ,缩写为mt; 如果需要源程序级别调试,必须使用-v –y 控制项,为了支持多文件编译、连接,必须使用-c 控制项。

一般不必改变Turbo C 的编译控制项。

30

然后再点击进入下一步:“存贮器出借方式”

如果需要源程序级别调试,必须使用/zi /l控制项。

一般不必改变Tasm 的编译控制项。

如果需要源程序级别调试,必须使用/m /l /v控制项。

一般不必改变TLINK 的连接控制项。

31

仿真模块EMU598提供64K 仿真RAM ,作程序段(CS )、数据段(DS )、附加段(ES )、堆栈段(SS )使用。 2、建立源文件

下面我们建立源文件,执行 [主菜单 » 文件 » 新建],(或者点击图标下:

)打开窗口如

首先选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:*.asm文件,使用TASM 来对它编译。本实例文件名为move.asm 。窗口如下:

32

按“确定”即可。然后出现文件编辑窗口:

输入源程序,本实例的源程序如下: .MODEL TINY ;memory mode : tiny .STACK 100 ; 堆栈

.CODE

; 开始程序段 START: MOV AX,@DATA MOV DS,AX MOV ES,AX NOP

MOV CX,100H MOV SI,3000H

MOV DX,2000H START1: MOV AL,[SI] OUT DX,AL INC SI INC DX LOOP START1

MOV DI,6000H MOV DX,2000H

MOV CX,100H START2:

IN

DX,AL

33

Move

MOV INC INC LOOP SJMP

ENDP

[DI],AL DI DX

START2 $ START

END

输入源程序,如下图:

这样一个源文件就建立好了。

3. 编译、连接文件

首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB 、EXE 文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单 » 项目 » 编译、连接 ]或[主菜单 » 项目 » 重新编译、连接 ]”。(2)点击图标

或来“编译、连接”或“重新编译连接”。

“编译连接”与“重新编译、连接”区别:“重新编译、连接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB 、EXE 文件)。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下:

34

若有错误则出现如下信息框:

有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。

这时用户可以作相应的修改,直到编译、连接文件通过。

4.调试

在进入调试状态以前,请正确设置通信口:执行[ 主菜单 » 辅助 » 通信 ],对话框如下:

35

仿真器、实验仪配套的通信线可以与微机USB 口相连,即为USB 通信线,请选择USB 。 对于最下面一行的校验,通常您不必选中它,可以提高传送DOB 、HEX 、BIN 文件时的速度。

在进入调试状态以前,你还必须确定仿真器、实验仪与微机的正确连接,如果使用仿真器,仿真头正确地连接在仿真器上。电源接通,开关打开。

在软件中选择对应的仿真器、实验仪型号,具体设置如下:执行[ 主菜单 » 辅助 » 仿真器、实验仪 ],对话框如下:

根据你所使用的机型作相应选择。

如果编译、连接正确后,可以开始调试程序。进入调试状态方法有: a) 执行[ 主菜单 » 运行 » 进入调试状态]

b) 点击工具条的

c) 执行[ 主菜单 » 运行 » 装载DOB 、HEX 、BIN 文件] 进入后的窗口如下:

36

在整个图片中我们可以看到相对应的窗口信息。在“工作区窗”的“CommonRegister ”中我们可以了解通用寄存器的信息。中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。寄存器窗我们可以看到一些常用的寄存器的数值。存贮窗1、存贮窗2显示相应的程序段(CS )、数据段(DS )、IO 设备区的数据,还有变量窗,自动收集变量显示其中。反汇编窗显示对程序反汇编的信息代码、机器码、对应的源文件。在信息窗的“装载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,结束地址。这种船坞化的窗口比通常的窗口显示的内容更多,移动非常方便。用鼠标左键点住窗口左边或上方的标题条,移动鼠标,将窗口移到您认为合适的位置;将鼠标移到窗口的边上,鼠标的图标变成可变化窗口时的形状,用鼠标左键点住,移动鼠标,变化一个或一组窗口的大小。在调试过程中,可以根据您的需要,在[主菜单 » 查看]中打开:寄存器窗、存贮器窗1、2、3、观察窗、变量窗、反汇编窗。您也可以通过[主菜单 » 辅助 » 设置 » 格式],设置每一种窗口使用的字体、大小、颜色。移动窗口到您喜欢的位置、大小。

首先在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择您喜欢的颜色。

37

对于高级语言,在您的程序前有一段库文件提供的初始化代码,(当前可执行标志)不会出现在您的文件行上,如果您使用C 语言,可将光标移到main 函数上,按F4功能键,让CPU 全速运行到main 行上后停下;如果您使用PL/M语言,按F7功能键,让CPU “单步进入”,运行到您的任何一个可执行行后停下。

您可以使用以下命令调试您的程序:

设置或清除断点(功能键为F2) 在当前光标行上设置或清除一个断点

单步进入(功能键F7)

单步执行当前行或当前指令,可进入函数或子程序。

连续单步进入(功能键Ctrl + F7)

连续执行“单步进入”,用鼠标点击或按任意键后,停止运行。

单步(功能键 F8)

单步执行当前行或当前指令,将函数或子程序作为一条指令来执行。如果当前行中含有函数、子程序或发生中断,CPU 将执行完整个函数、子程序或中断,停止于当前行或当前指令的下一有代码的行上。

连续单步(功能键 Ctrl + F8) 连续执行“单步”,用鼠标点击或按任意键后,停止运行。

运行到光标行(功能键 F4)

从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击行。

,停止运

全速断点(功能键 F9)

从当前地址开始全速运行用户程序,碰到断点或用鼠标点击,停止运行。

全速运行(功能键Ctrl + F10)

从当前地址开始全速运行用户程序,此时,按用户系统的复位键,CPU 从头开始

执行用户程序,用鼠标点击任何断点。

,停止运行。全速运行时,屏蔽了所有断点,即不会响应

停止运行

终止微机与仿真器之间通信(功能键 ESC )。

注意:欲终止微机与仿真器之间通信,功能键ESC 是一个很方便的键,它的效果比点击相应的图标的效果要好。建议用户多用ESC 键。在系统运行“连续单步”或者“连续单步进入”时ESC 键被禁止,这时用户可以按键盘的其他任意键停止其运行。

5.调试的方法及技巧

一般来说,用户的程序或多或少的会有一些逻辑错误,我们的仿真器、实验仪和星研集成软件可以帮助用户很快的定位,很快的查出相应的错误。

在调试状态的窗口中我们可以看到很多的窗口,用户只要熟练地应用这些窗口来观察、分析数据就会很快的调试好程序,达到事半功倍的效果。

进入调试界面后,由于我们本次操作需要观察三个数据块:数据段3000H ~30FFH ,数据段6000H ~60FFH ,I/O区2000H ~20FFH ,可以打开二到三个存贮器窗口,具体操作是:[主菜单»查看]

38

然后根据你的需要打开不同的窗口。调整后的调试界面为:

由于我们本次操作主要是观察存贮器窗口,所以我们拉大了这两个存贮器窗口的大小。每个窗口设置了4

个分页项:的观察数据空间以及地址范围。在根据需要可以做不同的选择。在

,我们可以在不同的分页项设置不同

中可以选择CS :Memory ,DS :Memory ,I/O,

中可以直接输入地址,然后按回车,就

可以直接转到我们输入的地址的窗口上面观察数据。由于我们在此程序中的写入数据的RAM 空间分别为DS :3000H ~30FFH 、DS :6000H ~60FFH 、I/O区2000H ~20FFH ,故我们

39

建立的分页项如下: 存贮0分页项:

存贮1分页项:

存贮2分页项:

我们这样设置界面的目的就是当用户要观察不同地址段的数据时,只要切换一下分页项就行了。由于本次程序需要同时观察DS :3000~30FFH 、I/O:2000~20FFH 和I/O:2000H ~20FFH 、DS :6000H ~60FFH ,所以打开二个存贮器窗。如图:

40

软件中总共存在3个存贮器窗。可以同时观察三个不同的地址。

存贮器窗口支持数据的直接修改功能。本软件的所有窗口中的数据都支持直接修改功能。用户可以根据自己的需要在窗口中直接修改数据。比如:执行程序前,将DS :3000H ~300FH 中的数据改为11、22、33、44、55、66、77、88、99、AA 、BB 、CC 、DD 、EE 、FF 、00,在相对应的地址中直接输入数据即可。如图:

一般刚刚写好的程序,在进入调试状态后,执行“单步”或者“单步进入”,我们推荐您能记住这些操作的相对应的功能键,这样您就在调试程序的过程中很方便。 在刚才的调试程序中我们多次执行“单步(F8)”命令,在工作区窗口的CommonRegister 视中查看通用的寄存器:

我们可以观察到在本程序中所使用的一些寄存器的变化,比如AX 、CX 、DX 、SI 的数值的变化,每一次循环,CX 减一,DX 、SI 加一,AX 寄存器的低字节AL 暂存从DS :[SI]取出的数值:11、22、33、44、55、66„„。

41

我们可以看到存贮器窗口中的相对应的RAM 的数据的变化。比如

其中右边为相应数据的ASCII 码。切换分页项我们可以观察到其它地址的数据。

把光标移动到MOV DI,6000H 行上,点击图标(功能键 F4),全速运行到光标行,检查IO :2000H ~20FFH 内容,是否与DS :3000H ~30FFH 相同,如果完全一样,说明以上程序没有任何问题。

切换分页项,存贮器窗显示DS :6000H 开始的单元内容,将光标移到JMP $行的左

边,鼠标变为,点击鼠标,在该行上设置了一个断点,也可以用鼠标点击该行,将光标移到鼠标处,点击图标

(功能键为F2),设置断点,重复操作,清除断点。

点击图标(功能键 F9),CPU 全速断点运行到光标处停下,检查DS :6000H ~60FFH 内容,与I/O:2000H ~20FFH 内容是否一样,相同表示程序没问题;如果不相同,将光标移到MOV DI,6000H 行上(具体操作是:用鼠标点击该行,然后再点击图标),使用单步进入命令F7或连续单步进入命令Ctrl + F7,检查结果,判断程序出错原因。

3.2.2 数据传送程序(C )

本例子使用项目文件来管理,旨在通过建立一个具体的项目来介绍星研集成软件的使用方法。如果您的系统有几个文件组成,就必须使用项目文件。

1、建立项目文件

执行 [主菜单 » 文件 » 新建],(或者点击图标

42

)打开窗口如下:

由于星研集成软件是以项目为单位来管理程序的。所以我们在建立文件之前先要建立项目文件。点击“创建项目文件”分页项,如图示:

我们可以输入项目文件名,以及选择目录,星研集成软件在您输入一个项目文件名时,就建立了以项目文件名为名的一个文件夹,以后您在编译、调试过程中生成的所有文件都在此文件夹里。这体现了星研集成软件的人性化设计。键入项目文件名“move ”,如下:

然后按确定,进入“设置项目文件”部分。

2、设置项目文件

设置项目文件与设置缺省项目操作完全一样,请参阅上一节。 3、建立源文件

建立好项目文件的窗口如下图所示:

43

工作区窗的项目视中,包含“源文件”、“头文件”、“库文件”、“其它文件”,“其它文件”中通常包含对该项目用途作一些说明的文件。“库文件”通常包含编译软件自带的OBJ 文件、LIB 等库文件。

下面我们建立源文件,执行 [主菜单 » 文件 » 新建],(或者点击图标下:

选定刚才建立的项目文件的文件夹,输入文件名,注意:一定要输入文件名后缀。系统会根据不同的后缀名给文件归类。比如:*.asm文件系统会自动归类为源文件。选中“添加到项目文件中”,系统自动将该模块文件加入到项目中。本实例文件名为move.c 。

按“确定”即可。然后即出现文件编辑窗口:

)打开窗口如

44

程序清单:

#include "conio.h" void main(void) {

unsigned char array1[0x100]; unsigned char array2[0x100]; int i;

for (i = 0; i

for (i = 0; i

array2[i] = inportb(i + 0x2000); while (1);

}

建立好文件的窗口如下:

附:

45

注意:若在新建文件时不输入文件后缀,则其文件不会保存在源文件那一项,而是保存在其他文件的文件夹中。一般我们建立对项目说明的文件即可用此方法。如图建立一个本程序的说明文档“shuoming ”

然后编辑文档,如下图:

然后保存,就可以了。

4、编译、连接文件

在建立好项目文件、源文件后,就可以编译、连接文件了。对工作区窗项目视的“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB 、EXE 文件)。编译、连接文件的方法有如下三种:(1)在工作区窗的项目视中按鼠标右键,系统弹出快捷菜单,选择“编译、连接”或“重新编译连接”。(2)使用[ 主菜

46

单 » 项目 » 编译、连接 ]或[主菜单 » 项目 » 重新编译、连接 ]”。(3)点击图标或来“编译、连接”或“重新编译连接”。

“编译连接”与“重新编译、连接”区别:“重新编译、连接”不管项目中有无添加、删除模块文件、编译软件是否变化、编译控制项有无修改、模块文件有无修改,对“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB 、EXE 文件)。编译、连接过程中产生的信息显示在信息窗的“建立”视中。

详细请参阅上一节。

5、调试项目文件

下面我们进入调试状态,调试C 语言程序时,我们观察的比较多的是寄存器窗、观察

窗和变量窗。所以我们把这些窗口放在前台,并调整至适当的大小。如图所示:

我们执行“单步”命令时就会在变量窗口中看到相应的变量的变化:

变量窗包含“自动”、“局部”、“模块”、“全局”四个标签视。

自动: 星研自动搜集当前行(PC 指针对应的文件行)及前二行上的变量。通常这三行有您最关心的变量,也是星研集成环境的一大特色。

局部: 模块: 全局:

显示当前函数或当前过程中的所有变量。 显示当前模块文件中所有模块级变量。 显示所有全局变量。

47

经常查看的变量分别放入观察窗的4个标签视中,您会感觉非常方便、快捷。在观察窗口中我们可以随意的添加我们想要观察的变量,具体方法是:(1)在文件窗中,用鼠标左键双击变量名,按住鼠标左键,将该变量名拖至观察窗中,释放鼠标左键,星研自动将该变量添至观察窗中。(推荐方法)(2)用鼠标左键双击观察窗中的虚线框,出现一个编辑框,在编辑框中输入一个变量名,输入回车即可。观察窗中的四个页面项的作用完全一样,当您要观察的变量很多时,用户可以在不同的页面项输入观察变量,这样观察时只要点击一下页面项就可以了。这也是星研软件的人性化设计的一个方面。比如;我们在观察窗中添加变量i,array1,array2观察,如图:

这也就方便了用户的调试和分析。

在第一个循环中,连续执行单步操作,我们可以看到i 的值在递增,0FFH ~00H 赋给array1[0]~array1[255];第二个循环中,连续执行单步操作,我们可以看到数组array1复制给I/O:2000H ~20FFH ;第三个循环中,连续执行单步操作,我们可以看到I/O:2000H ~20FFH 单元数据复制给数组array2;比较数组array1、array2中数据,判断程序是否正确。

当然这些窗口中的数值也支持直接修改功能,双击要修改的数值,出现一个编辑框,在编辑框中输入数据,输入回车即可。用户在调试很长的程序时,为了分段检测,若前段程序有问题,我们可以在下一段程序前用修改变量的方法先使程序满足所需要运行的条件,这样就方便了下一段程序的检测。

另外一种查看变量方法:鼠标移到文件窗、反汇编窗口中的变量、寄存器上,半秒钟后,在它们的旁边,会显示相应的值。

所以说星研集成软件为用户提供了许多实用和方便的观察、调试、分析的功能,其他的一些功能我们会在后续的实例中作更详细的介绍。用户也可以依此类推,发掘出更多更好的为自己调试程序方便的功能。

48

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3