分享

【单片机C语言基础入门】第二章:Keil开发环境简介

 乐山峨眉 2016-11-20

大家好,上次给大家笼统的介绍了一下单片机以及单片机C语言的知识,并指出了单片机开发的流程,今天主要给大家讲解一下单片机软件开发环境的搭建,并从试验的角度对开发的流程进行验证,以便大家从实际操作中去理解和熟悉。


我们选用的单片机型号是STC公司的STC15系列的单片机,属于51内核的单片机只是增加更多的外设功能(比如AD模块,PWM模块等);软件方面我们选择Keil V4.0的开发环境和STC公司自己开发的串口下载软件stc-isp-15XX。其中keil是将编写的C语言程序编译成HEX(二进制)文件,然后通过串口下载软件(stc-isp-15XX软件)将编译好的HEX文件下载到单片机的Flash(存储器)中去。

       
一、为了大家更好的明白单片机的开发,我们对单片机的硬件进行简单的介绍:


在单片机开发的时候主要考虑的因素有:


  1. 频率。
    总做频率是单片机的心脏,反映了单片机工作快慢的情况,因为很多涉及时间的资源都和时钟有着密不可分的联系,比如定时器的最小定时单元,PWM的频率,波特率等等。


  2.  程序存储区Flash。

    单片机运行的程序代码是存储在集成在单片机芯片内部的Flash里面的。Flash的大小直接决定了可以存储程序代码的容量,因此在单片机开发的时候要考虑到程序的难易程度来选择合适容量的单片机。


  3. 数据存储器RAM。

    数据存储器RAM是用来暂存程序中的数据的(比如一些变量),他的大小决定了运算的快慢,所以在选用的时候,根据自己的程序中运算量的大小(主要是中间变量和数学计算)来决定RAM的大小。


  4. EEPROM。

    EEPROM也是用来数据的地方,一般用来存放掉电不丢失的数据,因为RAM的特点是掉电后里面的数据就消失了,因而不能够记忆数据。所以对于有特殊要求的场合还要考虑这个因素。


  5. 外设。

    根据需求来选择具有不同外设的单片机,比如AD,PWM,UART,I2S,定时器,以及I/O口的个数等。


  6. 中断系统。

    中断反映了对外部变化的响应个数以及响应速度,根据不同的需求来选择是采用中断还是不采用中断的方法来进行编程。


下图是STC15系列的单片机内部资源的介绍(其具体性能查阅其手册即可,在这里就不介绍了。对于不同型号厂家的单片机都要以其手册作为标准。)

      
二、下面介绍单片机的开发环境的搭建。


开发环境搭建的准备工作:


1.下载并安装keil v4软件,其安装过程和keil v5区别不大,其安装过程可以参考
    http://bbs./community/forum.php?mod=viewthread&tid=65569



2.安装好keil软件后,在STC官网上下载stc-isp烧录软件,后面的版本是绿色免安装的因此只需要下载下来直接运行即可。


3.因为keil自带的器件库里面没有stc器件的头文件和启动文件,但是stc为了能够兼容keil的开发环境自己编写了头文件和启动文件,因此只需要将stc的头文件加入到keil的安装目录即可,其过程如下:


第一步,打开stc-isp-15XX的烧写软件;


 


第二步,根据下面的方法将stc器件型号和头文件添加到keil中去。



点击“添加型号和头文件到keil中添加STC仿真器驱动到keil中”按钮后会提示将文件添加到的路径,在此一定要根据提示将其添加到keil的安装目录,其目录下含有C51目录和UVx的目录(其中x为版本号,比如在这里是UV4)。添加好后,其软件的开发环境就基本搭建完毕,接下来就是对单片机的开发了。


根据前面介绍的流程,选择好单片机和搭建好软件开发环境以后,接下来就是程序的编写,下面我们对keil软件进行一个简单的介绍。


安装好keil后,双击


 

打开软件,进入下面的界面。



然后点击Project选项卡新建工程,



点击新建工程以后会提示新建工程的路径以及名称,如下所示,在这里我们假设名称叫做test。



保存好项目以后会弹出选择器件型号的提示框,如下图所示:



在这里根据我们的单片机型号来选择,因为我们选择的单片机是STC的所以在这里我们选择STC MCU Database,点击后出现如下的界面:



这就是选我们选用单片的具体型号,这在开发和调试过程中有着重要的作用,在这我们选择STC15W408AS作为我们的实验,如果没有我们单片机的型号,那么就选择一款类似的单片机型号带代替。


选择好以后会出现是否添加单片机启动文件的选项,我们可以根据自己的水平选择,在初学阶段我们选择是,如下:



到此为止,我们只是建立了工程项目,可以看到里面除了启动文件都是空的,因此我们新建文件。



然后新建一个文件,然后保存,注意在新建文件的时候是没有后缀的,我们要手动将后缀打上去,再次我们要新建C文件,因此格式为“文件名.c”,如下图所示:



将文件保存后,文件只是在项目的文件夹中还没有添加到项目中去,接下来在左侧的导航栏中右键source group1然后选择添加文件导group中去,然后选择刚才保存到文件,就会将文件添加到项目中去。在此也可以选择已经写好的C文件,或者其他项目的C文件。



添加好文件后,便可以在文件中编写C程序了,在写之前还要对项目进行设置来得到hex文件。


右键左边导航栏的target1选择option……选项,进入如下的界面



我们主要对圈起来的三个选项卡进行简单的介绍(如果对其他的也感兴趣的欢迎探讨或者查看keil手册来得到详细的解释)。首先是器件选项卡,在这里我们可以改变我们在新建项目之前选择的器件,当然如果在新建项目的时候忘记选择器件,在这里也可以修改。然后是target选项卡,我们主要是修改里面的晶振的频率,要填写和实际器件一样的频率这样在仿真的时候可以得到时间信息。对于output的内容我们要修改的是勾选create HEX file选项,这就意味着编译以后会生成可以烧录的hex文件。当然如果为了整洁清楚,还要设置select folder options 以及生成hex文件的文件名,这些都是使得文件管理方便设置的,感兴趣的可以自己设置一下。



三、接下来就是C程序的编写


在这里我们以LED的闪烁作为例子简单介绍一下,后面会详细的讲解。其源码如下:

#include

#include

sbitled=P1^0;

voidDelay200ms()      //@11.0592MHz

{

    unsigned char i, j, k;


    _nop_();

    _nop_();

    i = 9;

    j = 104;

    k = 139;

    do

    {

        do

        {

            while (--k);

        } while (--j);

    } while (--i);

}

voidmain()

{

    while(1)

    {

     led=!led;

     Delay200ms();

    }

}

单击如下图的编译按钮,



编译成功以后处出现如下的信息:



可以看出已经成功的得到了hex文件。


接下来就是将hex文件烧写到单片机中去了,将烧录的单片机和电脑通过串口连接连接起来,打开烧写软件stc-isp-15XX软件




在这个烧录软件中主要修改的地方为:


1、 选择烧写的单片机的型号

2、 选择串口,当然可以点击扫描来匹配合适的串口,对于多个串口都是占用的情况下还得手动选择

3、 选择要烧录的hex文件没也就是用keil生成的hex文件,点击打开程序文件按钮后,会提示选择路径以及文件,选中即可

4、 选择单片机的工作频率

选择上面的几个设置后就可以将程序下载到单片机里面了,如果想详细的理解这个软件,请查询使用手册。

我们选择刚才生成的hex文件,将其下载到单片机中去,成功下载后还有提示音以及如下的信息



可以看到LED会出现一闪一闪的现象,表明我们烧写成功,同时也以为这我们的程序没有问题(不好意思视频传不上去就只能拍到照片,现象是一闪一闪的)。



从下一节课开始介绍C语言的一些语法语句的知识,随时欢迎探讨,谢谢大家!



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多