《星研软件使用说明》文档格式.docx
《《星研软件使用说明》文档格式.docx》由会员分享,可在线阅读,更多相关《《星研软件使用说明》文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
variablesinXDATA”,如果你希望了解C文件行与汇编代码的对应关系、函数中参数是如何传递的,请选择“CODE”,编译以后生成的列表文件(扩展名为.LST)中就会包含汇编代码。
如果你使用汇编语言,选择MOD51,Keil自动使用缺省的8051特殊功能寄存器定义;
如果不选择MOD51,在你的程序前边,加上:
$include(reg52.inc)
上一行必须顶格输入,reg52.inc是一个寄存器文件,你可以根据你选择的CPU,选择对应的寄存器文件(在KeilC51的ASM目录中)。
如果你使用RTX-51Real-TimeOS,请在KeilL51的Operating中选择RTX-51TinyReal-TimeOS。
“存贮器出借方式”。
存贮器出借方式分为程序空间出借方式、外部数据空间出借方式。
SUN系列仿真器内有128K仿真RAM,其中64K可以出借给你作为程序存贮器,存放机器码;
64K可出借给你作为数据存贮器,存放外部数据。
通常,你借用仿真RAM作为程序存贮器,便于调试程序;
外部数据空间在你的应用系统上,便于对你系统上的I/O、数据RAM操作;
如果你的线路板还未制成,你也可借用仿真RAM。
具体操作是:
选择“程序”或者“外部数据”然后点击“借用”即可,若不想借用可先选中,然后点击“删除选中范围”即可。
借用64K仿真RAM作为程序存贮器,64KCPU片外数据空间在实验仪上。
本实例采用默认的选项。
点击“完成”。
3、建立源文件
下面建立源文件,执行[主菜单»
文件»
新建],(或者点击图标
)打开窗口如下:
首先选择存放源文件的目录,输入文件名,注意:
一定要输入文件名后缀。
对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应地编译软件。
比如:
*.asm文件,就使用A51来对它编译。
本实例文件名为xunhuan.asm。
窗口如下:
按“确定”即可。
然后即出现文件编辑窗口:
输入源程序,本实例的源程序如下:
ORG
0000H
LJMP
START
0100H
START:
MOV
SP,#60H
A,#0FFH
CLR
C
START1:
RLC
A
P1,A
ACALL
Delay
SJMP
START1
Delay:
R5,#2
;
延时
Delay1:
R6,#0
Delay2:
R7,#0
DJNZ
R7,$
R6,Delay2
R5,X3
RET
输入源程序,如下图:
这样一个源文件就建立好了。
4、编译、连接文件
首先选择一个源文件,然后可以编译、连接文件了。
对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。
编译、连接文件的方法有如下二种:
(1)使用[主菜单»
项目»
编译、连接]或[主菜单»
重新编译、连接]”。
(2)点击图标
或
来“编译、连接”或“重新编译连接”。
“编译连接”与“重新编译、连接”区别:
“重新编译、连接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。
编译、连接过程中产生的信息显示在信息窗的“建立”视中。
编译没有错误的信息如下:
若有错误则出现如下信息框:
有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。
这时用户可以作相应的修改,直到编译、连接文件通过。
5、调试
在进入调试状态以前,请正确设置通信口:
执行[主菜单»
通信],对话框如下:
仿真器、实验仪配套的通信线可以与微机USB口相连,即为USB通信线,请选择USB。
仿真器配套的通信线可以与微机并口相连,即为并口通信线,如果并口地址是378H,请选择并口1;
并口地址是278H,请选择并口2;
并口地址是3BCH,请选择并口3。
仿真器配套的通信线可以与微机串口相连,即为串口通信线。
对于最下面一行的校验,通常你不必选中它,可以提高传送DOB/HEX文件时的速度。
在进入调试状态以前,你还必须确定仿真器、实验仪与微机的正确连接,如果使用仿真器,仿真头正确地连接在仿真器上。
电源接通,开关打开。
在软件中选择对应的仿真器、实验仪型号,具体设置如下:
执行[主菜单»
仿真器、实验仪],对话框如下:
根据你所使用的机型作相应选择。
如果编译、连接正确后,可以开始调试程序。
进入调试状态方法有:
a)执行[主菜单»
运行»
进入调试状态]
b)点击工具条的
c)执行[主菜单»
装载DOB、HEX、BIN文件]
进入后的窗口如下:
在整个图片中可以看到相对应的窗口信息。
在“工作区窗”的“CommonRegister”中可以了解通用寄存器的信息。
中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。
寄存器窗可以看到一些常用的寄存器的数值。
存贮窗1、存贮窗2显示相应的内部数据空间、外部数据空间的数据,还有变量窗,自动收集变量显示其中。
反汇编窗显示对程序反汇编的信息代码、机器码。
在信息窗的“装载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,结束地址。
这种船坞化的窗口比通常的窗口显示的内容更多,移动非常方便。
用鼠标左键点住窗口左边或上方的标题条,移动鼠标,将窗口移到你认为合适的位置;
将鼠标移到窗口的边上,鼠标的图标变成可变化窗口时的形状,用鼠标左键点住,移动鼠标,变化一个或一组窗口的大小。
在调试过程中,可以根据你的需要,在[主菜单»
查看]中打开:
寄存器窗、存贮器窗1、2、3、观察窗、变量窗、反汇编窗。
你也可以通过[主菜单»
设置»
格式],设置每一种窗口使用的字体、大小、颜色。
移动窗口到你喜欢的位置、大小。
首先在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择你喜欢的颜色。
对于高级语言,在你的程序前有一段库文件提供的初试化代码,
(当前可执行标志)不会出现在你的文件行上,如果你使用C语言,可将光标移到main函数上,按F4功能键,让CPU全速运行到main行上后停下;
如果你使用PL/M语言,按F7功能键,让CPU“单步进入”,运行到你的任何一个可执行后停下。
你可以使用以下命令调试你的程序:
设置或清除断点(功能键为F2)
在当前光标行上设置或清除一个断点
单步进入(功能键F7)
单步执行当前行或当前指令,可进入函数或子程序。
SUPERICE16、SUPERICE51“单步进入”时,不响应中断。
连续单步进入(功能键Ctrl+F7)
连续执行“单步进入”,用鼠标点击
或按任意键后,停止运行。
单步(功能键F8)
单步执行当前行或当前指令,将函数或子程序作为一条指令来执行。
如果当前行中含有函数、子程序或发生中断,CPU将执行完整个函数、子程序或中断,停止于当前行或当前指令的下一有代码的行上。
SUPERICE16、SUPERICE51“单步”时,不响应中断。
连续单步(功能键Ctrl+F8)
连续执行“单步”,用鼠标点击
运行到光标行(功能键F4)
从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击
,停止运行。
全速断点(功能键F9)
从当前地址开始全速运行用户程序,碰到断点或用鼠标点击
全速运行(功能键Ctrl+F10)
从当前地址开始全速运行用户程序,此时,按用户系统的复位键,CPU从头开始执行用户程序,即对于MCS51类CPU是从0开始执行;
对于MCS96、MCS196类CPU是从2080H开始执行。
用鼠标点击
停止运行
终止微机与仿真器之间通信(功能键ESC)。
注意:
欲终止微机与仿真器之间通信,功能键ESC是一个很方便的键,它的效果比点击相应的图标的效果要好。
建议用户多用ESC键。
在系统运行“连续单步”或者“连续单步进入”时ESC键被禁止,这时用户可以按键盘的其他任意键停止其运行。
6、调试的方法及技巧
一般来说,用户的程序或多或少的会有一些逻辑错误,的仿真器、实验仪和星研集成软件可以帮助用户很快的定位,很快的查出相应的错误。
一般刚刚写好的程序,在进入调试状态后,执行“单步”或者“单步进入”,推荐你能记住这些操作的相对应的功能键,这样你就在调试程序的过程中很方便。
在调试状态的窗口中可以看到很多的窗口,用户只要熟练地应用这些窗口来观察、分析数据就会很快的调试好程序,达到事半功倍的效果。
比如在刚才的调试程序中多次执行“单步(F8)”命令,在工作区窗口的CommonRegister视中查看通用的寄存器:
可以观察到在本程序中所使用的一些寄存器的变化,比如累加器A、P1口的数值的变化。
可以看到P1口中的数值变化为FEH(1111,1110B)—FDH(1111,1101B)—FBH(1111,1011B)—F7H(1111,0111B)—EFH(1110,
1111B)—DFH(1101,1111B)—BFH(1011,1111B)—7FH
(0111,1111B)—FEH(1111,1110B)很好地实现了P1口循环点亮发光二极管的功能。
对于其他的一些寄存器的数值的观察也可以用来分析自己的程序。
把光标移动到DELAY子程序(具体操作是:
用鼠标点击DELAY行,然后再点击图标
):
这时执行“连续单步(Ctrl+F7)”命令,在工作区窗口的CommonRegister视中可以寄存器R5,R6,R7的数据的连续的变化。
用户可对此做专门的分析。
使用本软件也可以方便地查出逻辑错误。
如果输入程序为:
SUNT
SUNT:
R4,#0FEH
LOOP:
P1,R4
A,R4
RR
R4,A
LCALL
DELAY
LJMPSUNT
DELAY:
R0,#02H
延迟子程序
X3:
R1,#0FFH
X2:
R2,#0FFH
X1:
R2,X1
R1,X2
R0,X3
END
在调试时,观察工作区窗口的CommonRegister视,就会看到尽管有A,R4的数值在变化,但是P1的数值始终没有变化。
这样在调试时就会发现问题LJMPSUNT应改为LJMPLOOP。
也可以在软件中查看变量,查看变量有多种方法,a)鼠标移到文件窗、反汇编窗口中的变量、寄存器、内部RAM、外部RAM上,半秒钟后,在它们的旁边,会显示相应的值。
b)在变量窗中,“全局”显示所有的全局变量;
“模块”显示所有模块级变量;
“局部”显示所有当前函数中的变量;
“自动”自动收集当前可执行及前二行中的所有变量、寄存器、内部RAM、外部RAM。
二、对CPU内部RAM与外部RAM读写的程序
你在调试程序时,对内部RAM、外部RAM以及程序空间的数据都十分关心,总是想能很方便的观察、修改和分析。
星研集成软件充分体现了为用户着想的理念。
在调试窗口中设置了3个存贮器窗口,每个窗口又设置了4个分页项,总计多达12个页面供用户查看选用。
下面通过一个小的程序段,对使用存贮器窗口观察片内数据和片外数据以及程序空间的功能作一个介绍。
本程序是实现将CPU内部RAM的30H到3FH单元中数据传送给从外部数据RAM的1000H到100FH单元中;
再将它们作比较,如果不相同,说明程序有问题或实验仪B4区上的61C256有问题。
本例子使用项目文件来管理,旨在通过建立一个具体的项目来介绍星研集成软件的使用方法。
如果你的系统有几个文件组成,就必须使用项目文件。
1、建立项目文件
由于星研集成软件是以项目为单位来管理程序的。
所以在建立文件之前先要建立项目文件。
点击“创建项目文件”分页项,如图示:
可以输入项目文件名,以及选择目录,星研集成软件在你输入一个项目文件名时,就建立了以项目文件名为名的一个文件夹,以后你在编译、调试过程中生成的所有文件都在此文件夹里。
这体现了星研集成软件的人性化设计。
键入项目文件名“move”,如下:
然后按确定,进入“设置项目文件”部分。
2、设置项目文件
设置项目文件与设置缺省项目操作完全一样,请参阅上一节。
建立好项目文件的窗口如下图所示:
工作区窗的项目视中,包含“源文件”、“头文件”、“库文件”、“其它文件”,“其它文件”中通常包含对该项目用途作一些说明的文件。
“库文件”通常包含编译软件自带的OBJ文件、LIB等库文件。
选定刚才建立的项目文件的文件夹,输入文件名,注意:
系统会根据不同的后缀名给文件归类。
*.asm文件系统会自动归类为源文件。
选中“添加到项目文件中”,系统自动将该模块文件加入到项目中。
本实例文件名为move.asm。
程序清单请参阅软件实验一。
建立好文件的窗口如下:
若在新建文件时不输入文件后缀,则其文件不会保存在源文件那一项,而是保存在其他文件的文件夹中。
一般建立对项目说明的文件即可用此方法。
如图建立一个本程序的说明文档“shuoming”
然后编辑文档,如下图:
然后保存,就可以了。
在建立好项目文件、源文件后,就可以编译、连接文件了。
对工作区窗项目视的“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB、HEX文件)。
编译、连接文件的方法有如下三种:
(1)在工作区窗的项目视中按鼠标右键,系统弹出快捷菜单,选择“编译、连接”或“重新编译连接”。
(2)使用[主菜单»
(3)点击图标
“重新编译、连接”不管项目中有无添加、删除模块文件、编译软件是否变化、编译控制项有无修改、模块文件有无修改,对“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB、HEX文件)。
详细请参阅上一节。
5、调试项目文件
然后进入调试界面,调整存贮器窗口的大小,也可以打开多个存贮器窗口,具体操作是:
[主菜单»
查看]
然后根据你的需要打开不同的窗口。
调整后的调试界面为:
由于本次操作主要是观察存贮器窗口,所以拉大了这两个存贮器窗口的大小。
每个窗口设置了4个分页项:
,可以在不同的分页项设置不同的观察数据空间以及地址范围。
在
中可以选择程序空间、片内数据、片外数据,根据需要可以做不同的观察空间的选择。
中可以直接输入地址,然后按回车,就可以直接转到输入的地址的窗口上面观察数据。
由于在此程序中写入数据的RAM空间分别为片内数据RAM、外部数据RAM1000H,故建立的分页项如下:
存贮0分页项:
存贮1分页项:
存贮2分页项:
这样设置界面的目的就是当用户要观察不同地址段的数据时,只要切换一下分页项就行了。
若用户想要同时观察不同地址的数据,的软件也可以。
如图:
软件中总共存在3个存贮器窗。
可以同时观察三个不同的地址。
存贮器窗口支持数据的直接修改功能。
本软件的所有窗口中的数据都支持直接修改功能。
用户可以根据自己的需要在窗口中直接修改数据。
执行程序前,将片内的RAM30H~3FH中的数据改为11、22、33、44、55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,在相对应的地址中直接输入数据即可。
选择执行“连续单步”可以看到存贮器窗口中的相对应的RAM的数据的变化。
其中右边为相应数据的ASCII码。
切换分页项可以观察到其它地址的数据。
当然打开两个存贮器窗口可以同时观察相对应地址的数据:
这就极大的方便了用户的调试。
三、实验连线、演示实验、测试实验仪
1、演示实验
选择仿真器或仿真模块时,必须正确选择购买的实验仪,选择完毕后,会出现一个工具条:
首先选择哪一类实验,例如:
软件实验、基础硬件实验、综合实验;
然后选择实验,点击
显示该实验对应的连线说明:
点击
,星研软件自动将该实验的机器码装入实验仪,并全速运行该程序;
如果按照上述连线后,没有出现实验结果,可以怀疑与该实验相关的芯片出问题。
2、完整自检
SUN系列实验仪,如果配置了TestBoard测试模块,点击
,可以对整套实验仪进行检测,包括测试模块:
首先,请正确选择串口,星研软件通过串口,向实验仪发出各种测试命令;
然后,选择使用的液晶,12864J:
12864图形点阵液晶;
12864M:
带汉字库的12864图形点阵液晶;
12864C:
12864图形点阵液晶,通常同时配置触摸屏。
如果需要测试RS485,必须选择当前实验仪是主机还是从机;
如果还需测试模块,请正确选择模块。
如果只需测试实验仪的一部分,请自行选择。
点击“开始测试”,根据对话框的下半部分提示,完成对实验仪的完整测试。
(整个测试过程,只需连接扁线、一、二根连接线,非常适合新学期开始,对所有作一检测,了解实验仪的实际状况。
)
四、频率计(EMU598+)
如果你需要测试CPU的振荡频率、或电路中其它信号的频率,你可以选择频率计功能:
[主菜单»
分析手段»
频率计]。
它可以测试100M以内的信号。
将EMU598+仿真模块的FREQ与被测信号相连。
频率计、仿真部分可以并行运行。
五、模拟波形发生器(EMU598+)
EMU598+仿真模块可以提供2路模拟波形:
正弦波、方波、锯齿波、三角波或自定义波形。
你可以选择模拟波形发生器功能:
模拟波形发生器]。
EMU598+仿真模块的W1、W2对应于通道1、通道2。
任意波形:
首先创建一个BIN文件,包含100个字数据;
每个字数据包含12bit二进制数,即每个字数据的有效范围为0000H-0FFFH;
根据你希望产生的波形,换算出100个字数据。
模拟波形发生器、仿真部分可以并行运行。
六、TDS2、TDS2A(EMU598+)虚拟示波器
TDS2虚拟示波器模块的安装软件在“实验仪\TDS2”文件夹;
TDS2A虚拟示波器的安装软件在“实验仪\TDS2A(EMU598+)”文件夹,运行SETUP.EXE文件即可进入安装界面,你只需按程序提示一步一步进行安装即可。
点击“启动/暂停”按钮,可以启动或暂停虚拟示波器功能。
操作与一般示波器类似。