第2章Keil软件使用及流水灯设计
    本章详细介绍单片机程序常用编译软件Keil的用法,包括用Kei建立工程、工程配置、C51单片机程序软件仿真、单步、全速、断点设置、变量查看等。同时还介绍如何使用SST89E516RD单片机进行计算机与TX-IC单片机学习板之间的硬件仿真。用一个完整的C51程序来操作发光二极管的点亮与熄灭,然后调用C51库函数来方便地实现流水灯,最后为大家补充蜂鸣器与继电器的操作方法及集电极开路与漏极开路的概念。从这一章开始我们将手把手地讲解单片机C语言编程。认真学好本章,对于初学者来说将会是一个非常好的开头。
2.1 Kell工程建立及常用按钮介绍
在使用Keil软件之前,要保证在用户的计算机上装有一套稳定可靠的软件。本教材中讲解的Keil版本为V6.12,为了能让大家更方便地学习本软件的用法,建议大家在学习本教材时尽量选择该版本。
在本书中,我们强烈推荐的学习方法是边学边用,所以在这里我们不会像传统专业书籍那样,将某个软件的所有功能事先都讲解得非常仔细,很多不用的地方我们不做说明,需要用到什么,
我们就学习什么,这样才能有效地理解它、记忆它,最终达到学以致用的目的。
2.1.1  Keil工程的建立
进入Keil后,屏幕知图2.1.1所示,紧接着出现编辑界面,如图2.1.2所示。
图2.1.1  启动Keil软件时的屏幕
(1)建立一个新工程单击<Project>菜单中的<New Project…>选项,如图2.1.3所示。
图2.1.2进入Keil软件后的编辑界面
图2.1.3新建工程
(2)选择工程要保存的路径,输入工程文件名。Keil的一个工程里通常含有很多小文件, 为了方便管理,通常我们将一个工程放在一个独立文件夹下,比如保存到part2_l文件夹,工 程文件的名字为part2_l,如图2.1.4所示,然后单击<保存>按钮。工程建立后,此工程名变为 part2_l.uv2。
图2.1.4保存工程
(3)这时会弹出一个对话框,要求用户选择单片机的型号,可以根据用户使用的单片机来选择。Keil C51几乎支持所有的51内核的单片机,TX-1C实验板上用的是STC89C52,我
们在对话框中不到这个型号的单片机。因为51内核单片机具有通用性,所以我们在这里可 以任选一款89C52就行,Keil软件的关键是程序代码的编写,而非用户选择什么硬件,在这 里我们选择Atmel的89C52来说明,如图2.1.5所示。选择89C52之后,右边<Description> 栏里是对该型号单片机的基本说明,我们可以单击其他型号单片机浏览一下其功能特点,然 后单击<确定>按钮。
图2.1.5选择单片机型号
(4)完成上一步骤后,窗口界面如图2.1.6所示。
图2.1.6添加完单片机后的窗口界面
到此为止,我们还没有建立好一个完整的工程,虽然工程名有了,但工程当中还没有任 何文件及代码,接下来我们添加文件及代码。
(5)如图2.1.7所示,单击<File>菜单中的<New>菜单项,或单击界面上的快捷图标。
c语言编程软件下载中文版新建文件后窗口界面如图2.1.8所示。
图2.1.7添加文件
图2.1.8添加完文件后的窗口界面
此时光标在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与我们刚 才建立的工程还没有直接的联系,单击图标H,窗口界面如图2.1.9所示,在<文件名(N)>编辑框中,输入要保存的文件名,同时必须输入正确的扩展名。注意,如果用c语言编写程 序,则扩展名必须为.c;如果用汇编语言编写程序,则扩展名必须为.asm。这里的文件名不一 定要和工程名相同,用户可以随意填写文件名,然后单击<保存>按钮。
图2.1.9保存文件
(6)回到编辑界面,单击<Target 1>前面的“+”号,然后在<SourceGroup 1>选项上
(7)单击右键,弹出如图2.1.10所示菜单。然后选择KAdd Files to Group 'Source Group F3菜单项, 对话框如图2.1.11所示。
图2.1.10将文件加入工程的菜单
图2.1.中文件后的对话框
选中<part2_l.c>,单击<Add>,再单击<Close>按钮,然后我们再单击左侧<Sourse Group 1>前面的“ + ”号,屏幕窗口如图2.1.12所示。
图2.1.12将文件加入工程后的屏幕窗口
这时我们注意到<SourceGroup 1>文件夹中多了一个子项<part2_l.c>,当一个工程中有多个代码文件时,都要加在这个文件夹下,这时源代码文件就与工程关联起来了。
通过以上(1)〜(6)步我们学习了如何在Keil编译环境下建立一个工程,在开始编写 程序之前,我们有必要先学习编辑界面上一些常用的按钮功能与用法。
2.1.2常用按钮介绍
按钮用于显示或隐藏项目窗口,我们可单击该按钮观察其现象,项目窗口如图2.1.13所示。
按钮一用于显示或隐藏输出信息窗口,当我们进行程序编译时可查看输出信息窗口, 查看程序代码是否有错误,是否成功编译,是否生成单片机程序文件等。我们可单击该按钮 观察其现象,输出信息窗口如图2.1.14所示。
按钮用于编译我们正在操作的文件。
按钮用于编译修改过的文件,并生成应用程序供单片机直接下载。
按钮用于重新编译当前工程中的所有文件,并生成应用程序供单片机直接下载。因 为很多工程有不止一个文件,当有多个文件时,我们可使用此按钮进行编译。
按钮用于打开《OprionsforTarget》对话框,也就是为当前工程设置选项。使用该对话框可以对当前工程进行详细设置,关于该对话框的设置方法将在使用时再做详细讲解。
以上是使用频率最多的几个按钮的功能,大家千万不要被一打开软件时呈现在眼前令人 的眼花缭乱的众多按钮所吓着哟。其他一些调试时用到的按钮等我们具体用到时再做介绍。
2.2点亮第一个发光二极管
大家是不是已经迫不及待地想编写程序了,接下来我们就用C语言编写一个点亮TX-1C 实验板上第一个发光二极管的程序。由于这是本书的第一个程序,看懂了它,也就意味着你 已经踏入了单片机C语言编程的第一道门槛,因此我们在这里要花些时间讲解它,大家一定 要有耐心,认真地弄明白它。
我们先回到2.1节最后的编辑界面“part2一l.c”下,在当前编辑框中输入如下的C语言源程序,注意:在输入源代码时务必将输入法切换成英文半角状态。
----------------------------------------------------------------------------------------------------------------------
例2.2.1 编写程序,点亮第一个发光二极管(part2_1.c  P27
#include <reg52.h> //52系列单片机头文件
sbit led1=P1^0;      //声明单片机P1口的第一位
void main()          //主函数
{
    led1=0;      /*点亮第一个发光二极管*/   
}
----------------------------------------------------------------------------------------------------------------------
在输入上述程序时,Keil会自动识别关键字,并以不同的颜提示用户加以注意,这样 会使用户少犯错误,有利于提高编程效率。若新建立的文件没有事先保存的话,Keil是不会 自动识别关键字的,也不会有不同颜出现。程序输入完毕后,如图2.2.1所示。
我们暂且不要管这几句程序表示什么意思,先学会编译及错误处理,然后我再详细介绍 代码的含义。接下来我们编译此工程,看看程序代码是否有错误。先保存文件,再单击K全 部编译〗快捷图标圖。建议大家每次在执行编译之前都先保存一次文件,从一开始就养成良 好的习惯对你将来写程序有很大好处,因为进行编译时,Keil软件有时会导致计算机死机, 使你不得不重启计算机,若你在编写一个很大的工程文件时没有及时保存,那么重启后你将 不到它的任何踪影,只得重写。虽然这种情况极少发生,但出于安全考虑,建议大家及时

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。