购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

6.2 单片机C语言在Keil μVision3中应用实例

单片机C语言(即C51语言)是运行在单片机上的程序语言,和C语言的语法结构是基本一致的。下面通过一个实例,来讲解如何在Keil μVision3集成开发环境下进行单片机C语言的程序设计。

6.2.1 创建项目

启动Keil μVision3集成开发环境,首先开始创建项目,操作步骤如下。

(1)选择“Project”→“New”→“μVision Project”命令,弹出“Create New Project”对话框,如图6-1所示。选择需要保存的目录并输入项目的名称,例如Test。

(2)单击“保存”按钮,此时弹出“Select Device for Target”对话框。可以在其中选择本项目所使用的单片机型号,也可以在项目建立后修改。例如选择Atmel公司的单片机AT89S52,此时在“Description”栏中将会显示该CPU的资源情况,如图6-2所示。

图6-1 “Create New Project”对话框

图6-2 “Select Device for Target”对话框

(3)选择完毕后,单击“确定”按钮,此时弹出提示信息,如图6-3所示。提示是否将8051的起始代码添加到项目中,对于C51程序,这里一般选择添加。

(4)单击“是”按钮,选择添加,此时项目建立完毕,如图6-4所示。其中还没有任何源文件属于一个空壳项目。

图6-3 提示信息

图6-4 项目建立完毕

6.2.2 创建源文件

当一个单片机项目建立完毕后,现在开始进行核心的源文件的设计。具体的操作步骤如下:

(1)选择“File”→“New”命令,此时工作区中弹出一个新的文本编辑窗口,如图6-5所示。

(2)在其中输入下列程序代码。

图6-5 新建的文本编辑窗口

这段程序给出了一个完整的C51语言的程序代码。其功能是判断单片机P0.0端口的电平。如果为高电平,就让P1口循环输出高电平;如果为低电平,就让P1口反方向循环输出高电平。

从这段程序代码可以看出,C51语言和C语言的程序结构基本一致,包括头文件、主函数等。程序中用到的循环语句、判断语句的结构都完全一样。因为C51语言运行于单片机系统,P0和P1为单片机的端口资源,C51语言可以直接对端口操作,这是有别于C语言的地方。

另外,这段代码不用做任何修改,便可以运行于所有的51系列单片机。这也充分体现了C51语言相比于汇编语言的优越性。

(3)代码输入完毕后,可以单击“保存”按钮,保存为test.c文件。

(4)在项目管理窗口中,鼠标右键单击“Source Group 1”,选择“Add Files to Group ‘Source Group 1’”命令,在弹出的对话框中选择刚才保存的C语言源文件,并加入项目中即可。

6.2.3 编译项目

项目及源文件建立完毕后,便可以编译项目了。选择“Project”→“Build target”命令,即可编译,如果程序无误,则在输出窗口中显示编译结果,如图6-6所示。

如果需要生成单片机上可执行的文件,可以选择“Project”→“Options for Target ‘Target 1’”命令,此时弹出“Options for Target ‘Target 1’”对话框,如图6-7所示。在“Output”选项卡中,选择复选框“Create Hex File”,并单击“确定”按钮保存设置。

图6-6 编译输出结果

此时,重新编译一次,便可以生成可以下载到单片机中的执行文件Test.hex;然后可以利用下载工具将其下载到单片机中执行。

6.2.4 仿真调试

当一个单片机项目建立并编译通过后,在下载到单片机硬件中之前,为了确保程序的执行完全符合要求,一般需要进行仿真调试。μVision3的集成开发环境提供了完善的项目仿真和调试工具,下面就介绍如何使用μVision3来进行单片机C语言程序的仿真调试。项目仿真调试之前需要确保该项目完全通过编译。仿真调试的步骤如下:

(1)选择“Debug”→“Start/Stop Debug Session”命令,此时,μVision3进入仿真调试模式。界面的菜单栏和工具栏都相应地发生了变化。

(2)选择“Peripherals”→“I/O-Ports”→“Port 0”命令,打开并行端口0仿真窗口,如图6-8所示。

(3)同样,选择“Peripherals”→“I/O-Ports”→“Port 1”命令,打开并行端口1仿真窗口,如图6-9所示。

图6-7 “Options for Target ‘Target 1’”对话框

图6-8 并行端口0 仿真窗口

图6-9 并行端口1 仿真窗口

(4)此时,使用单步执行的方式运行程序。每按一次F11键,程序就执行一条指令。用户可以看到程序执行时,单片机的并行端口1循环输出高电平。

(5)如果置P0.0端口为低电平,则并行端口1反方向循环输出高电平。

以上介绍的是使用Keil μVision3集成开发环境进行单片机C语言程序设计、编译及仿真调试的基本步骤。在本书后面的章节会逐步介绍单片机C语言及其程序设计,读者可以在学习中采用同样的方法对程序进行仿真调试,从而加快学习速度。 t43ZanX2edl9u5gr9gp8ZFRSOFWLox4gGWVd7Z6b08Z6kHHu6LddHyMhZO5yALS0

点击中间区域
呼出菜单
上一章
目录
下一章
×