第一章软件安装操作系统的安装1.概述本章介绍如何安装 Dais-IDE。
事先请确认您的计算机已安装 Microsoft Windows 95/98 操作系统。
Dais-IDE 集成开发环境由4张或6或8张 1.44MB 软盘(注)组成。
安装前,请将其安全备份以防万一。
注:Dais-IDE 分为仿真专用版和仿真实验综合版两个版本,前者为 4 张软盘,适用于 Dais-52.196P/52.196/8052F 仿真器;后者为 6 张软盘,适用于Dais-80958B实验系统及52.196P/52.196/8052F仿真器。
两个版本的唯一不同之处是仿真实验综合版为 Dais-80958B 实验系统增加了 Intel 8088 的实验调试模块。
1.2 Windows 操作系统的使用Dais-IDE for Windows 是 32 位 Windows 应用程序,安装在 Windows 95/98 操作系统上使用。
如果您对使用 Windows的菜单、对话框、滚动条或编辑框有疑问,请参考 Microsoft Windows 操作系统的用户手册第二章使用入门2.1 概述本章介绍以下内容:·如何启动 Dais-IDE 集成开发环境。
·如何通过 Dais-IDE 让计算机与仿真器联机。
·如何使用 Dais-IDE 集成开发环境。
2.2 Dais-IDE的启动和s退出启动:一旦正确安装 Dais-IDE,您只需把鼠标指向“开始/程序/启东达爱思仿真开发系统”程序组,选择所要运行的软件便可启动程序。
退出:Dais-IDE 可以从“文件/退出”命令退出集成环境,或单击屏幕右上角的按钮,也可直接按 Alt+X 退出。
2.3 计算机与仿真器联机当启动调试软件或在使用软件过程中出现通讯错误:主要有以下几个原因:⑴仿真器与计算机没有连接;⑵仿真器的电源没有打开;⑶仿真器连接的实际串行口及软件设置不一致;⑷软件已被病毒感染。
对于⑴⑵⑷的错误,只要在硬件上检查一下,或用杀毒软件清除病毒即可。
对于第⑶种错误,请单击“No”进入主界面,再打开“设置/通讯端口选择”菜单,选择与硬件实际连接的端口后,单击“确定”按钮即可:步骤一:打开“设置/通讯端口选择”菜单步骤二:选择与仿真器实际连接的端口并确步骤三:经过以上设置后请执行“设置/重新连接”命令,大约在 4 秒后如果没有出现“仿真器没有连接”的对话框,同时软件没有停止响应,则表明通讯成功。
第三章基本调试技巧3.1 概述由于 Dais-IDE 的 MCS-51&196 仿真系统及 8088 实验系统软件界面与操作命令基本一致,本手册将以 MCS-51 为例对软件的操作方法进行说明,MCS-196 和8088 部分的不同之处将另加解释,请您在使用时注意。
3.2 仿真模式的选择在调试程序前您必须设置仿真模式,其中包括仿真CPU、RAM 与 ROM 的选择等。
具体操作是打开“设置/仿真模式”对话框,当完成仿真模式的设置后单击“确认”。
3.3 编译调试程序进行源程序调试,必须事先生成符号化的调试代码。
Dais-IDE 提供了这一步骤的集成开发环境(IDE:Integrated Devel-opment Environment)。
您只要通过选择菜单项便可轻松创建、打开、编辑、编译调试程序。
以下简要介绍如何使用 Dais-IDE 编译单个源文件和工程组,详细内容请参阅“第四章调试程序的编译”。
打开“文件”菜单的“新文件”或“打开文件”命令。
在输入或打开源文件后用“编译/编译、连接、装载”命令将源文件编译成调试代码并自动打开调试窗口进入源文件调试。
或者选择“工程”菜单的“新建”或“打开”命令。
在弹出的列表框中打开已建立的工程或输入新建工程文件名。
然后使用“工程/编辑”在工程编辑对话框中增加或删除工程文件列表中的文件。
当建立工程并已编写好程序后选择“编译/项目编译、连接、装载”命令将整个工程编译后自动装载。
3.4 装载代码执行“编译/装载”菜单命令或单击工具栏上的装载按钮,然后在弹出的文件列表对话框中用鼠标点击或直接键入目标代码文件名(扩展名为*.OMF、*.HEX、*.BIN、*.OBJ、*.O的文件),单击“打开”按钮,代码即装入到程序存储器内。
3.5 调试窗口的使用Dais-IDE 支持源程序调试。
在调试窗口中,您可查看源代码、反汇编代码、设置断点、开始或终止仿真以及对源程序进行单步操作及检查变量等。
执行“视图/调试”菜单命令即开启程序调试窗口。
详细内容参见第五章。
3.6 用户程序的运行3.6.1 断点/连续运行在程序调试窗口下选择“调试/连续运行”菜单命令或单击工具栏上的命令按钮便开始连续运行。
当程序遇到在所设置的断点即停下,当设置多个断点时再次执行此命令,程序会在下一个断点处停下。
当未设置断点时,程序以连续方式运行。
3.6.2 单步运行/自动单步逐步执行用户指令,当遇到有子程序调用的指令时,则跟踪进入该子程序运行。
“调试/自动单步”命令以连续单步方式运行程序。
3.6.3 宏单步运行/自动宏单步此命令与单步相仿。
不同的是当遇到有子程序调用的指令时,一步运行完整个过程。
“调试/自动宏单步”命令以连续宏单步方式运行程序。
3.7 查看存储器在仿真过程中需要查看或修改存储器值时,可以执行“视图/存储空间”菜单命令以打开存储器窗口。
Dais-IDE 允许同时打开 2 个存储器窗口,使您可方便地观察程序不同区域的存储器。
详细请参阅第九章所述内容。
3.8 查看寄存器需要查看和修改寄存器值时,可以执行“视图/寄存器”菜单命令以打开寄存器窗口。
另外,Dais-IDE 的寄存器窗口允许您自行增加寄存器窗口中未列出的寄存器,也可删除列在寄存器窗口的寄存器。
详细内容请参阅第八章。
3.9 查看变量在仿真调试过程中使用变量窗口便可以监控某些符号参数、变量等。
首先选择“视图/变量”菜单命令打开变量窗口,然后在变量窗口中单击右键打开快捷菜单,执行菜单中的“增加”命令,在增加变量对话框中填入所要查看的变量名并单击“OK”。
详细内容请参阅第十章。
第四章调试程序的编译4.1 概述本章向您介绍如何使用集成开发环境(IDE)对单个源程序及工程组进行编译、连接。
4.2 IDE的使用4.2.1 什么是 IDEIDE,是 Intergrated Development Environment(集成开发环境)的缩写。
使用 IDE,您可以轻松地创建工程,并可通过其良好的界面来编译或编辑工程,以生成下载至 Dais 仿真器中的调试程序文件。
4.2.2 源文件的建立和打开建立新文件执行“文件/新文件”菜单命令或单击工具栏按钮即出现一个源文件编辑窗口,您可以在编辑窗口中输入源程序代码,完成后用“文件/存储”命令将文件存到磁盘上。
如果源文件是新建立的,Dais-IDE 则会弹出文件列表框要求您输入要保存的文件名,再单击“保存”即可。
打开一个文件执行“文件/打开文件”菜单命令或单击工具栏按钮即出现打开文件列表框,您可用鼠标直接点击显示在列表框内的文件名或者,也可在输入框内直接输入,再单击“打开”按钮,屏幕即出现一个文件编辑窗口,显示您选取的文件内容。
编译单个源程序文件当您已经建立或打开了的一个源程序文件,您就可以使用“编译/文件编译、连接、装载”命令或单击工具栏按钮即可对当前源文件进行编译、连接,如果源文件存在错误,即弹出“编译连接产生错误”对话框,单击“OK”,编译错误信息便出现在“编译连接信息”窗口,双击错误信息行,光标便自动跳转到源文件编辑窗口的出错行,以便您进行修改。
如果源程序文件没有错误,即弹出“编译、连接成功”对话框。
4.2.3 创建和打开工程组创建新工程组选择“工程/新建”菜单命令可创建新的工程组。
然后,在弹出的对话框中输入工程名(缺省扩展名为 "*.prj"),为工程取名后单击“打开”便进入编辑工程对话框,您就可以用“增加”命令选取工程组所需的程序文件了。
打开工程组您也可以用“工程/打开”命令或单击工具栏按钮打开已建立的工程文件。
编译工程组工程组的编译与单个源文件的编译操作一致。
即打开“编译/项目编译、连接、装载”命令或单击工具栏按钮即可。
如果想要对工程组中的某个源程序文件进行编辑,请打开“工程/文件列表”,在“文件列表”框内选取一个源文件后单击“确认”,被选取的源文件即出现在编辑窗口。
4.4 设定编译选项选择“编译/编译选项”菜单命令,弹出编译选项对话框,在这里可设定编译连接器、库文件等编译选项。
4.4.1 MCS-51 软件编译选项◆ MCS-51 编译选项对话框汇编语言页·寄存器组选取源文件中说明的子程序使用的寄存器组种类。
·命令行其它参数未在本页中列出,但编译器支持其他参数。
参数间用空格分开。
注意:命令行参数请参阅 Franklin/Keil 编译器资料。
◆ MCS-51 编译选项对话框 C语言页·寄存器组选取源文件中说明的子程序使用的寄存器组种类。
·编译选项SMALL:数据和堆栈都在内部 RAM 中。
所有函数和过程变量及局部数据段被定义在 8051 系统内部数据存储器,因此以这种模式访问数据对象是非常有效的。
这种模式的缺点是地址空间有限。
COMPACT:堆栈在内部 RAM 中,数据在 0~FFh 的 256 字节 XRAM 中,用 MOVX @R0 访问。
所有函数和过程变量及局部数据段被定义在 8051 系统外部数据存储器中,这个存储器可达 256 字节(1页)。
这种模式使用访问外部数据存储器的简洁形式(@R0/R1)。
LARGE:堆栈在内部 RAM 中,数据在0~FFFFh 的64K XRAM 中,用 MOVX @DPTR 访问。
所有变量和局部变量数据段定义在 8051 系统的外部数据存储器中,可访问达64K 字节的地址空间。
因此,它需要通过数据指针(DPTR),这是一种效率不高的数据访问形式。
·优化设置OPTIMIZE指令设置优化级,在这种设置中,高一级的优化级包含前一级较低的优化级的设置。
OPTIMIZE (0)常数折叠:编译时只要有可能,编译器就执行包含常数的计算,包括执行地址计算。
简单访问化:对8051系统内部数据和地址进行访问优化。
跳转优化:编译器总是将跳转延迟至最终目标上,因此跳转到跳转的指令被消除。
OPTIMIZE (1)死码消除:无用的代码将被消除。
跳转否决:根据一个测试反馈,条件转移被仔细检查,以决定是否能够进行简化或消除。
OPTIMIZE (2)数据覆盖:适用于静态覆盖的数据和位段被鉴别并标记出来。
L51有这样一个功能,通过对全局数据流的分析,选择可静态覆盖的段。