小白学单片机:Keil C51软件的使用

Keil C51软件的使用

通过单片机控制一个发光二极管闪烁的例程熟悉Keil C51的使用,包括Keil环境下程序的编辑、编译和仿真等。

双击桌面快捷图标启动软件,进入 Keil C51 后,屏幕如图1所示。几秒钟后出现软件操作界面如图2所示。

小白学单片机:Keil C51软件的使用

小白学单片机:Keil C51软件的使用

一、建立工程

(1)点击Project 菜单,选择New Project,如图3所示。弹出的Windows 文件对话窗口,在“文件名”中输入您的第一个C 程序项目名称(只要符合Windows 文件规则的文件名都行),这里我们用“FLASH_LED”,在“保存在”中选择项目保存路径,如图4所示,然后点击保存。

小白学单片机:Keil C51软件的使用

(2) 这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,Keil C51几乎支持所有的51核的单片机,在这里还是以大家用的比较多的Atmel 的89C51来说明,如图5所示,选择89C51之后,右边栏是对这个单片机的基本的说明, 点击确定后,出现图6所示对话框,点击“否”,返回主界面。

小白学单片机:Keil C51软件的使用

图5 器件选择窗口

小白学单片机:Keil C51软件的使用

图6 “是”、“否” 对话框

到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

(3) 单击“File”菜单,再在下拉菜单中单击“New”选项,弹出的画面如图7所示。此时光标在编辑窗口里闪烁,这时可以输入用户的应用程序了。输入源程序后如图8所示,然后点击保存按钮,弹出保存对话框如图9所示。“文件名”栏右侧的编辑框中,输入欲使用的文件名,同时,必须输入正确的扩展名,在这里输入FLASH_LED.C。(注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。)然后,单击“保存”。

小白学单片机:Keil C51软件的使用

图7 “New”选项

小白学单片机:Keil C51软件的使用

图8 输入用户源程序

小白学单片机:Keil C51软件的使用

图9 输入文件名FLASH_LED.C

(4) 点击“Target1”前面的“+”号,出现下一层的“ Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要把编写好的源程序加入,点击“Source Group1”使其反白显示,然后点击鼠标右键,出现如图10所示的下拉菜单。选中其中的“Add file to Group”Source Group1”,出现一个对话框如图11所示,要求寻找源文件FLASH_LED.C,点击“add”按钮。(注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C 为扩展名的文件,如为汇编文件,需要将文件类型改为“.ASM”。)

小白学单片机:Keil C51软件的使用

图10 选择添加文件选项

小白学单片机:Keil C51软件的使用

图11加入源文件

二、工程设置

工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边Project 窗口的Target 1,然后使用菜单“Project->Option for target ‘target1’”即出现对工程设置的对话框,这个对话框可谓非常复杂,共有8个页面,要全部搞清可不容易。在这里只有Target、Output页面有选项需要稍作修改,其余绝大部分设置默认值就可以了。

(1) 设置对话框中的Target 页面

Target 页面设置如图12所示。Target 页面中Xtal (MHz)为12,其余选项选择默认。Xtal (MHz)表示晶振频率值,默认值是所选目标CPU的最高可用频率值,根据需要进行设置。该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设。

小白学单片机:Keil C51软件的使用

图12 Target 页面设置

(2) 设置对话框中的Output页面

Output页面设置如图13所示。在Output选项卡中,把Create HEX File 前面的方框勾起来,这样能够保证在编译、连接之后能产生hex后缀的文件,从而供第三方软件使用,比如Protues仿真软件。

小白学单片机:Keil C51软件的使用

图13 Output页面设置

(3) 设置对话框中的Debug页面

小白学单片机:Keil C51软件的使用

图14 Debug页面设置

Debug页面设置如图14所示。该页分为左右两半,左半边是软件仿真设置,而右半边是硬件仿真设置,当你使用软件仿真时,选中左边的“Use Simulater”;如果你使用硬件仿真器,选中右边的“Use Keil Monitor-51 Driver”,同时把仿真器连接到你的电脑串口上。在这里使用软件仿真,因此只要选中左边的“Use Simulater”,其余选项保持默认值。

三、编译、链接

(1) 单击快捷图标(如图15红色方框所示图标),编译成功后,源程序编译相关的信息会出现在输出窗口中,显示编译结果为0错误,0警告,如图15所示。如有语法错误,会给出提示,应修改出错处后,再次编译。

小白学单片机:Keil C51软件的使用

图15 源程序编译

(2)单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7或单击快捷图标),显示链接结果为0错误,0警告,同时产生了目标文FLASH_LED.hex。

小白学单片机:Keil C51软件的使用

图16 链接结果

(3) 编译通过后,我们打开工程文件夹如图17所示,可以看到文件夹中有了“FLASH_LED.hex”,这就是我们需要的最终目标文件,提供给Protues仿真软件的单片机使用,或给编程器(也称烧录器)把该文件写入单片机。

小白学单片机:Keil C51软件的使用

图17 打开工程文件夹

四、进入调试

(1) 选择Debug下面的Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试,如图18所示。

小白学单片机:Keil C51软件的使用

图18 打开/关闭调试选项

接下来看的窗口就是调试窗口了, 如图19所示。

小白学单片机:Keil C51软件的使用

图19 调试窗口

(2)打开“Peripherals”菜单,选择I/O-Ports→P1,如图20所示。这样在程序运行时,我们就可以观察P1口每位的变化。

小白学单片机:Keil C51软件的使用

(3)单击

进入单步执行状态,点击一次,执行一行程序,执行完该行程序以后即停止,等待命令执行下一行程序,此时可以观察该行程序执行完以后得到的结果,是否与预期结果相同,借此可以找到程序中问题所在。我们来看看语句的执行对P1.0的影响。

从图21我们可以看出P1.0输出的电平有变化,从高电平变为低电平,对应的硬件电路中的二极管就会闪烁一次。除单步执行方式之外,还有其他方式,我们简单介绍一下:

小白学单片机:Keil C51软件的使用

程序调试中,这几种运行方式都要用到。灵活应用这几种方法,可以大大提高查错的效率。

如喜欢,请关注、点赞和转发,谢谢。后续会有更多关于单片机的内容!


分享到:


相關文章: