简单易学,使用uVision Keil建立一个汇编工程

简单易学,使用uVision Keil建立一个汇编工程
2018年02月23日 03:15 你怎知我情深寸欢

综合网络,如有侵权联系删除。如果您觉得对你有帮助的话,记得关注我们,我们会出更好的内容。

一、μVision Keil集成开发环境

μVision4 IDE(Integrated Development Enviroment:集成开发环境)是Keil software公司继uVision3后的产品,它集项目管理、编译工具、源代码编写工具、代码调试以及完全仿真于一体,是目前市面上最流行的单片机开发软件平台。该软件具有类似VC风格的界面,提供了丰富的工具、命令和窗口,可以使开发者在程序调试过程中随时掌握代码所实现的功能。

项目工程的建立

在桌面上双击Keil μVision4图标,启动集成开发环境如图所示,该界面中最上面一行是菜单,菜单下面是各种工具按钮,左边的project workspace窗口为项目管理窗口(Project Window),最下面的为输出窗口(Output Window),中间部分为工作去,通常我们所编的源程序、调试程序代码窗口会出现在这里。

μVision4开发环境主界面

点击Project菜单下的NewμVision Project…命令,在出现的对话框中输入项目名TestProject,选择合适的文件夹下建立新的工程项目TestProject.uvproj,点击确定按钮出现如下图所示的Select Device For Target‘Target1’对话框,在Date base下选择Atmel,点开“+”号,选择AT89C51器件,点击确定按钮。

选择单片机类型

2.源程序文件的建立

使用菜单File->New命令,弹出源程序编辑窗口,输入以下程序:

ORG 0030H

MOV R0,#30

MOV R1,#40H

CLEAR: CLR A

MOV @R1,A

INC R1

DJNZ R0,CLEAR

SJMP $

END

点击File->Save as命令,保存文件名为CLR_RAM.ASM。

向工程中添加文件

3.将文件加入到工程项目中

按图所示点击Add File to Group ‘Source Group1’命令,然后选中CLR_RAM.ASM文件,点击Add按钮,将刚才编写的源程序CLR_RAM.ASM加入项目中。如图所示:

选择文件路径

注意:添加完文件后,该对话框并不消失,等待继续加入其它文件,初学者常误认为添加文件不成功,其实已添加成功,只需点击Close按钮关闭对话框即可。

4.工程的详细设置

工程建立好后,要对工程进行进一步的设置,以满足后续工作的要求。

首先点击左边的Project窗口的Target1,然后使用菜单的菜单“Project->Option for target ‘target1’”出现对工程设置的对话框,其中有8个页面,这里绝大部分设置取默认值就可以了。Target页面如图所示:

目标文件编译选项

Xtal后面的数值为晶振频率值,默认值为所选CPU的最高工作频率,对AT89C51而言为24MHz,我们常选12MHz值,该值与最后产生的目标代码无关,仅用于软件仿真显示程序执行时间,一般于你的硬件所用频率设为同一值我们将它设为12MHz。

Memory Model用于设置RAM的使用情况,设置为small,Code Rom Size用于设置ROM的空间,设置为Large:64k,Operation用于选择操作系统,一般不用操作系统,选择None,Use on-chip ROM用于是否进使用片内的ROM,在此设置如图1.5所示。Off Chip Code memory用以确定系统扩展ROM的地址范围,Off Chip xData memory组用于确定系统扩展RAM的地址范围,这些需根据硬件来决定。

设置对话框中的OutPut页面,如图所示,这里也有多个选项,其中Creat Hex file用于声称可执行代码文件(可用编程器械如单片机芯片中执行的HEX格式文件)默认情况下该项未被选中,如果要写片做硬件试验,就必须选中该项,这一点要特别注意。Select Folder for opjects是用于选择最终生成目标文件所在的文件夹,默认是与工程文件在同一个文件夹中,Name of Executable用于指定最终生成的目标文件的名字,默认与工程的名字相同。

输出文件设置

Debug页面的设置,如果要进行仿真的,选中Use Simulator,就可以进行软件仿真。

其它所有页面设置为默认选择即可,设置完后,按确认键返回主界面,工程文件建立设置完毕。

5.编译、链接

设置好工程后,即可以进行编译、连接。选择菜单Project->Build target,对当前工程进行连接,如果当前文加以修改,会现对该文件按进行编译,然后再连接以产生目标代码,如果选择Rebuild All target files将会对当前工程中的所有文件重新编译后再连接确保最终生成的目标代码是最新的。

编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会报告错误,双击该行,可以自动定位到出错的位置。如果没有出错,最终会得到如图所的结果,提示已生成.hex的文件。

正确编译、连接后的结果

二、Keil uVision4仿真调试、在线汇编与断点设置

前文介绍了如何在建立工程文件、源程序以及编译生成目标代码,这仅仅是语法上没有错误,如果你的程序在逻辑上出现错误就必须通过调试来解决,实际上绝大部分的程序都必须经过反复调试残能得到正确的结果,调试是软件开发中的一个重要环节。下面着重介绍常用的调试命令、利用在线汇编设置断电进行调试的方法。

1.常用调试命令、窗口介绍

Keil内建了一个仿真CPU用来模拟执行程序,可以在没有硬件和仿真机的情况下进行程序的调试。在对工程成功汇编、连接后,点击菜单Debug->Start/Stop Debug Session或者按Ctrl+F5或者点击工具按钮即可进入调试状态。调试状态和编辑状态相比有比较明显的变化,在Debug菜单中原来不能使用的命令现在都可以使用了,工具栏中多出了一个用于运行和调试的工具条。如图所示:

调试状态工具栏

该工具条从左到右依次为复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析等命令。

学习程序调试必须先了解全速运行和单步运行的概念,全速运行即一次运行完成,可以看见程序运行的整体效果,但如果出错则用这种方法很难查找到具体的出错位置,必须借助于单步运行工具,单步执行是每次执行一行即停止,可以看见当前程序运行的中间状态,两种方式都经常会用到。

按下F11键或使用菜单STEP或相应的命令按钮可以单步执行程序,使用STEP OVER或功能键F10可以进行过程单步执行,进入如图所示的界面,可以看见在源程序窗口的左边出现一个黄色的调试箭头,每执行单步一次,黄色箭头向下移一行。

单步调试

另外在调试的过程中可以随时监视到各寄存器的状态,可以查看存储器的值,还可通过设置变量在观察窗口中观看变量值的变化。

在调试状态下,点击菜单Peripherals,可以打开弹片击中的资源,包括中断源、定时器计数器、串口以及P0、P1、P2、P3口的窗口一边观察它们的值。如图所示。

仿真功能

综合网络,如有侵权联系删除。如果您觉得对你有帮助的话,记得关注我们,我们会出更好的内容。

0条评论|0人参与网友评论
最热评论

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部