仿真说明书.docx
- 文档编号:5679357
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:16
- 大小:217.65KB
仿真说明书.docx
《仿真说明书.docx》由会员分享,可在线阅读,更多相关《仿真说明书.docx(16页珍藏版)》请在冰豆网上搜索。
仿真说明书
仿真环境
一、仿真环境菜单说明
仿真界面如图1所示。
图1仿真界面图
1、文件(F)
文件|打开文件
打开用户程序,进行编辑。
如果文件已经在项目中,可以在项目窗口中双击相应文件名打开文件。
文件|保存文件
保存用户程序。
用户在修改程序后,如果进行编译,则在编译前,系统会自动将修改过的
文件存盘。
文件|新建文件
建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名。
文件|另存为
将用户程序存成另外一个文件,原来的文件内容不会改变。
文件|重新打开
在重新打开的下拉菜单中有最近打开过的文件及项目,选择相应的文件名或项目名就可以重新打开文件或项目。
文件|打开项目
打开一个用户项目,在项目中,用户可以设仿真类型。
加入用户程序,进行编译、调试。
系统中只允许打开一个项目,打开一个项目或新建一个项目时,前一项目将自动关闭。
伟福开发环境的项目文件包括仿真器设置,模块文件,包含文件。
仿真器设置包括仿真器类型,仿真头(POD)类型,CPU类型,显示格式和产生的目标文件类型,可以用以下几种方法设置仿真器。
✧在项目窗口中双击第一行,将打开仿真器设置窗口,对仿真器进行设置;
✧按鼠标右键,在弹出菜单中选择[仿真器设置];
✧主菜单仿真器|仿真器设置。
加入模块文件
✧按鼠标右键,在弹出菜单中选择[加入模块文件];
✧主菜单项目|加入模块文件。
加入包含文件
✧按鼠标右键,在弹出菜单中选择[加入包含文件];
✧主菜单项目|加入包含文件。
文件|保存项目
将用户项目存盘。
用户在编译项目时,自动存盘。
注意:
当用项目仿真时,系统要求项目文件,模块文件,包含文件在同一个目录(文件夹)下。
文件|新建项目
当用户开始新的任务时,应新建一个项目,在项目中,设置所用仿真器类型,POD类型,加入用户程序(模块)。
文件|关闭项目
关闭当前项目,如果用户不想用项目方式调试单个程序,就要先关闭当前项目。
文件|项目另存为
将项目换名存盘,此方法只是将项目用另一个名字,而不会将项目中的模块和包含文件换成另一个名字存盘.如果想将整个项目及模块存到另一个地方,请用复制项目方法。
文件|复制项目
复制项目,用户可以将项目中的所有模块(用户程序)备份到另一个地方。
在多模块项目中,用复制项目功能,可以避免用户因为少复制某些模块,而造成项目编译不能通过。
方便用户对程序进行管理。
从[项目]栏中为当前被复制项目,包括项目中各模块,包含文件,如果不是复制当前项目,可以通过[浏览]找到所要复制的项目,[到目标路径]中为项目复制到何处,可以通过其后的[浏览]指定将项目复制到其它地方。
文件|调入目标文件
装入用户已编译好目标文件。
系统支持两种目标文件格式:
BIN,HEX格式。
系统支持的文件格式有二种:
✧二进制(BIN):
由编译器生成的二进制文件,也就是程序的机器码;
✧英特尔格式(HEX):
由英特尔定义的一种格式,用ASCII码来存储编译器生成的二进制代码,这种格式包括地址,数据和校验。
地址选择一般为缺省地址(由编译器定)。
如果想在当前项目已编译好的二进制代码中插入一段其它代码,可以去掉“缺省地址”前的选择,然后填入开始插入的地址和结束地址。
用调入目标文件的方法,可以调试已有的二进制代码程序,而不需要源程序。
直接调入目标文件进行仿真的方法是:
✧关闭项目,在新建的项目中,设置仿真器类型,仿真头类型,CPU类型;
✧调入目标文件.(不要用加入模块方式,而是直接调入文件);
✧打开CPU窗口,在CPU窗口中就可以看见目标文件反汇编生成的程序;
✧程序停在与CPU相关的地址上(2080H),这样就可以单步或全速调试程序了。
文件|保存目标文件
将用户编译生成的目标文件存盘。
对于按项目方式仿真的用户,系统将程序编译正确后,会根据用户在仿真器|仿真器设置下[目标文件]中设置的格式,将生成的二进制代码存盘。
如果用户是用调入目标文件方式进行仿真,并且对目标码进行了修改.就可以用文件|保存目标文件方式存盘。
目标文件可以存成两种格式:
✧*二进制格式(BIN):
由编译器生成的二进制文件,也就是程序的机器码;
✧*英特尔格式(HEX):
由英特尔定义的一种格式,用ASCII码来存储编译器生成的二进制代码。
这种格式包括地址,数据和校验[地址选择]一般为[缺省地址(由编译器定)。
如果想要存盘的目标文件是由“调入目标文件”方式装入,而不是由系统编译产生的代码,并已经修改,最好指定它的开始地址和结束地址,因为代码不是编译系统产生的.系统不知道文件有多长,无法指定开始和结束地址。
自己指定地址的方法是:
去掉[缺省地址]前的选择勾。
然后填入开始插入的地址和结束地址。
文件|反汇编
将可执行的代码反汇编成汇编语言程序。
文件|打印
打印用户程序。
文件|退出
退出系统,如果在退出以前有修改过的文件没有存盘,系统将会提示是否把文件存盘。
、
2、编辑(E)
编辑|撤消键入
取消上一次操作。
编辑|重复键入
恢复被取消的操作。
编辑|剪切
删除选定的正文,删除的内容被送到剪贴板上。
编辑|复制
将选定的内容,复制到剪贴板上。
编辑|粘帖
将剪贴板的内容插入光标位置。
编辑|全选
选定当前窗口所有内容。
3、搜索(S)
搜索|查找
在当前窗口中查找符号,字串。
可以指定区分大小写方式,全字匹配方式,可以向上/向下查找。
搜索|在文件中查找
可以在指定的一批文件中查找某个关键字。
搜索|替换
在当前窗口查找相应文字,并替换成指定的文字,可以指定区分大小写方式和全字匹配方式查找,可以在指定处替换,也可以全部替换。
搜索|查找下一个
查找文字符号下一次出现的地方。
搜索|项目中查找
在项目所有模块(文件)中查找符号,字串。
在项目所包含的文比较多时,用此方法可以很方便地查到字串在什么地方出现。
搜索|转到指定行
将光标转到程序的某一行。
搜索|转到指定地址/标号
将光标转到指定地址或标号所在的位置。
搜索|转到当前PC所在行
将光标转到PC所在的程序位置。
4、项目(P)
项目|编译
编译当前窗口的程序。
如有错误,系统将会指出错误所在的位置。
项目|全部编译
全部编译项目中所有的模块(程序文件),包含文件。
如有错误系统会指出错误所在位置。
项目|装入OMF文件
建好项目后,无须编译,直接装入在其它环境中编译好的调试信息,在伟福环境中调试。
项目|加入模块文件
在当前项目中添加一个模块。
项目|加入包含文件
在当前项目中添加一个包含文件。
、
5、执行(R)
执行|全速执行
运行程序。
执行|跟踪
跟踪程序执行的每步,观察程序运行状态。
执行|单步
单步执行程序,与跟踪不同的是,跟踪可以跟踪到函数或过程的内部,而单步执行则不跟踪到程序内部。
执行|执行到光标处
程序从当前PC位置,全速执行到光标所在的行。
执行|暂停
暂停正在全速执行的程序。
执行|复位
终止调试过程,程序将被复位。
如果程序正在全速执行,则应先停止。
执行|设置PC
将程序指针PC,设置到光标所在行。
程序将从光标所在行开始执行。
执行|自动单步跟踪/单步
模仿用户连续按F7或F8单步执行程序。
执行|添加观察项
观察变量或表达式的值,可以将需要检查和修改的值或表达式放到观察窗口里以便检查
和修改。
如图2所示。
图2
[表达式]:
用于输入用户所要求值的表达式。
[重复次数]:
如表达式为一存储变量,重复次数表示以此变量开始的连续N个地址的值。
[显示格式]:
指定用何种方式显示表达式的值。
[存贮区域]:
指明变量所在的区域。
[显示类型]:
指定表达式为何种类型的变量。
[缺省方式显示]:
按照高级语言定义的方式显示。
[存贮器内容]:
以内存方式显示观察内容,即按地址顺序显示变量值,与变量类型无关。
[求值]:
对表达式求值,并按显示格式显示在窗口内。
[加入观察]:
将表达式加入观察窗口中,以便随时察看。
[编辑观察]:
当修改过窗口内容后,按此键后,替代观察窗口中的原观察项,如果选择[加入观察],则会在观察窗口中另加一个变量的观察项,以两种格式观察一个变量。
[取消]:
关闭编辑观察项窗口。
执行|设置/取消断点
将光标所在行设为断点,如果该行原来已为断点,则取消该断点。
所有断点通过断点窗口进行管理。
四种方法可以在光标处设置断点。
✧将光标移到编辑窗口内,行左边的空白处,光标变成“手指圆”箭头,单击鼠标左键,可以设置/取消断点;
✧使用Ctrl-F8快捷键,可以在光标所在行设置/取消断点;
✧右击鼠标,弹出菜单,选择设置/取消断点;
✧主菜单执行/设置取消断点,也可以用Alt-R/B菜单快捷设置取消断点。
执行|清除全部断点
清除程序中所有的断点。
让程序全速执行。
6、窗口(W)
窗口|刷新
刷新打开的所有窗口,及窗口里的数据。
窗口|项目窗口打开项目窗口,以便在项目中加入模块或包含文件。
窗口|信息窗口
显示系统编译输出的信息。
如果程序有错,会以图标形式指出。
如图3所示。
图3
在编译信息行会有相关的生成文件,双击鼠标左键,或击右键在弹出菜单中选择”打开”功能,可以打开相关文件.(如果有编译错误,双击左键,可以在源程序中指出错误所在行,有时前一行或后一行程序有错,会造成当前行编译不通过.而将错误定位在本行,所以如果发现了错误,但在本行没有发现错误,可以查查本行上下的程序)。
窗口|观察窗口
项目编译正确后,可以在观察窗口中看到当前项目中的所有模块,及各模块中的所在过程和函数,及各个过程函数中的各个变量,结构。
如果能充分利用观察窗口的强大功能,可以加快你开发速度。
观察窗口也可以用观察数据时效分析,程序时效分析,代码覆盖以及影子存储器等分析功能的结果。
窗口|CPU窗口
通过CPU窗口,可以打开反汇编窗口,SFR窗口和REG窗口。
在反汇编窗口中可观察编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。
SFR窗口中可以观察到单片机使用的SFR(特殊功能寄存器)值和位变量的值。
REG窗口为片内RAM的值。
反汇编窗口内为程序地址,机器码,反汇编码。
在机器码窗口内也支持点屏功能,在反汇编码处,点击寄存器,可以看到寄存器的值。
反汇编窗口的弹出菜单执行到光标处:
使程序从当前PC值,全速执行到光标所在行,用这种方法可以在调试程序时,跳过一些不必要的指令.将程序停到所要求的位置上。
窗口|断点窗口
通过断点窗口可以管理项目内的断点。
可以在断点窗口中直观地看到断点的行号,内容,可以通过断点迅速定位程序所在的位置。
窗口|书签窗口
通过书签窗口可以管理项目内的书签,在项目中迅速定位程序位置。
窗口|跟踪窗口
显示跟踪器捕捉到的程序执行的轨迹,其中可以看到帧号,时标,反汇编程序,对应的
源程序和程序所在的文件名。
窗口|逻辑分析窗口
在这窗口中观察到逻辑分析仪所采集到的波形,可以设置不同的采样方式,以满足各种情况下的需要。
逻辑分析仪是数字设计中不可缺少的设备,通过它,可以清楚地看到程序执行时,各端口输出的波形,迅速地帮助你找出硬件和软件中设计错误。
窗口|工具条
通过工具条,可以打开/关闭菜单上的各功能的快捷按钮。
窗口|排列窗口
对打开的程序窗口进行管理。
可叠排、坚排、横排、最小化源程序窗口。
7、仿真器(O)
仿真器|仿真器设置
单片机仿真器设置如下图所示,图中以8031为例。
图48031仿真器设置
单击仿真器设置中的仿真头设置,转到如图5所示的画面,对仿真头进行设置。
图5仿真头设置
程序地址前面的勾表示相应地址段的程序在仿真器内,正常调试时,应该所有地址都设在仿真器内.但I/O地址空间和RAM空间必须设置在用户板上。
如果用户程序已经调试正确,并且已经烧到EPROM中插到用户板上,根据程序地址和大小将相应地址前的选择勾去掉,用户就可以执行用户板上EPROM中程序了。
当用户使用INST控制功能时,如果相应地址被选中,这段地址在仿真内部,INST不参加地址译码,如果地址没有被选中,程序在仿真器内部,数据在用户板上。
[掉电使能]:
为0时可防止CPU意外地进入掉电(睡眠)方式;
[总线宽度控制]:
选择总线宽度控制方式;
[地址有效选择]:
选择地址有效方式;
[(WDTE)看门狗使能]:
决定程序工作时看门狗是否工作;
[写控制]:
选择写控制方式;
[等待控制]:
选择芯片等待外部存贮器就绪的时间。
仿真器|语言设置
设置项目编译语言的路径,命令行选项。
[编译器路径]:
指明本系统汇编器,编译器所在位置,系统缺省51系列编译器在C:
\COMP51\文件夹下,缺省96系列编译器在C:
\COMP96\文件夹下.本系统使用的编译器为第三方软件,你应从其它途径获得。
[ASM命令行]:
若使用英特尔汇编器,则需要加上所需的命令行参数。
若使用伟福汇编器,则需要选择是否使用伟福预定义的符号.在伟福汇编器中已经把51/96使用的一些常用符号,寄存器名定义为相应的值。
如果你使用伟福汇编器,就可以直接使用这些符号.如果你自己已经定义了这些符号,又想使用伟福汇编器,就将“使用伟福预定义符号”前面的选择去掉。
[C命令行]:
项目中若有C语言程序,系统进行编译时,使用此行参数对C程序进行编译。
[PL/M命令行]:
项目中若有PL/M语言程序,系统编译时,就使用此行参数对程序进行编译。
[LINK命令行]:
系统对目标文件链接时,使用此参数链接。
注意:
除非你对命令行参数非常了解,并且确实需要修改这些参数,一般情况下,不需要修改系统给出的缺省参数.以免系统不能正常编译。
[编译器选择]:
选择使用伟福汇编器,还是英特尔汇编器,系统对C语言程序和PL/M语言编译是采用第三方编译器.一般情况下,如果用户项目中都是汇编语言程序,没有C语言和PL/M语言,选择伟福汇编器.如果用户项目中含有C语言,PL/M语言,或者汇编语言是用英特尔格式编写的,就选择英特尔汇编器。
[缺省显示格式]:
指定观察变量显示的方式,一般为混合十/十六进制。
仿真器|目标文件设置
设置生成的目标文件的地址,及生成目标文件的格式。
一般情况下,地址选择为缺省方式.即由编译确定.如果你想重新定位你的程序就要指定地址,方法是:
去掉[缺省地址]前面的选择.在开始地址,结束地址处填入相应的地址.编译可以生成BIN(二进制)格式和HEX(英特尔)格式的目标文件,可以根据你的需要,选择相应的格式。
仿真器|通信设置
仿真器与计算机通信设置。
包括通信端口选择,速率选择,字间距选择,以及串口的测试功能。
如果选择了“使用伟福软件仿真”,则不需要设置通信端口。
[端口选择]:
选择仿真器与计算机连接的串口号。
如果计算机与仿真器连接不上,请检查通信端口是否选择正确。
[波特率选择]:
选择仿真器与计算机连接的速度。
如果在高速率时通信不流畅,请降低通信速率。
[字符间隔]:
选择通信时,字符与字符之间的间隙,如果在小间隔时,通信不是很流畅,请调到较大的间隔。
[使用伟福软件模拟器]:
如果选择此项,可以在完全脱离硬件仿真器情况下,对软件进行模拟执行.如果使用硬件仿真器调试程序,请去掉[使用伟福软件模拟器]前的选择勾。
[测试串行口]:
用来检测仿真器是否正确连接到计算机的串行口上。
快速入门
1.启动仿真环境wave6000
启动仿真环境wave6000,如图6所示。
图6仿真环境wave6000
2.建立新程序
选择菜单[文件|新建文件]功能,出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序。
ORG2080H
LDSP,#0100H
END
选择菜单[文件|保存文件]或[文件|另存为]功能给出文件所要保存的位置和文件名,如my1.asm。
注意:
一般不要保存在中文目录,保存的文件名也不要使用中文名称。
该程序是一个程序框架,保存该程序后,可以继续录入程序。
3.建立新的项目
选择菜单[文件|新建项目]功能,如图7所示。
图7新建项目
新建项目会自动分三步走。
①加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。
如果你是多模块项目,可以同时选择多个文件再打开。
②加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
如果没有包含文件,按取消键。
注意:
实验中我们这里选择取消,不加入包含文件。
③保存项目。
在保存项目对话框中输入项目名称。
MY1无须加后缀。
软件会自动将后缀设成“.PRJ”。
按保存键将项目存在与你的源程序相同的文件夹下。
如图8所示。
图8保存项目
同样需要注意,项目名称和保存的目录要英文字符,不要使用中文。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM”,如果项目窗口没有打开,可以用鼠标双击“MY1.ASM”打开该文件。
4.设置项目
选择菜单[设置|仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机,如图9所示。
图9仿真器型号选择
鼠标单击图9中的仿真器设置,进入仿真器设置界面,根据需要进行选择。
在“语言”栏中,“编译器选择”根据本例的程序选择为“伟福汇编器”。
按“好”键确定。
当仿真器设置好后,可再次保存项目。
如图10所示。
图10仿真器语言设置
5.编译你的程序
选择菜单[项目|编译]功能或按编译快捷图标或F9键,编译你的项目。
在编译过程中,如果有错可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,就可调试程序了,首先我们来单步跟踪调试程序。
6.调试程序
选择[执行|跟踪]功能或按跟踪快捷图标或按F7键进行单步跟踪调试程序单步跟踪就一条指令一条指令地执行程序,若有子程序调用,也会跟踪到子程序中去。
你可以观察程序每步执行的结果,“=>”所指的就是下次将要执行的程序指令。
调试过程中要观测寄存器和程序PC指针,如图11所示。
图11调试观测
由于条件编译或高级语言优化的原因,不是所有的源程序都能产生机器指令。
源程序窗口最左边的“o”代表此行为有效程序,此行产生了可以指行的机器指令。
单步执行中如果程序中有延时或者前部分都对了,要看后面的部分,则可以采用“执行到光标处”功能。
程序全速执行到光标所在行。
如果程序太长,每次这样移来移去,是不是也太累?
那就设置断点吧,断点调试是中断程序唯一的调试方法。
将光标移到源程序窗口的左边灰色区,光标变成“手指圈”,单击左键设置断点,也可以用弹出菜单的“设置/取消断点”功能或用Ctrl+F8组合键设置断点。
如果断点有效图标为“红圆绿勾”,无效断点的图标为“红圆黄叉”。
断点设置好后,就可以用全速执行的功能,全速执行程序,当程序执行到断点时,会暂停下来,这时你可以观察程序中各变量的值,及各端口的状态,判断程序是否正确。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仿真 说明书