当前位置:网站首页>STC 32位8051单片机开发实例教程 一 开发环境搭建
STC 32位8051单片机开发实例教程 一 开发环境搭建
2022-06-23 03:57:00 【Bill66】
第一步 下载Keil C251,STC32G系列单片机的用户手册中有Keil C251的下载链接,通过该链接可直接从官网下载。
第二歩 安装Keil C251,安装方法与步骤与安装Keil C51差不多,这里不详细介绍。如果不想覆盖掉已安装的Keil C51,安装时需选择与Keil C51不同的盘符。我是把它安装在MDK-ARM同一目录下了,这并不影响MDK-ARM的运行。
第三歩 添加头文件到开发环境Keil C251中。首先从STC的官网下载stc-isp-15xx-v6.89G.zip,这个目前是最新版本。然后解压该压缩文件,解压后如下:

双击最后一个文件,运行 该程序文件,运行后界面如下:

点击仿真设置,选择单片机型号,如下:

点击添加型号和头文件到Keil中添加STC仿真器到Keil中按钮,添加型号与同文件到keil中,如下:
然后指定Keil C251的安装目录,如下:

点击“确定 ”按钮,添加型号与头文件完成。
第4歩 创建模版文件。创建一个模版文件,将需用到的库文件,拷贝到该模版中,需要设置的先设置好,这样可以节省开发时间。真没必要,每个案子都从Project :New uVision Project开始。做一个新的案子,将模版文件Copy过去,略做修改即可。
首先新建Project将其存在STC 32G Template下,如下:

选择STC MCU Database,如下:

然后,选择STC32G12K128 Series,如下:

点击OK,完成创建Project。
打开STC 32G Template文件夹,新建Lib、Manual、Output、User文件夹,如下:

删除Objects文件夹,并将STC 32G Template文件夹下的所有文件移入Proj中。结果如下:

退出Keil C251,将STC32G用户手册Copy到Manual文件夹中。如下:

启 Keil C251,打开STC 32G Template文件夹下Proj中的stc_32g template.uvproj。
点击工具栏中图标
,进入设置界面,如下:

点击Books,如下:

点击
,添加用户手册,如下:

点击OK后,回到先前界面,如下:

点击OK,退出设置。
点击右下角的Books,可以看到STC32.pdf出现在Books的列表中,如下:

双击 STC32.pdf,即可打开,如下:

点击右下角的Project,然后将鼠标指针移动到Target1上,再按鼠标右键,点击弹出菜单中的“ManageProject Items”,如下:

进入Manage Project Items界面,如下:

首先将Target1改为Template,如下:

再将Source Group 1改为Lib,如下:

点击OK退出设置。可以看到project中列表,变成了如下模样:

配置Project,点击工具栏中的设置按钮,如下:
![]()
进入配置界面,如下:

点击Output,设置如下:

点击Slect Folder for Object,设置输出路径,指向STC 32G Template文件夹中的Output文件夹, 如下:

点击Listing,然后点击Select Folder for Listings,设置 Listing文件存储路径

指向STC 32G Template文件夹中的Listings文件夹,如下:

点击C251,添加包含路径,如下:


![]()
![]()
点击L251 Misc,添加REMOVEUNUSED,如下:

下载STC32G函数库,STC为STC32G制作了简单函数库,可从其官网去下载。下载并解压后,将其Copy到STC 32G Template文件夹下的Lib文件夹中,如下:

新建两个myport.h, main.h, main.c,存于STC 32G Template文件夹下的User文件夹中,如下:

在myport.h中加入如下代码:
/*myport.h
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu on 06/22/2022
*/
#ifndef __MYPORT_H__
#define __MYPORT_H__
#include <STC32G.H>
#endif在main.h中加入如下代码:
/*main.h
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu on 06/22/2022
*/
#ifndef __MAIN_H__
#define __MAIN_H__
#include "myport.h"
#endif在main.c中加入如下代码:
/*main.c
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu on 06/22/2022
*/
#include "main.h"
void main()
{
}
//End of main()将main.c加入到Project中,操作如下:


加入后,Project列表,如下:
试编译看有无错误,编译结果如下:

没有错误。
查看生成的hex文件,打开STC 32G Template文件夹下的Output文件夹,可以看到生成了一个hex文件,说明编译链接成功。如下:

模版文件创建完成,将在后面的例子中使用。为避免多处下载开发工具的麻烦,我已将该模版文件及本文提到的开发工具打包为STC 32G开发工具,上传到CSDN,如有需要可去下载,
边栏推荐
- GO语言-自定义error
- 618 how to break through the siege? Haier Zhijia: do a good job in digitalization of users
- Introduction to JDBC (I) DML operation
- A bug in rtklib2.4.3 B34 single point positioning
- The tiobe programming language ranking is an indicator of the popular trend of programming languages
- VMware network connection error unit network service not found
- [microservices | Nacos] Nacos realizes data isolation of multi environment and multi tenant
- 如何进行探索性数据分析
- Array The from method creates an undefined array of length n
- 今日睡眠质量记录80分
猜你喜欢

IDEA 代码开发完毕后,提交代码,提交后发现分支不对,怎么撤回

Image noise reduction denoise AI

How to conduct exploratory data analysis
![[laravel series 7.8] broadcasting system](/img/87/46b3dc32346356ee70bdb7ec841881.png)
[laravel series 7.8] broadcasting system

insert into... Where not exists insert to avoid repeated use

MCS: continuous random variable - student's t distribution

计算欧式距离和余弦相似度

Introduction to JDBC (III) implementation of transaction rollback function

618 how to break through the siege? Haier Zhijia: do a good job in digitalization of users

Zygote进程
随机推荐
PHP move_ uploaded_ File failed to upload mobile pictures
MCS:连续随机变量——LogNormal分布
STM32cube 串口使用DMA+IDLE接收不定长数据
JDBC入门学习(三)之事务回滚功能的实现
When I was young, I thought my father was omnipotent
牛B程序员在“创建索引”时都会注意啥?
云原生架构(04)-CNCF
View of MySQL introductory learning (III)
pygame音乐相关的功能实现
MCS: continuous random variable lognormal distribution
Go 分组 & 排序
物联网开源开发平台 Shifu 开放内测!第一版技术文档发布
About dos/ddos attack and defense
GO语言-自定义error
弱者易怒如虎,强者平静如水,真正厉害的人早已戒掉了情绪
同步国内AOSP代码相关错误
Swiftui 2.0 course notes Chapter 4
C language stack implementation
左侧固定,右侧自适应 三种实现办法(Flex,float + BFC ,float-margin-left)
ES6的Array.from方法创建长度为N的undefined数组