您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制8051族单片机C语言编译器-Keil-C51 正文
8051族单片机C语言编译器-Keil-C51

8051族单片机C语言编译器-Keil-C51

点击数:7455 次   录入时间:03-04 11:42:13   整理:http://www.55dianzi.com   电脑-单片机-自动控制

  Keil-C51是专为8051族单片机设计的高效率C语言编译器,它生成的程序代码运行速度极高,所需存储器空间极小。

  Keil-C51完全支持C8051F32X单片机的C语言编译。

  Keil-C51完全集成在一个功能强大的集成开发环境uVsion3中,简称uV3。其中包括:项目(project)管理器、C51编译器、A51宏汇编器、BL51/LX51连接定位器、simulator软件模拟调试器,以及8051族单片机硬件目标在线仿真、下载调试器。上述功能都可在uv3的集成开发环境中极为简捷地进行操作。其硬件调试器可在线实现对单片机的(包括对C语言源程序)调  试、修改和观察的命令。

  在uv3中,可以进行两种类型的代码调试。一种是带调试信息的源程序代码调试,此调试允许在调试中显示高级语言源程序语句,并可对源程序语句进行单步、断点等方式的调试,而且高级语言源程序的每个语句都可显示出对应的汇编语句段。另一种是十六进制(hex)代码调试,此时只能显示汇编语言指令。

  用户在完成项目编译、连接之后,通过debug菜单进入程序调试状态。若用户使用硬件在线仿真调试器,则需安装C8051F单片机的uv3驱动软件(连接编程仿真调试器,要注意驱动软件的版本)。

  安装好驱动软件,硬件连接上USB口的编程仿真调试器并在debug窗口上激活后,才能实现硬件在线仿真、调试和将代码下载到单片机等各种功能。在调试状态下,还可以通过调试主窗口进行源程序的编辑和修改,但修改后源程序不能在debug窗口内进行编译、连接,要退出debug状态重新编译、连接,形成新的目标代码后再次装入,才能进行调试。

  硬件在线下载、仿真调试器,具有以下功能:对高级语言源程序和汇编程序,能进行全速运行,单步执行和断点运行;有3种不同的断点调试方式;有下载代码到单片机flash程序区的命令;有上存代码到PC机,并存成文件的命令;有显示和修改各种存储器单元的命令;显示和修改各种寄存器的命令;在汇编语言状态下,可在线修改汇编语句;高级语言源程序的每个语句,都可显示出对应的汇编语句段。

  编程编译过程
  
  在使用keil-C51对8051族单片机应用程序进行编程、编译时要注意,如果用的是C8051F32X单片机,需要使用V8.08以上的版本,因为低版本中找不到C8051F单片机的新芯片。

  (1)使用keil-C51编译C8051F32X单片机应用程序的步骤如下:

  ①在uv3集成开发环境软件中,创建一个新项目,并为该项目选定对应的单片机CPU器件(先选生产该单片机的公司名,后选单片机型号)。

  ②用文件编辑器编写C语言的源程序文件(或汇编源文件),并将文件添加到项目中去。一个项目可包括多个文件,除源文件外,还可有库文件等。

  ③通过uv3各种选项配置C51编译器、A51宏汇编器、BL51/LX51连接定位器,并选择debug的调试方式。

  ④使用uv3的构造功能(build)对项目中的源程序文件进行编译、连接,生成绝对目标代码和可选择(要或不要)的hex代码。

  ⑤将编译、连接好的绝对目标代码(也可是hex代码),装入uv3进行硬件(或模拟软件调试)在线调试。

  调试成功后,用硬件下载仿真器将hex代码文件写到单片机的flash中去。

  (2)图解一个实例的编译过程C源文件名:usbadl.c,usb_api函数库文件:

  usbx_f320_1.lib,项目工程取名:usbad。

  ①点击uv3图标。

  ②点击project框,选new;uvsionproject,取项目文件名为Usbad。

  ③进入targetl---(selectdevICe)选单片机公司,选SILiconlaboraries。

  ④选单片机型号:点单片机公司名称左边的小框的+,找到C8051F320,点击C8051f320并点击确认。

  ⑤在targetl大图内,点击output按钮,设置是否要hex代码文件。在左侧的两个框中画钩并点确认。

  ⑥在targetl大图中设置定位flash起始地址,点击b151 LOCate框,设flash起始地址,如0100h。

  ⑦点击targetl长条框右边的按钮,进入选源程序、库文件界面。点击add file框,加入usbadl.c,usbx_f320_1.lib文件到软件中,然后点击确认。

  ⑧此时,集成软件大图左下边3个按钮(即trgetl长条框左面)中有2个按钮(即第2、第3个按钮)变亮,依次点击这两个按钮,且每次按对应的确认,编译完成并提示,生成usbadl.hex代码文件,在源文件所在处,生成绝对代码文件及配套各种文件。

  需要说明的是,由于USB通信软件主要采用调用各种专用的USB-API函数来实现其功能,而这些API函数不被keil-uv3调试软件所定义,所以在keil-uv3的调试器上无法进行C语言源程序的调试。




本文关键字:单片机  C语言  编译器  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制