单片机实验星研集成软件环境Word文档下载推荐.docx

上传人:b****5 文档编号:16342819 上传时间:2022-11-23 格式:DOCX 页数:33 大小:44.61KB
下载 相关 举报
单片机实验星研集成软件环境Word文档下载推荐.docx_第1页
第1页 / 共33页
单片机实验星研集成软件环境Word文档下载推荐.docx_第2页
第2页 / 共33页
单片机实验星研集成软件环境Word文档下载推荐.docx_第3页
第3页 / 共33页
单片机实验星研集成软件环境Word文档下载推荐.docx_第4页
第4页 / 共33页
单片机实验星研集成软件环境Word文档下载推荐.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

单片机实验星研集成软件环境Word文档下载推荐.docx

《单片机实验星研集成软件环境Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机实验星研集成软件环境Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。

单片机实验星研集成软件环境Word文档下载推荐.docx

具体操作是:

选择“程序”或者“外部数据”然后点击“借用”即可,若不想借用可先选中,然后点击“删除选中范围”即可。

借用64K仿真RAM作为程序存贮器,64KCPU片外数据空间在实验仪上。

本实例采用默认的选项。

点击“完成”。

2、建立源文件

下面我们建立源文件,执行[主菜单»

文件»

新建],(或者点击图标

)打开窗口如下:

首先选择存放源文件的目录,输入文件名,注意:

一定要输入文件名后缀。

对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。

比如:

*.asm文件,使用A51来对它编译。

本实例文件名为xunhuan.asm。

窗口如下:

按“确定”即可。

然后即出现文件编辑窗口:

实验步骤

1、连线说明:

A3区:

JP51

——

G6区:

JP65

2、编写程序或运行参考程序。

3、实验结果:

通过G6区的LED指示灯(8个指示灯轮流点亮),观察实验的输出结果是否正确。

输入源程序,本实例的源程序如下:

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

END

输入源程序,如下图:

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

3.编译、连接文件

首先选择一个源文件,然后可以编译、连接文件了。

对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。

编译、连接文件的方法有如下二种:

(1)使用[主菜单»

项目»

编译、连接]或[主菜单»

重新编译、连接]”。

(2)点击图标

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

“编译连接”与“重新编译、连接”区别:

“重新编译、连接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、HEX文件)。

编译、连接过程中产生的信息显示在信息窗的“建立”视中。

编译没有错误的信息如下:

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

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

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

4.调试

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

电源接通,开关打开。

在软件中选择对应的仿真器、实验仪型号,具体设置如下:

执行[主菜单»

仿真器、实验仪],对话框如下:

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

如果编译、连接正确后,可以开始调试程序。

进入调试状态方法有:

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键被禁止,这时用户可以按键盘的其他任意键停止其运行。

5.调试的方法及技巧

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

一般刚刚写好的程序,在进入调试状态后,执行“单步”或者“单步进入”,我们推荐您能记住这些操作的相对应的功能键,这样您就在调试程序的过程中很方便。

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

比如在刚才的调试程序中我们多次执行“单步(F8)”命令,在工作区窗口的CommonRegister视中查看通用的寄存器:

我们可以观察到在本程序中所使用的一些寄存器的变化,比如累加器A、P1口的数值的变化。

我们可以看到P1口中的数值变化为FEH(11111110B)—FDH(11111101B)—FBH(11111011B)—F7H(11110111B)—EFH(11101111B)—DFH(11011111B)—BFH(10111111B)—7FH(01111111B)

—FEH(11111110B)很好的实现了P1口循环点亮发光二极管的功能。

对于其他的一些寄存器的数值的观察我们也可以用来分析自己的程序。

把光标移动到DELAY子程序(具体操作是:

用鼠标点击DELAY行,然后再点击图标

):

这时执行“连续单步(Ctrl+F7)”命令,在工作区窗口的CommonRegister视中我们可以寄存器R5,R6,R7的数据的连续的变化。

用户可对此做专门的分析。

使用本软件也可以很好的查出逻辑错误。

如果我们输入程序为:

R4,#0FEH

LOOP:

P1,R4

A,R4

RR

R4,A

LCALL

DELAY

LJMPSTART

DELAY:

R0,#02H

延迟子程序

X3:

R1,#0FFH

X2:

R2,#0FFH

X1:

R2,X1

R1,X2

R0,X3

我们在调试时,观察工作区窗口的CommonRegister视,就会看到尽管有A,R4的数值在变化,但是P1的数值始终没有变化。

这样我们在调试时就会发现问题LJMPSTART应改为LJMPLOOP。

我们也可以在软件中查看变量,查看变量有多种方法,a)鼠标移到文件窗、反汇编窗口中的变量、寄存器、内部RAM、外部RAM上,半秒钟后,在它们的旁边,会显示相应的值。

b)在变量窗中,“全局”显示所有的全局变量;

“模块”显示所有模块级变量;

“局部”显示所有当前函数中的变量;

“自动”自动收集当前可执行及前二行中的所有变量、寄存器、内部RAM、外部RAM。

所以说星研集成软件为用户提供了许多实用和方便的观察、调试、分析的功能,其他的一些功能我们会在后续的实例中作更详细的介绍。

用户也可以依此类推,发掘出更多更好的为自己调试程序方便的功能。

2.1对CPU内部RAM、片外数据RAM读写的小程序

您在调试程序时,对内部RAM、外部RAM以及程序空间的数据都十分关心,总是想能很方便的观察、修改和分析。

星研集成软件充分体现了为用户着想的理念。

在调试窗口中设置了3个存贮器窗口,每个窗口又设置了4个分页项,总计多达12个页面供用户查看选用。

下面通过一个小的程序段,对使用存贮器窗口观察片内数据和片外数据以及程序空间的功能作一个介绍。

本程序是实现将CPU内部RAM的30H到3FH单元中数据传送给从外部数据RAM的1000H到100FH单元中;

再将它们作比较,如果不相同,说明程序有问题或实验仪B4区上的61C256有问题。

本例子使用项目文件来管理,旨在通过建立一个具体的项目来介绍星研集成软件的使用方法。

如果您的系统有几个文件组成,就必须使用项目文件。

1、建立项目文件

由于星研集成软件是以项目为单位来管理程序的。

所以我们在建立文件之前先要建立项目文件。

点击“创建项目文件”分页项,如图示:

我们可以输入项目文件名,以及选择目录,星研集成软件在您输入一个项目文件名时,就建立了以项目文件名为名的一个文件夹,以后您在编译、调试过程中生成的所有文件都在此文件夹里。

这体现了星研集成软件的人性化设计。

键入项目文件名“move”,如下:

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

2、设置项目文件

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

3、建立源文件

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

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

“库文件”通常包含编译软件自带的OBJ文件、LIB等库文件。

选定刚才建立的项目文件的文件夹,输入文件名,注意:

系统会根据不同的后缀名给文件归类。

*.asm文件系统会自动归类为源文件。

选中“添加到项目文件中”,系统自动将该模块文件加入到项目中。

本实例文件名为move.asm。

实验步骤

在内部RAM30H~3FH中输入数据;

使用单步、断点方式调试程序,检测外部数据RAM的1000H~100FH中的内容。

熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。

程序清单

将内部RAMAddress1开始的16个字节送到外部RAM从Address2开始的单元里,再作比较。

Address1

DATA

30H

Address2

XDATA

1000H

STAR

STAR:

R0,#Address1

DPTR,#Address2

R7,#10H

STAR1:

A,@R0

传送

MOVX

@DPTR,A

INC

R0

DPTR

R7,STAR1

STAR2:

B,@R0

比较

A,@DPTR

CJNE

A,B,STAR3

R7,STAR2

$

传送正确

STAR3:

传送错误

建立好文件的窗口如下:

附:

若在新建文件时不输入文件后缀,则其文件不会保存在源文件那一项,而是保存在其他文件的文件夹中。

一般我们建立对项目说明的文件即可用此方法。

如图建立一个本程序的说明文档“shuoming”

然后编辑文档,如下图:

然后保存,就可以了。

4、编译、连接文件

在建立好项目文件、源文件后,就可以编译、连接文件了。

对工作区窗项目视的“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(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码。

切换分页项我们可以观察到其它地址的数据。

当然我们打开两个存贮器窗口可以同时观察相对应地址的数据:

这就极大的方便了用户的调试。

实验二散转

一、实验目的

熟悉使用MCS51指令,掌握汇编语言的设计和调试方法;

理解并能运用散转指令。

二、实验内容

编写程序,根据接收到的键值,作不同的处理。

三、程序框图

四、实验步骤

1、连线说明:

E5区:

CLK

B2区:

2M

CS

CS5

A0

A、B、C、D

G5区:

2、在G5区的键盘上输入1位数

3、使用各种手段调试程序

3、结果显示在G5区的数码管上

五、程序清单

调用GetKey返回键值,根据键值执行相应的程序

0号键显示3;

1号键显示2,......,3号键显示0

EXTRN

CODE(GetKeyB,Display8)

buffer

30H

内部RAM30H-37H为缓冲区

A,#1

按一下键,就返回

R0,#buffer

键值存放在内部RAM30H

GetKeyB

A,#4,$+3

JC

STAR2

CLR

大于3,作0处理

RL

DPTR,#Tab_1

JMP

@A+DPTR

Tab_1:

Key0

Key1

Key2

Key3

Key0:

A,#3

Key

Key1:

A,#2

Key

Key2:

MOV

Key3:

A,#0

Key:

R7,#8

R0,#buffer

Key_1:

@R0,A

INC

R7,Key_1

Display8

R5,#4

R5,Delay1

STAR1

END

六、思考题

程序中为什么要把输入的值作乘以2处理?

实验三冒泡排序

熟悉使用MCS51指令,掌握汇编语言的设计和调试方法,了解如何使用高效方法对数据排序。

编写并调试一个排序程序,要求使用冒泡法将一组数据从小到大重新排列。

使用断点方式调试程序,检查内部RAM30H~3FH中数据是否按从小到大的顺序排列。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1