一、文件夹的创建
首先,我们创建一个工程文件夹,在该文件夹内建立4个文件夹,分别是HARDWARE、OBJ、SYSTEM和USER。HARDWARE文件夹下用于存放各种外设模块,如图2所示;OBJ文件夹用于存储编译产生的文件;SYSTEM文件夹中存放sys.c,用于定义引脚以及一些系统程序;USER文件夹中存放工程文件和main.c文件。
![](https://i-blog.csdnimg.cn/blog_migrate/aee84866ba6d1a47eb01c11d57109eb0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d429bda8c0bd9cfbc20a5cd8fac56e27.png)
二、工程的创建
第一步,点Project,再点New uVision Project,新建一个工程。
第二步,给创建的工程命名,并存到USER文件夹中。
第三步,给单片机选择型号,第2个是默认的一些单片机型号,第1个是STM32的一些型号,第3个是STC公司出品的单片机型号,第1个和第3个需要自己添加。
第四步,选择STC89C52单片机。
第五步,生成工程,下面这个点否,因为这个文件没啥作用。
第六步,点Manage Project Items,管理那些文件。
第七步,更改项目名称以及可以创建其下子文件夹。
第八步,这里以LED流水灯工程为例,把项目名称改成LED,然后创建两个子文件夹,MAIN文件夹用来存放main.c文件,HARDWARE 文件夹中的LED子文件夹用来存放led.c和led.h文件。
第九步,把相应文件存到相应的文件夹中。
第十步,点Add File,把main.c添加到MAIN中,把led.c添加到HARDWARE中。
第十一步,可以看到添加后的效果如下。
第十二步,点击那个烟花棒图标,在Target目录下把晶振改了(Debug时候能用到),我的开发板晶振是11.0592MHz。
第十三步,在OutPut目录下把Create HEX File勾上,然后Select Folder for Ojects... 选择OBJ文件夹,用于储存编译产生的文件。
第十四步,在Listing目录中Select Folder for Listings... 选择OBJ文件夹,同样来储存编译产生的文件。
第十五步,在C51目录下载Include Paths中选择要包含的文件路径,注意要包含到最底一层。
第十六步,由于流水灯代码较为简单,这里只包含了LED文件夹。
第十七步,右击我的电脑,点击管理,查看单片机与电脑连接的端口号。
第十八步,这里我们可以看到端口号是COM5。
在下载软件中选择正确的单片机型号和端口号,打开程序文件(在OBJ文件夹中) ,然后下载程序即可。
三、流水灯示例
led.h
#ifndef __LED_H
#define __LED_H
#include<reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void Led_Init();
#endif
led.c
#include"led.h"
void Led_Init()
{
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
}
main.c
#include<reg52.h>
#include<led.h>
typedef unsigned int u16;
typedef unsigned char u8;
void main()
{
u16 i = 0;
u8 cnt = 0;
Led_Init();
while(1)
{
P0 = ~(0x01 << cnt);
for(i = 0; i < 20000; i++);
cnt++;
if(cnt >= 8)
{
cnt = 0;
}
}
}