首页 理论教育 Keil程序设计实例和入门指南

Keil程序设计实例和入门指南

时间:2023-10-23 理论教育 版权反馈
【摘要】:图2-2 LED闪烁电路图2-3 工作空间项目结构工程文件建立后,Keil会自动弹出对话框要求为目标工程选择单片机型号,如图2-4所示。对于大部分设备来说,Keil会提示复制CPU指定的启动代码到工程中去。这就是使用C语言进行单片机的程序设计的原因。程序设计结束需要根据目标硬件的实际情况对工程进行配置。

Keil程序设计实例和入门指南

Keil集成的工程管理器使得开发应用程序更加容易,Keil平台把单片机系统软件部分作为一个工程对待,完整的程序设计过程包括选择工具集(对基于ARM的工程)、创建新的工程和选择CPU、添加工作手册、创建新的源文件、在工程里加入源文件、创建文件组、设置目标硬件的工具选项、配置CPU启动代码、编译工程和创建应用程序代码、为PROM编程创建HEX文件等。

针对单片机的程序设计,可以把Keil应用分为工程文件的创建、新建源文件并添加到工程中、程序编写、编译调试4个基本步骤。为了便于说明各个过程,这里我们以LED闪烁项目为例,简单介绍Keil的使用过程。电路以单片机最小系统为硬件基础,把一个LED接在P0.0接口,低电平有效。图2-2是在单片机最小系统基础上设计的LED闪烁电路。

978-7-111-43463-4-Chapter02-1.jpg

图2-1 Keil μVision3 IDE的工作界面

1.创建工程文件,选择单片机芯片

单击Keil菜单中Project→New μVision Project菜单项,Keil将打开对话框,输入工程名称后即可创建一个新的工程。注意,新建工程要使用独立的文件夹。需要在新建工程对话窗口上点击新建一个文件夹,并取一个合适的名字,如“项目1-LED闪烁”,然后输入项目名称,如“LED闪烁”。在Project Workspace区域的Files选项卡里可以查阅项目结构,如图2-3所示。

978-7-111-43463-4-Chapter02-2.jpg

图2-2 LED闪烁电路

978-7-111-43463-4-Chapter02-3.jpg

图2-3 工作空间项目结构

工程文件建立后,Keil会自动弹出对话框要求为目标工程选择单片机型号,如图2-4所示。对话框包含了Keil的设备数据库,在左侧一栏选定公司和机型以后,在右侧一栏显示单片机的基本说明,选择将会为目标设备设置必要的工具选项,通过这种方法可简化工具配置。如果要使用的单片机为STC89C51,应选择Atmel公司的AT89C51或Intel公司的8051,它们与STC89C51有相同的内核。

978-7-111-43463-4-Chapter02-4.jpg

图2-4 选择目标工程的单片机型号

程序需要通过CPU的初始化代码来配置目标硬件。启动代码负责配置设备微处理器和初始化编译器运行的系统。对于大部分设备来说,Keil会提示复制CPU指定的启动代码到工程中去。如果这些文件可能需要作适当的修改以匹配目标硬件,应当将文件复制到工程文件夹中,如图2-5所示。

978-7-111-43463-4-Chapter02-5.jpg

图2-5 是否加入启动代码的对话框

工程中如果需要使用这些启动代码,则应选择“是(Y)”;如果不需要使用Keil编写启动代码可以选择“否(N)”。点击“是(Y)”后,工程建立完成。因为本项目采用C语言程序设计,在这里我们点击“否(N)”。

2.创建新的源文件并添加在工程中

(1)新建一个C语言文件

选择File菜单中的New选项或点击

978-7-111-43463-4-Chapter02-6.jpg

图标以创建一个新的源文件,此时会打开一个空的编辑窗口,也就是编写程序的页面,用户就可以在此窗口里输入源代码。然后点击File菜单中的Save命令,以扩展名.c保存文件,如图2-6所示。这里保存的文件名为main.c。

(2)在工程里加入源文件

源文件创建后,需要在工程中加入这个文件。在工程工作区中,移动鼠标选择SourceGroup 1,然后单击鼠标右键,将弹出一个下拉窗口,如图2-7所示。选择Add Files选项会打开一个标准的文件对话框,在对话框里选择前面所创建的C源文件,然后单击“Add”,文件就会被添加到工程中,再单击Close关闭该对话框即可。文件被添加到工程后即可以开始编写程序代码了。除了添加程序代码文件到工程外,还可以添加头文件(*.h)和库文件(*.lib)等。

978-7-111-43463-4-Chapter02-7.jpg

图2-6 创建main.c文件

978-7-111-43463-4-Chapter02-8.jpg(www.xing528.com)

图2-7 添加文件到工作组

978-7-111-43463-4-Chapter02-9.jpg

图2-8 文件组织结构

在Project Workspace中,Files页面会列出用户工程的文件组织结构,如图2-8所示。用户可以通过用鼠标拖拉的方式来重新组织工程的源文件。双击工程工作空间中的文件名,可以在编辑窗口打开相应的源文件进行编辑。

3.程序编写

在程序设计页面可输入语句或指令。程序中reg51.h为51系列单片机内部资源的头文件,包括各个特殊寄存器和可寻址位的地址定义等。“//”符号后面为对指令的说明。具体程序如下:

978-7-111-43463-4-Chapter02-10.jpg

上面程序是利用单片机的1个I/O接口驱动一个LED闪烁的程序。掌握了单片机内部的寄存器以后,这个程序实际上很简单。这就是使用C语言进行单片机的程序设计的原因。利用C语言编写单片机程序,不用考虑单片机内部数据在单片机内部怎样运行,只要了解单片机执行程序按照所编写的程序顺序单步执行就可以了。

单片机程序在格式上要求严谨,结构层次清晰。为了增强程序的稳定性,所有函数没有返回值就用void声明,没有形参也需要写void。另外,为了避免程序编写错误,算术逻辑运算符号、左移右移、比较等符号左右留一个空格,每一条命令占用一行,在程序中“{”、“}”上下对齐,在“{”下一行命令要后退一个“Tab”键。

4.编译调试,并创建HEX文件

(1)编译工程用鼠标点击

978-7-111-43463-4-Chapter02-11.jpg

按钮,就启动Keil对程序进行编译,同时也对程序进行保存,图2-9所示是编译结果显示窗口。如果程序有错误,会在“Output Window”窗口提示,用鼠标双击错误提示,将会看到一个箭头指向程序的错误处,便于修改。

(2)工程配置

978-7-111-43463-4-Chapter02-12.jpg

图2-9 编译结果

编写的程序最终要在单片机内部运行,下载到单片机中的程序为二进制格式,编译过程主要目的就是让Keil自动创建一个HEX文件。程序设计结束需要根据目标硬件的实际情况对工程进行配置。通过单击目标工具栏图标

978-7-111-43463-4-Chapter02-13.jpg

或Project菜单下的Options for Target,在弹出的Target窗口中可指定目标硬件和所选择设备内组件的相关参数,如图2-10所示。

978-7-111-43463-4-Chapter02-14.jpg

图2-10 目标设置对话框

在Target窗口的选项中,Xtal为设置单片机的晶体振荡器的频率。大部分基于ARM的微控制器使用片内PLL作为CPU时钟源。依据硬件设备不同设置其相应的值;Operating System为选择一个实时操作系统;On-Chip ROM/RAM为定义片内的内存的地址空间,以供链接器/定位器使用。

(3)创建HEX文件

在Options for Target→Output中选择Create HEX file选项,软件会在编译过程中产生HEX文件,如图2-11所示。

978-7-111-43463-4-Chapter02-15.jpg

图2-11 建立HEX文件对话框

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈