keilc51集成开发环境的使用.docx
《keilc51集成开发环境的使用.docx》由会员分享,可在线阅读,更多相关《keilc51集成开发环境的使用.docx(27页珍藏版)》请在冰豆网上搜索。
![keilc51集成开发环境的使用.docx](https://file1.bdocx.com/fileroot1/2022-10/27/e36f617f-9fc6-4863-8eb6-6cd84e654240/e36f617f-9fc6-4863-8eb6-6cd84e6542401.gif)
keilc51集成开发环境的使用
KeilC51集成开发环境的使用
KeilC51软件可以从相关网站下载并安装。
安装好后,双击桌面快捷图标或在“开始”菜单中选择KeilμVision3,启动KeilμVision3集成开发环境,启动后界面如图4-3所示。
图4-3KeilμVision3启动后的集成开发环境界面
(一)创建项目
KeilμVision3中有一个项目管理器,用于对项目文件进行管理。
它包含了程序段环境变量和编程有关的全部信息,为单片机程序的管理带来了很大的方便。
创建一个新项目的操作步骤如下:
(1)启动μVision3,创建一个项目文件,并从器件数据库中选择一款合适的单片机型号。
(2)创建一个新的源程序文件,并把这个源文件添加到项目中;
(3)为该单片机芯片添加或配置启动程序代码;
(4)设置工具选项,使之适合目标硬件;
(5)编译项目并创建一个*.hex文件。
下面以本章任务为例分别介绍每一步的具体操作。
1.新建项目文件
单击菜单“Project”→“NewProject”命令,弹出如图4-4所示的新建项目对话框,指定保存路径,建议每个项目使用一个独立文件夹,例如本项目保存在“第4章”文件夹;然后,在“文件中名”输入项目名称,例如“4-1”,单击“保存”按钮即完成新项目的创建(系统默认扩展名为“.uv2”)。
图4-4新建项目对话框
此时弹出选择单片机的型号对话框,如图4-5所示,展开Atmel系列单片机,选择“AT89C51”,单击“确定”按钮完成设备的选择。
图4-5选择单片机的型号对话框
单片机型号选择结束后,在μVision3工作界面左边的项目管理器中新增加了一个“Target1”目标1文件夹,如图4-6所示。
图4-6项目管理器中新增“Target1”对话框
2.新建源程序文件
单击菜单“File”→“New”命令,就可以创建一个源程序文件。
该命令会打开一个空的编辑器窗口,默认名为“Text1”,输入如下源程序:
/******************************************************************
名称:
流水灯控制
模 块 名:
AT89C51,74LS373
功能描述:
当开关打开时,LED自上而下依次点亮;当开关闭合时,LED从下向上依次点亮。
******************************************************************/
#include<>
#defineucharunsignedcharsm,使用单片机C语言编写的源程序,扩展名为.c)。
保存好源程序后,源程序窗口中的关键字呈彩色高亮显示。
这里保存为“”。
特别注意:
源程序扩展名“.c”必须手动输入,表示为C语言程序,使KeilC51采用对应的C语言的方式来编译源程序。
源程序文件创建好后,可以把这个文件添加到项目管理器中。
单击项目管理器中“Target1”文件夹旁边的“+”按钮,展开后在“SourceGroup1”上单击右键,弹出快捷菜单,如图4-7所示。
选择“AddFilestoGroup’SourceGroup1’”命令,弹出如图4-8所示的加载文件对话框。
在该对话框中选择文件类型为“cSourcefile”,找到刚才创建的“”源程序文件,然后单击“Add”按钮,即被加入到项目中,此时对话框不消失可以继续加载其它文件。
单击“Close”按钮将对话框关闭。
图4-7在快捷菜单中选择加载源程序文件命令
图4-8在对话框中选择要添加的文件
此时在Keil软件项目管理器的“SourceGroup1”文件夹中可以看到新加载的文件。
3.为目标1设置选项
选中Target1,单击菜单“Project”→“OptionsforTarget‘Target1’”命令,弹出为目标1的设置选项对话框,如图4-9所示,共有11个选项,其中“Target”、“Output”和“Debug”选项较为常用,默认打开“Target”选项。
图4-9为目标1设置选项对话框
在该选项中可以对目标硬件及所选器件片内部件进行参数设置:
包括指定CPU时钟频率;是否使用片上自带的ROM存储器;指定C51编译器的存储模式(默认为SMALL模式);指定ROM存储器大小使用;指定片外程序存储器和片外数据存储器的地址范围(如果没有则不填)等。
4.编译项目并创建*.hex文件
单片机不能处理C语言程序,必须将C程序转换成二进制或十六进制代码,这个转换过程称为汇编或编译。
KeilC51软件本身带有C51编译器,可将C程序转换成十六进制代码,即*.hex文件。
在完成项目设置后,就可对源程序进行编译。
执行菜单“Project”→“Rebuildalltargetfiles”命令,可以编译源程序并生成目标文件。
如果程序有错,则编译不成功,μVision3将会在输出窗口(“View”→“OutputWindow”命令切换显示或屏蔽此窗口)的编译页中显示如图4-10所示信息,双击某一条错误信息,光标将会停留在μVision3文本编辑窗口中出现语法错误或警告的位置处,修改并保存后,重新编译,直至正确无误。
图4-10错误和警告信息
若成功创建并编译了应用程序,就可以开始调试。
当程序调试好之后,要求创建一个*.hex文件,生成的*.hex文件可以下载到EPROM或仿真器中。
若要创建*.hex文件,必须在为目标设置选项,在“Output”选项卡中选中“CreateHEXfile”复选框,如图4-11所示,单击“确定”按钮完成所需设置。
设置完成后,执行菜单“Project”→“Rebuildalltargetfiles”命令即可。
图4-11编译时生成“HEX”文件设置
打开“第4章”文件夹,可以看到已经创建了的文件。
(二)调试程序
1.CPU仿真
使用μVision3可对源程序进行测试,它提供了两种工作模式,这两种模式可以在“OptionsforTarget‘Target1’”对话框的“Debug”选项卡中进行选择,如图4-12所示。
图4-12仿真调试设置
“Usesimulator”:
软件仿真模式,将μVision3调试器配置成纯软件产品,能仿真8051系列的绝大多数功能而不需任何硬件目标板,如串行口、外部I/O和定时器等,这些外围部件是在选择单片机CPU时选定的。
“Use”:
硬件仿真,用户选择相应的硬件仿真器仿真。
如果选中Use:
KeilMonitor-51Driver硬件仿真选项,还可以单击右边的Settings按钮,对硬件仿真器连接情况进行设置,如图4-13所示。
图4-13仿真器连接参数设置
Port:
串行口号,仿真器与计算机连接的串行口号。
Baudrate:
波特率设置,与仿真器串行通信时的波特率,仿真器上的设置必须与它一致。
SerialInterrupt:
选中它允许单片机串行中断。
CacheOption:
缓存选项,可选可不选,选择可加快程序的运行速度。
2.启动调试
源程序编译好后,选择相应的仿真操作模式,可启动源程序的调试。
单击图标或执行菜单“Debug”→“Start/StopDebugSession”命令,可以启动μVision3的调试模式,调试界面如图4-14所示。
Keil内建了一个仿真CPU用来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真器的情况下进行程序的调试。
图4-14调试界面
进入调试状态后,“调试”菜单项中原来不能用的命令现在已可以使用了,而且工具栏多出一个用于运行和调试的工具条,如图4-15所示,Debug菜单上的大部分命令可以在此找到对应的快捷按钮,从左到右依次是复位、连续运行、暂停运行、单步运行、过程单步运行、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。
图4-15运行调试工具条
3.断点的设定和删除
在μVision3中,用户可以采用以下不同的方法来定义断点:
(1)在文本编辑窗口或反汇编窗口中选定所在行,然后单击工具栏的设置断点按钮图标,或执行菜单“Debug”→“Insert/RemoveBreakpoint”命令。
(2)在文本编辑窗口或反汇编窗口中选定所在行,单击右键,从打开的快捷菜单中选择“Insert/RemoveBreakpoint”命令。
(3)利用“Debug”下拉菜单,打开“Breakpoints…”对话框,在这个对话框中可以查看定义或更改断点设置。
4.目标程序的执行
目标程序的执行可以使用以下方法:
(1)使用菜单“Debug”→“Run”命令或命令按钮或按下功能键“F5”全速执行程序。
(2)使用菜单“Debug”→“Step”命令或相应的命令按钮或使用功能键F11可以单步执行程序,
(3)使用菜单“Debug”→“StepOver”命令或相应的命令按钮或功能键F10可以以过程单步形式执行命令,所谓过程单步,是指把C语言中的一个函数作为一条语句来全速执行。
按下F11键,可以看到源程序窗口的左边出现了一个黄色调试箭头,指向源程序的第一行。
每按一次F11,即执行该箭头所指程序行,然后箭头指向下一行。
如果程序有错误,可以通过单步执行来查找错误,但是如果程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此可以在调试时使用F10来替代F11。
5.反汇编窗口
在进行程序调试及分析时,经常会用到反汇编。
反汇编窗口同时显示目标程序、编译的汇编程序和二进制文件,如图4-16所示。
利用“View”→“DisassemblyWindow”切换显示或屏蔽此窗口。
图4-16反汇编窗口
当反汇编窗口作为当前活动窗口时,若单步执行指令,所有的程序将按照CPU指令及汇编指令来单步执行,而不是C语言的单步执行。
6.CPU寄存器窗口
单击图标或执行菜单“Debug”→“Start/StopDebugSession”命令后,在“ProjectWorkspace”项目窗口中可显示CPU寄存器内容,如图4-17所示。
用户除了可以观察外还可以修改,单击选中一个单元,出现文本框后输入相应的数值按回车即可。
7.存储器窗口
在存储器窗口中,可以显示4个不同的存储区,每个存储区能显示不同地址存储单元的内容。
利用“View”→“MemoryWindow”切换显示或屏蔽此窗口
KeilμVision3IDE把MCS-51内核的存储器资源分成以下4个不同区域。
(1)内部可直接寻址RAM区data,表示为D:
xx;
(2)内部间接寻址RAM区idata,表示为I:
xx;
(3)外部RAM区xdata,表示为X:
xxxx;
(4)程序存储器ROM区code,表示为C:
xxxx。
例如,单击“Memory#1”切换存储区,在“address”栏中输入地址值“D:
0000”后按回车键,显示区域直接显示该地址开始的存储单元内容,如图4-18所示。
若要更改某地址存储单元的内容,只需要在该地址上双击鼠标并输入新内容即可。
在Memory窗口中显示的RAM数据可以修改,用鼠标右键对准要修改的存储器单元,右击,在弹出的快捷菜单中选择“ModifyMemoryat0x…”,在接着弹出的对话框文本输入栏内输入相应数值后按回车即可。
图4-17寄存器窗口图4-18存储器窗口
8.观察和修改变量窗口