下面首先通过一个简单的实例,来介绍如何使用μVision3进行单片机汇编程序的开发。
首先,启动μVision3集成开发环境,开始创建项目,操作步骤如下:
(1)选择“Project”→“New”→“μVision Project”命令,弹出“Create New Project”对话框,如图4-2所示。选择需要保存的目录并输入项目的名称,例如Test。
(2)单击“保存”按钮,此时弹出“Select Device for Target”对话框选择CPU类型。可以在其中选择本项目所使用的单片机型号,也可以在项目建立后修改。例如,选择Atmel公司的单片机AT89S52,此时在“Description”栏中会显示该CPU的资源情况,如图4-3所示。
图4-2 “Create New Project”对话框
图4-3 选择CPU类型
(3)选择完毕后,单击“确定”按钮,此时弹出提示信息,如图4-4所示。提示是否将8051的起始代码添加到项目中,对于汇编程序,这里一般选择不添加。
(4)单击“否”按钮,选择不添加,此时项目建立完毕,如图4-5所示。其中还没有任何源文件,属于一个空壳项目。
项目建立完毕后,现在开始进行源文件的设计,这是项目的核心,具体的操作步骤如下。
图4-4 提示信息
图4-5 项目建立完毕
(1)选择“File”→“New”命令,此时工作区中弹出一个新的文本编辑窗口,如图4-6所示。
(2)可以在其中输入如下程序代码。
图4-6 新建的文本编辑窗口
这段代码演示了8位带符号整数的乘法汇编程序。被乘数和乘数分别保存在R1和R0中,程序结束时,将积的高8位和低8位分别保存在R3和R2中。
(3)代码输入完毕后,可以单击“保存”按钮,将其保存为test.asm文件。
(4)在项目管理窗口中,鼠标右键单击“Source Group 1”,选择“Add Files to Group ‘Source Group 1’”命令,在弹出的对话框中选择刚才保存的汇编源文件,并加入项目中即可。
项目及源文件建立完毕后,便可以编译项目了。选择“Project”→“Build target”命令,即可编译,如果程序无误,则在输出窗口中显示编译结果,如图4-7所示。
如果需要生成单片机上可执行的文件,可以选择“Project”→“Options for Target ‘Target 1’”命令,此时弹出“Options for Target ‘Target 1’”对话框,如图4-8所示。在“Output”选项卡中,选择复选框“Create Hex File”,并单击“确定”按钮保存设置。
此时,重新编译一次,便生成可以下载到单片机中的执行文件Test.hex;然后可以利用下载工具将其下载到单片机中执行。
图4-7 编译输出结果
图4-8 “Options for Target ‘Target 1’”对话框
项目建立并编译通过后,在下载到单片机硬件中之前,一般需要进行仿真调试,确保程序的执行完全符合要求。μVision3的集成开发环境提供了完善的项目仿真和调试工具,下面介绍如何使用μVision3进行项目的仿真调试。
项目仿真调试之前需要确保该项目完全通过编译。仿真调试的步骤如下。
(1)选择“Debug”→“Start/Stop Debug Session”命令,此时,μVision3进入仿真调试模式。界面的菜单栏和工具栏都相应地进行了变化。
(2)使用单步执行的方式运行程序。每按F11键一次,程序就执行一条指令。用户可以看到程序执行时,单片机的各个资源和寄存器值是如何变化的。
(3)当程序执行完毕的时候,在寄存器显示窗口中可以看到程序仿真的结果,如图4-9所示。乘法运算的结果保存在寄存器R3和R2中。
图4-9 程序仿真结果
用户可以自行修改寄存器R0和R1中的数据,然后重新运行来查看仿真结果。