Keil C51 V6.xx和LG-32K仿真机教程
(4)建立一个新的工程Project(续2)

日期 2001-10-20
作者 老古 http://www.laogu.com Email:zhangshenggu@vip.163.com
内容

  1)接上一章的内容.上面我们讲到了Target栏的设置,下面要对Output栏进行设置:

这一栏有很多的选项:
  Select Folder for Objects:点击这个按钮可以选择编译之后的目标文件存储在哪个目录里,如果不设置的话,就是在你的工程文件的目录里.
  Name of Executable:是设置生成的目标文件的名字,缺省是跟你的工程的名字是一样的.
目标文件可以生成库或者obj,hex的格式.
  Create Executable:是生成OMF以及HEX文件:一般是选中Debug Information,选中Browse Information.这两个选项一般要选中,这样才有详细的调试所需要的信息,比如你要做c语言程序的调试,如果不选的话,调试时你将无法看到高级语言写的程序.
  Create Hex File:这个选项一般是要选中的.很多网友在bbs上问到,他编译之后没有生成Hex文件,这是因为这个选项没有被选中的原因.要生成Hex文件,一定要选中该选项,如上图所示.还有人问到如何生成OMF的文件,事实上Keil在每次编译之后都生成了OMF文件,那个跟你的工程文件名一样的,但是没有带扩展名的文件就是OMF格式的文件.例如我们这个工程的名字是test.uv2,将会生成一个OMF文件test(不带扩展名).默认是不选中的,所以要自己做设置.
  Create Library:选中时将生成lib库文件.根据你的需要是否要生成库文件,一般的应用是不生成库文件的.
  After Make:有几个设置:
  Beep when complete:编译完成之后发出咚的声音.
  Start Debugging:马上启动调试(软件仿真或硬件仿真).根据你的需要做设置,一般是不选中.
  Run User Program #1,Run User Program #2:这个选项可以设置编译完之后运行别的应用程序,比如有些用户自己编写的烧写芯片的程序(编译完便执行将hex文件写入芯片),或调用外部的仿真程序.根据自己的需要设置.
  2)我们来看Listing栏的设置:

  Keil C51在编译之后除了生成目标文件之外,还生成*.lst *.m51的文件.那么这两种扩展名的文件对你了解你的程序用到了那些idata ,data ,bit ,xdata,code ,ram,rom,stack等有很重要的作用.有些人就问到我如何知道我的程序需要多少的代码空间?那么在这两个文件里,会告诉你,一般按照上图进行设置.如果你不想生成某些内容,可以不选.
   选中Assembly Code还会生成汇编的代码.很多网友不知道如何用汇编来写一个long型数的乘法,那么你可以用c来写,写了之后编译,你就可以得到用汇编实现的代码.而不必在那里苦想.有了高级的工具,我们就要它来帮助你更好的设计.就算你是写汇编的,如果你熟悉c,也会给你带来很大的帮助.比如if(){ }for;while,case等一些c语言的结构,如何用汇编来做到,那么可以自己写一段c,然后编译,你就可以得到汇编实现这些高级语言算法的结构.这是很有用的.所以请你选中Assembly Code.对于一个高级的单片机程序员,往往既要熟悉汇编,同时也要熟悉c语言,才能更好的去编写程序.因为汇编和c都是工具,可能在某些地方用c无法实现,但用汇编却很容易.有些地方用汇编,很繁琐,用c就很方便.在bbs上多次有人争论汇编和c的问题.我们无法说c好,还是汇编好,有时要取决于你的项目.我们认为能够最快的实现和完成你的设计的就是好的.多数情况下,是用c语言做设计比较快.特别是代码比较多的设计,c的优势就更为明显.如果用c也不好,用汇编也不好,那么就混合使用吧,keil c51是支持c和汇编混合编程的.
  Select Folder for Listings:选择生成的列表文件存放的目录.不做选择时使用工程文件所在的目录.


来源
老古网

欢迎技术探讨和发表评论