STC8属于8051单片机,发展到现在已经是带流水线的版本了,不过依然还是支持8051的指令集。因此任何支持8051的IDE都可以用来开发STC8单片机。

不过由于ECBM库的一些特性,我们只使用KEIL for C51来编程。所以第一步就是需要从网上下载KEIL的安装包。尽量选择基于KEIL4的KEIL for C51版本,那些基于KEIL2的已经太老了。也可以加群778916610获取。ECBM库2.0版也可以通过QQ群获取,也可以通过码云克隆、下载。

ECBM库2.0版​gitee.com

安装方面的细节,这里就不细谈,只是ZZZQ的说一声尽量使用正版软件。安装完成后,可以看到图标是这样的。

KEIL的作用有2个:1.提供一个包含各种工具的编辑环境;2.将代码从C语言编译成机器码(HEX文件)。所以我们还需要一个能把机器码装进单片机的烧录软件:STC-ISP。

截止发稿日,最新的软件版本就是6.87B

打开STC-ISP文件,界面如下:

如图所示,先找到Keil仿真设置的选项卡,然后点击“添加型号和头文件到Keil中”。

在浏览文件夹中,选择Keil的安装地址,点击Keil文件夹使其呈选中状态,然后点“确定”。

添加型号成功后,Keil就能编译STC的单片机了。接下来,从群里或者码云那里弄到一份ECBM的库文件,文件结构如下:

device文件夹里存放着一些外设模块的驱动文件(不断更新中)。ECBM_LIB文件夹里存放着单片机内部资源的库函数。stc.h则是STC8的头文件,作用相当于reg51.h。


一切准备就绪后,开始新建工程。打开KEIL,点击Project,选择New uVision Project。你可以任意指定一个位置来存放工程文件,但是在路径中不要包含中文!选择好路径、输入工程名字后,点击“保存”。此时会弹出一个框让你选择CPU类型。

选择STC MCU Database,然后点OK。

在型号选择框里,寻找STC8A8K64S4A12。STC8的内核都是一样的,所以也可以选择其他STC8开头的型号。而STC8A8K64S4A12是STC8里资源最丰富的型号,推荐选择这个。然后点OK。

之后会弹出这个框说要不要复制STARTUP.A51到工程中,这个文件对于C语言编程来说是必须的,所以我们选择“是”。如果是使用汇编编程,就点“否”。

新建好的工程什么都没有,在Target 1上点击右键选择Add Group。然后输入组的名字,比如LIB。这个名字当然是自定义的。

然后双击刚才新建的组,在弹出的文件选择框里进入ECBM_LIB文件夹,全选里面所有的文件,然后点击“Add”。

库文件搞定后,点击File->New...新建一个文件,CTRL+S保存为main.c文件。然后双击Source Group 1,和添加库文件一样把main.c添加进来。最终的工程结构是这样的:

然后点击选项栏的魔术棒图标,

在Target选项卡中,将Memory Model选择为Large,这是为了默认把变量都存到XDATA区,充分利用STC8的大内存。Code Rom Size也可以选择Large。

在output选项卡中,勾选Create HEX File。这样才能生成HEX文件。

在BL51 Misc选项卡中,在Warning里输入16。因为16号警告是警告一些函数定义了却没有被使用。对于库函数来说,因为你不会用到所有的库函数,所以不关掉这个警告的话,会比较烦人。

还剩最后一步,在C51选项卡中,找到Include Paths,点击右侧的“...”按键,然后在路径选择框里点新建(箭头3指的图标),把device和ECBM_LIB文件夹都添加进来。这样在加载库函数和外设模块头文件的时候,Keil才知道去哪里去找头文件。

大功告成!打开main.c输入

#include 

按F7编译。出现如下的输出,说明工程搭建完毕!

图中信息显示了目前工程占用了15.7字节的data,这个区一般有128字节~256字节。xdata区占用了449字节。根据型号不同,该区域的大小由1K~8K不等。Code区占用了6424字节,库函数还是比较占空间的,所以不推荐使用16K以下ROM空间的STC8单片机。

预告:下一章里,将会介绍如果使用GPIO库点亮一个LED灯。

keil如何添加h文件_ECBM系列教程1:如何搭建ECBM库环境。相关推荐

  1. keil如何添加h文件_【专栏】Keil系列教程

    置顶/星标公众号,不错过每一条重要消息! 本教程由作者strongerHuang原创发布. 版权所有:禁止商用 申明:该文档仅供个人学习使用,转载请公众号联系作者授权. 该系列教程结合MDK-ARM整 ...

  2. keil如何添加h文件_如何给PDF文件添加水印?分享给PDF批量加水印的方法

    如何给PDF文件添加水印?在处理一些重要的商业文件中,很多人害怕文件内容被抄袭盗用,就会在文件中添加水印,其中包括Word.Excel.PPT.图片.PDF等多种不同的文件.那如果是PDF文件,你知道 ...

  3. keil如何添加h文件_被Keil坑了一天!实在太意外了!用Keil的来瞅瞅看

    在前面的文章和视频里,我一直是以STM32F303VCTx为基础给大家介绍的,项目上也一直用着,没出现任何问题.但是前几天在探索建立基于GNU ARM+Cygwin+VSCODE的免费开发环境的时候, ...

  4. keil如何添加h文件_如何给PDF文件添加水印?分享给PDF批量加水印的方法-PDF ——快科技(驱动之家旗下媒体)-...

    如何给PDF文件添加水印?在处理一些重要的商业文件中,很多人害怕文件内容被抄袭盗用,就会在文件中添加水印,其中包括Word.Excel.PPT.图片.PDF等多种不同的文件.那如果是PDF文件,你知道 ...

  5. stm32cubemx生成不了keil工程文件_STM32CubeMX系列教程03_创建并生成代码工程

    说明: 本文原创作者『strongerHuang』 首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop 标签:STM32. STM32CubeMX. LL库. H ...

  6. 使用keil软件添加.C文件和.H文件到工程

    使用keil软件添加.C文件和.H文件到工程 1.第一步 在所建工程的文件夹下的HARDWARE子文件夹下创建一个所要添加文件名称,例如要添加led.c和led.h文件,可以先在HARDWARE文件目 ...

  7. Keil uVision添加新文件夹

    Keil uVision5是款比较优秀的IDE编译器 最近接手一个项目,代码已经形成一个版本,在此基础上新增一些新功能 由于不破坏原先结构的目的,因此新增的部分采用独立方式(存放在独立的文件夹),一开 ...

  8. 系列教程 | 用Jina搭建PDF搜索引擎Part 1

    PDF Search 系列教程来咯,在 Part 1 中,我们将演示如何从 PDF 中提取.处理并存储图像及文本. 随着神经搜索 (Neural Search) 技术的普及,越来越多开发者,开始尝试用 ...

  9. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之四Git搭建下载实例!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述&&调用方法! 相信大家看了 ...

最新文章

  1. ×××技术在ATM机无线组网中的应用
  2. G6 图可视化引擎——入门教程——插件与工具
  3. python笔记之序列(list的基本使用和常用操作)
  4. tmpfs 文件系统介绍
  5. `object.__init__`
  6. AndroidStudio_解决butterknife在module中使用BindView Attribute value must be constant---Android原生开发工作笔记229
  7. Vue2.0入门系列——父子组件间通信
  8. 解决Uncaught (in promise) reason的问题
  9. 【hdoj1021】类斐波那契数列的循环节(f[i]能否mod3?找规律)
  10. 什么是电子元器件 电子元件和电子器件的区别
  11. 玉柴spn码故障对照表_玉柴电控柴油机故障代码及读码方法
  12. Linux 用户必须知道的 14 个常用 Linux 终端快捷键
  13. linux打开终端的快捷键是什么?
  14. MXF视频文件损坏的修复方法
  15. python 两点曲线_圆锥曲线第八节:直线与椭圆的相交
  16. 网站 下载 整个_如何下载整个网站?
  17. MPI聚合通信之MPI_Bcast函数
  18. 免费在线汉信码识别(Online Hanxin Decoder)
  19. 【VR游戏】封神榜传
  20. 移动通信各制式、调制的速率及频谱利用率(2G-4G)

热门文章

  1. 小米10s返回键设置步骤分享(图文教程)
  2. 教师资格证的面试科目
  3. Qt监控系统进程 网址 留着一会用
  4. 【Unity3D】Unity3D开发《我的世界》之六、创建地形(视频 + 源码)
  5. 2022年湖南省公共营养师(基础知识)练习题及答案
  6. Markdownpad2注册码
  7. Photoshop设计精讲精练读书笔记
  8. Android多点触控技术
  9. YOLO v1论文详解
  10. High Dynamic Range Image Tone MappingBased on Asymmetric Model of RetinalAdaptation