上次说到了使用C语言编写单片机的程序,既然使用编程语言,就需要有软件把程序语言翻译成机器能懂的机器码,把机器码下载进单片机,单片机才能运行。在这里,我们隆重推荐Keil uVision2,它支持众多不同公司的MCS51 架构的芯片,集编辑,编译,仿真等功能于一体,同时还支持PLM,汇编和C 语言的程序设计。它的界面和微软VC++的界面相似,界面友好,易学易用。在调试程序,软件仿真方面也有很强大的功能。好了,广告差不多了,下面我们来具体看一下这个软件。
Keil的软件在网上可以轻松得到,虽然没有注册版本只能编译不大于2K的代码,不过国内的破解版本五花八门,安装一个Keil应该不在话下。
启动Keil后,在Project菜单可以新建一个工程,然后系统会提示选择单片机型号,在这里,我们选择Atmel公司的AT89S52单片机。此时在屏幕右边可以看到该型号的技术参数。确定后,系统会提示是否添加Standard 8051 Startup Code到工程中,我们选择否。这时候工程项目就建设好了,我们需要把源文件添加进来进行编译。
源文件可以是很多种类型,.c的,.asm的都支持,你可以直接把现成的源文件添加到工程,或者自己新建一个添加进来。选择New file,这时候就出现了一个编辑框,先不编辑,点击保存,你可以保存成为你想要的文件类型(保存到跟工程同一个目录下),我们保存成为eefan.c,如果你用汇编,也可以保存成为eefan.asm。然后,在Source Group 1上面单击右键,把这个文件添加进来。
这样我们的简单的工程就基本设置好了,接下来我们得写代码,让单片机执行我们所要求的功能。一般做单片机实验的时候,流水灯是必不可少的,这里我们也先模拟一个流水灯实验。
把以下代码复制到eefan.c的文件里面,然后编译。
没有错误,这时候我们可以选择把程序下载到单片机中。首先需要Keil生成.hex文件,在Target1上面点击右键,选择Options for Target 'Target1',在Output选项卡,勾选Create Hex File。再次编译,则会在工程文件夹下面找到eefan.hex这个烧写文件了。
如果我现在没有单片机开发板,怎么办呢?别急,Keil为我们提供了强大的仿真功能,选择Start/Stop Debug Session,就是那个放大镜中间一个d的那个图标,进入后,会发现进入了调试模式,你可以选择单步执行,跳入,跳出等等调试功能。我们直接选择Run,就是那个一页文件旁边一个下箭头的图标。这时候程序就开始运行了。那么我们怎么知道程序是否正确呢?点击Peripherals下拉菜单的I/O-Ports的Port 0,这时候,你可以看到一个循环勾选的8位复选框,这个就是流水灯啦~
好了,Keil软件的使用大概就是这样,流水灯只是一个基本的实验,具体里面代码什么作用,为什么要这样定义,我们接下来会详细讲述,不过前提是,你必须会一些C语言的基本概念,不然理解起来就会有困难啦~