51单片机工程模板的建立(基于STC15系列库)

一、开启前准备

1.STC15官方库文件

1.1 stc15-software-lib-v1.0.rar;下载地址:STC15系列库(带使用手册)资源-CSDN文库

2.Keil4_C51软件,或其它版本;

二、创建工程模板

1.建立文件分类

listing:用于存放编译器编译过程中产生的各种临时文件;

output:用于存放编译器的编译结果,例如16进制程序(hex文件);

readme :存放说明文档,库函数手册等;

start:用于存放8051单片机启动文件;

stclib:用于存放STC15系列库的所有源文件;

stclib/inc:用于存放STC15系列库的所有源文件里面的头文件(.H文件);

stclib/src:用于存放STC15系列库的所有源文件里面的定义文件(.C文件);

user:用于存放用户编写的程序文件;

2.拷贝官方库文件到对应工程文件夹内

2.1 将 "stc15-software-lib-V1.0\STC15系列库函数与例程测试版V2.0\库函数" 文件夹下的所有.h文件全部拷贝到 "stclib/inc" 文件夹下;

2.2 将 "stc15-software-lib-V1.0\STC15系列库函数与例程测试版V2.0\库函数" 文件夹下的所有.c文件全部拷贝到 "stclib/src" 文件夹下;

2.3将 "stc15-software-lib-V1.0\STC15系列库函数与例程测试版V2.0" 文件夹下的<STC库函数使用参考>文件拷贝到 "readme" 文件夹下;

3.新建STC15工程

3.1 打开Keil软件,点击 project -> new uVision project 新建项目

3.2 在弹出的工程保存界面当中选择步骤2中建立目录的文件夹,输入工程名称,输入名称应不包含空格,如果工程名带有空格,应当注意步骤3.7.2的设置6,点击保存;

3.3 选择所使用的芯片系列与芯片型号,点击确认;

3.4 添加启动文件,点击确认;

3.5 点击项目管理,按照项目分类创建项目分组;点击按钮2新建三个分组,双击分组给分组重命名;

start:用于存放启动文件

user:用于存放用户编写的源文件

stclib:用于存放STC15系列库的源文件

因为是新项目,用户编写的文件还没有,我们稍后添加,STC15系列库文件我们已经拷贝到工程目录 "stclib/src" 文件夹下,将其全部添加到工程 "stclib" 目录下

3.6 新建用户源程序文件,保存至 "user" 文件夹下,命名为 "main.c";

3.6 所有文件添加完成后,项目工程目录如下;

3.7 在 "main.c" 中输入基本程序框架;因为我们用的是STC15系列库,所以头文件为 "config.h",点击保存;

#include "config.h"

void main()
{

	while(1);
}

 

3.7 进行项目工程设置;

3.7.1 设置芯片晶振频率

3.7.2 设置编译输出文件存放文件夹

3.7.3 设置编译过程中间链接文件存放文件夹

3.7.4 设置工程头文件检索目录

3.8 工程创建完成,开始编译我们的模板,确保模板能正常工作;

输出窗口显示 "".\output\STC15_DEMO" - 0 Error(s), 17 Warning(s)." 即证明工程模板创建成功。

Program Size: data=70.3 xdata=512 code=3715
creating hex file from ".\output\STC15_DEMO"...
".\output\STC15_DEMO" - 0 Error(s), 17 Warning(s).

三、注意事项

1.STC15系列库有一大串警告,其中主要部分都是在库源文件中定义了函数却没有调用所引起的,可以无视所有 *** WARNING L16: UNCALLED ……警告;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/552617.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PyTorch深度学习之旅:从入门到精通的十个关键步骤

在人工智能的浪潮中&#xff0c;深度学习框架扮演着至关重要的角色。PyTorch作为其中的佼佼者&#xff0c;以其简洁、直观和灵活的特性&#xff0c;吸引了众多开发者与研究者。本文将引导您逐步掌握PyTorch&#xff0c;从基础概念到高级应用&#xff0c;让您在深度学习的道路上…

斯坦福发布法律指令数据集LawInstruct,统一17个辖区24种语言

在法律领域&#xff0c;语言模型&#xff08;Language Models, LLMs&#xff09;的发展一直面临着独特的挑战。法律文本的复杂性、专业术语的广泛使用以及对精确性和可靠性的极高要求&#xff0c;使得法律领域的自然语言处理&#xff08;Natural Language Processing, NLP&…

工业数学模型——高炉煤气发生量预测(三)

1、工业场景 冶金过程中生产的各种煤气&#xff0c;例如高炉煤气、焦炉煤气、转炉煤气等。作为重要的副产品和二次能源&#xff0c;保证它们的梯级利用和减少放散是煤气能源平衡调控的一项紧迫任务&#xff0c;准确的预测煤气的发生量是实现煤气系统在线最优调控的前提。 2、…

JRT在线初始化完善

之前实现的在线初始化留了个尾巴&#xff0c;那就是环境下载页构造zip包的时候没修改JRTBrowser的连接串地址为当前网站&#xff0c;这样就要求网站部署好之后给用户下载之前有人要把服务器的浏览器地址配置好。这样就增加一个运维工作&#xff0c;如果忘了或者不知道的人就会导…

基于SSM的计算机课程实验管理系统的设计与实现(内附设计LW + PPT+ 源码下载)

基于SSM的计算机课程实验管理系统的设计与实现 项目名称&#xff1a; 基于SSM的计算机课程实验管理系统的设计与实现 项目技术栈 该项目采用了以下核心技术栈&#xff1a; 后端框架/库&#xff1a; SSM (Spring Spring MVC MyBatis)数据库&#xff1a; MySQL前端技术&…

01 JavaScript学习 导读

什么是JavaScript&#xff1f; JavaScript 是一种用于创建交互式网页和网络应用程序的脚本语言。它是一种高级、动态类型的语言&#xff0c;广泛用于客户端网页开发&#xff0c;可以用来增强网页的交互性并实现各种功能。 以下是 JavaScript 的一些重要特点和用途&#xff1a;…

Linux中进程和计划任务

一.程序 1.什么是程序 &#xff08;1&#xff09;是一组计算机能识别和执行的指令&#xff0c;运行于电子计算机上&#xff0c;满足人们某种需求的信息化工具 &#xff08;2&#xff09;用于描述进程要完成的功能&#xff0c;是控制进程执行的指令集 二.进程 1.什么是进程…

ORAN C平面 Section Extension 23

ORAN C平面Section扩展23用于任意symbol模式的调制压缩参数。此section扩展允许为一个或多个“SymPrbPatterns”指定多组“mcScaleReMask、csf和mcScaleOffset”值。“SymPrbPattern”用于指定一组PRB&#xff0c;这些PRB可以跨越使用prbPattern指定的整个PRB范围&#xff08;频…

20240329-1-SVM面试题

SVM面试题 1. SVM直观解释 SVM&#xff0c;Support Vector Machine&#xff0c;它是一种二分类模型&#xff0c;其基本模型定义为特征空间上的间隔最大的线性分类器&#xff0c;间隔最大使它有别于感知机&#xff1b;其还包括核技巧&#xff0c;这使它成为实质上的非线性分类…

ACID模型是什么

ACID模型是什么 ACID模型是数据库管理系统中保证事务处理安全性的一组特性。ACID是原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;和持久性&#xff08;Durability&#xff09;四个英文单词的…

使用 ECharts 绘制咖啡店各年订单的可视化分析

使用 ECharts 绘制咖啡店各年订单的可视化分析 在这篇博客中&#xff0c;我将分享一段使用 ECharts 库创建可视化图表的代码。通过这段代码&#xff0c;我们可以直观地分析咖啡店各年订单的情况。 饼图 这段代码包含了两个 ECharts 图表&#xff0c;一个是饼图&#xff0c;用…

lomobok源码编译学习笔记(1)

lomobok学习笔记&#xff08;1&#xff09; 项目导入 lombok的github地址 GitHub - projectlombok/lombok: Very spicy additions to the Java programming language. 开发工具 idea不知道为啥&#xff0c;装上ant工具也不好用&#xff0c;eclipse默认自带有ant,不需要装。…

matlab关于COE文件之读取操作

平台&#xff1a;matlab2021b 场景&#xff1a;在使用fir滤波器后&#xff0c;我们使用matlab生成coe文件后。在xilinx新建IP的后&#xff0c;数据流经过FIR的IP核后数据位宽变宽。这时候我们需要对数据进行截位。这时候需要读取coe文件求和后&#xff0c;计算我们需要截位的位…

Shell学习 - 2.27 Linux bc命令:一款数学计算器

Bash Shell 内置了对整数运算的支持&#xff0c;但是并不支持浮点运算&#xff0c;而 Linux bc 命令可以很方便的进行浮点运算&#xff0c;当然整数运算也不再话下。 bc是"Basic Calculator"的缩写。 bc 甚至可以称得上是一种编程语言了&#xff0c;它支持变量、数组…

初识ansible核心模块

目录 1、ansible模块 1.1 ansible常用模块 1.2 ansible-doc -l 列出当前anisble服务所支持的所有模块信息&#xff0c;按q退出 1.3 ansible-doc 模块名称 随机查看一个模块信息 2、运行临时命令 2.1 ansible命令常用的语法格式 3、常用模块详解与配置实例 3.1命令与…

RK3568驱动指南|第二篇 字符设备基础-第16章 一个驱动兼容不同设备实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

PhotoShop2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe Photoshop是一款由Adobe Systems开发的图像编辑软件。它被广泛用于图像处理和数字艺术创作&#xff0c;是设计师、摄影师和艺术家们的首选工具之一。 主要功能&#xff1a; 图像编辑&#xff1a; Photoshop提供了丰富的编辑…

content-type对数据采集的影响,猿人学58题

在拿猿人学网站 https://www.python-spider.com/api/challenge58 练习的时候发现请求头中少了 content-type之后结果全部不对了 当我设置headers如下时 headers {# accept: application/json, text/javascript, */*; q0.01,content-type: application/x-www-form-urlencode…

【前端Vue】Vue从0基础完整教程第7篇:组件化开发,组件通信【附代码文档】

Vue从0基础到大神学习完整教程完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;vue基本概念&#xff0c;vue-cli的使用&#xff0c;vue的插值表达式&#xff0c;{{ gaga }}&#xff0c;{{ if (obj.age > 18 ) { } }}&#xff0c;vue指令&#xff0c;综合…

使用WebSocket实现答题积分排名实时更新的功能

需求分析 接到一个需求&#xff0c;是一个答题积分小程序&#xff0c;其中有一个功能需求是需要实时更新答题积分排名的。之前通常比较常见的需求&#xff0c;都是指定某个时间点才更新答题排行榜的数据的。 经过技术调研&#xff0c;要实现答题积分排名实时更新的功能&#…
最新文章