当前位置: 首页 > news >正文

【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建

【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建

七律 · 单片机

小小芯片大乾坤,集成世界在其中。
初学虽感千重难,实践方知奥妙通。

今天的讲法和过去不同,直接来一个多文件模块化的工程模板创建,万事开头难,我们把难事开头做,后面的就简单了,一个月之后感谢我吧。

本教程将详细指导你完成 STC8A8K64S4 单片机工程模板的创建与使用。我们将基于 Keil C51 开发工具,详细讲解每一步操作,包括文件结构的创建、移植过程、移植文件名称及对应目录,以及 Keil 分组目录和对应文件的说明。


1️⃣ Keil C51 开发环境安装

1.1 Keil C51 介绍

Keil C51 是 Keil 公司推出的用于 8051 系列单片机的集成开发环境(IDE),支持 C 语言和汇编语言开发。

1.2 Keil C51 下载与安装

  1. 访问下载页面
    打开 Keil 官网:https://www.keil.com,下载 Keil C51 安装包。

  2. 安装 Keil C51

    • 右键以管理员身份运行安装包。
    • 按照提示选择安装路径(路径中不能包含中文)。
    • 填写个人信息(可随意填写)。
    • 等待安装完成。
  3. 激活 Keil C51

    • 以管理员身份运行 Keil C51。
    • 点击 File -> License Management
    • 点击 Get LIC via Internet,按照提示填写信息并获取激活码。
    • 将激活码粘贴到 New License ID Code (LIC) 中,点击 Add LIC 完成激活。

2️⃣ STC8A8K64S4 器件支持安装

2.1 下载 STC-ISP 工具

  1. 访问 STC 官网
    打开 STC 官网:https://www.stcmcudata.com,下载 STC-ISP 工具。

  2. 安装 ST极-ISP 工具

    • 双击安装包,按照提示完成安装。

2.2 添加 STC 器件支持

  1. 打开 STC-ISP 工具
    安装完成后,打开 STC-ISP 工具。

  2. 添加器件支持

    • 在 STC-ISP 工具中,点击 Keil 仿真设置 选项卡。
    • 点击 添加 STC 仿真驱动到 Keil 中,选择 Keil 的安装路径。
    • 等待驱动添加完成。
  3. 验证器件支持

    • 打开 Keil C51,点击 Project -> Manage -> Pack Installer,查看是否已添加 STC8A8K64S4 器件支持。

3️⃣ 工程模板创建与使用

3.1 创建新工程

  1. 新建工程文件夹
    在本地创建一个文件夹,例如 STC8A_Project,注意路径中不能包含中文。

  2. 打开 Keil C51 并创建工程

    • 打开 Keil C51,点击 Project -> New uVision Project
    • 选择刚才创建的文件夹,输入工程名称,例如 STC8A_Template
    • 点击 Save
  3. 选择芯片型号
    在弹出的窗口中选择 STC8A8K64S4(根据实际芯片型号选择),点击 OK

3.2 文件结构创建

  1. 创建文件夹结构
    在工程文件夹 STC8A_Project 中创建以下文件夹:
    • Projects:存放不同 IDE 的工程文件。
      • MDK-RAM:存放 Keil C51 极工程文件。
    • Drivers:存放所有驱动相关文件。
      • BSP:存放底层相关的支持包。
      • Module:存放各类软件模块,如定时器、状态机等。
      • Core:存放核心文件。
      • Libraries:存放 STC8A 外设库文件。
    • APP:存放应用程序,由用户编写,包含 main 函数。
  2. 目录结构图示
STC8A_Project/
├── Projects/
│   └── MDK-RAM/
├── Drivers/
│   ├── BSP/
│   ├── Module/
│   ├── Core/
│   └── Libraries/
└── User/
  1. 复制库文件与启动文件
    从 STC8A 外设库中复制以下文件到对应文件夹:
    • Drivers/Core
    • Drivers/STC8A_Libraries

3.3 Keil 分组目录与对应文件

  1. 在 Keil 中添加分组
    • 右键 Target 1,选择 Add Group,创建以下分组:
      • User
      • BSP
      • Module
      • Core
      • Libraries
  2. 添加文件到分组
    • BSP 分组:添加 Drivers/BSP 文件夹中的文件。
    • Module 分组:添加 Drivers/Module 文件夹中的文件。
    • Libraries 分组:添加 Drivers/Libraries/Src 文件夹中的所有 .c 文件。
    • Core 分组:添加 Drivers/Core 文件夹中的 所有 .c` 文件。
    • User 分组:添加 APP` 文件夹中的文件。
  3. 添加头文件路径
    • 点击 Project -> Options for Target -> C/C++
    • Include Paths 中添加以下路径:
      • Drivers/BSP
      • Drivers/Module
      • Drivers/Libraries/Inc
      • Drivers/Core
      • User

3.4 编写主程序

  1. 创建 main.c 文件

    • 右键 User 分组,选择 Add New Item to Group,创建 main.c 文件。
  2. 编写代码
    main.c 中添加以下代码:

#include "stc8a8k64s4.h"
#include "board_init.h"

void Delay(uint32_t count) {
    while (count--);
}

int main(void) {
    // 板子初始化
    Board_Init();

    // 配置 P1.0 为推挽输出
    P1M0 |= 0x01;  // P1.0 推挽输出
    P1M1 &= ~0x01;

    while (1) {
        P1_0 = 0;  // 点亮 LED
        Delay(1000000);
        P1_0 = 1;  // 熄灭 LED
        Delay(1000000);
    }
}

3.5 编译与下载

  1. 编译工程
    点击 Build 按钮(或按 F7),确保没有错误和警告。

  2. 下载程序
    连接开发板,点击 Download 按钮(或按 F8),将程序下载到开发板。


4️⃣ 使用例程或模板

4.1 复制模板工程

  1. 从 STC8A 外设库中复制模板
    找到 STC8A 外设库,将其复制到本地并重命名。

  2. 打开工程
    在 Keil C51 中打开复制的工程文件(.uvprojx)。

4.2 修改头文件路径

  1. 调整头文件路径
    点击 Project -> Options for Target -> C/C++,修改头文件路径为相对路径。

4.3 编译与下载

  1. 编译工程
    点击 Build 按钮,确保没有错误和警告。

  2. 下载程序
    连接开发板,点击 Download 按钮,将程序下载到开发板。


5️⃣ 总结

通过本教程,你已经完成了 STC8A8K64S4 开发环境的安装、器件支持的添加以及工程模板的创建与使用。接下来,你可以基于模板开发自己的应用程序,探索 STC8A8K64S4 的更多功能!🌟

http://www.dtcms.com/a/54339.html

相关文章:

  • 鸿蒙全栈开发 D1
  • JCRQ1河马算法+四模型对比!HO-CNN-GRU-Attention系列四模型多变量时序预测
  • git-filter-repo 清除大文件教程
  • K8S学习之基础十:k8s中初始化容器和主容器
  • 游戏辅助技术教程【预习课】
  • FPGA-按键消抖
  • 信息安全技术、加密、摘要、签名、PKI(高软41)
  • Java数组详解/从JVM理解数组/数组反转/随机排名/数组在计算机如何存储
  • 【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)
  • 2024华为OD机试真题-字符串加密算法(C++)-E卷-100分
  • 机器学习-GBDT算法
  • 数字组合(信息学奥赛一本通-1291)
  • 《深度学习进阶》第7集:深度实战 通过训练一个智能体玩游戏 来洞察 强化学习(RL)与决策系统
  • 全新方案80M/S,告别限速!
  • 阿里云云监控资源告警常用模板
  • 软考架构师笔记-计算机网络
  • Pytest测试用例执行跳过的3种方式
  • 浅论数据库聚合:合理使用LambdaQueryWrapper和XML
  • [数据可视化的python脚本实现]关于餐厅消费的不同维度分析
  • 【MySQL】事务(隔离性、MVCC)
  • 2025-03-06 ffmpeg提取SPS/PPS/SEI ( extradata )
  • 【国产Linux | 银河麒麟】麒麟化龙——KylinOS下载到安装一条龙服务,起飞!
  • DeepSeek接入chatDev实现 智能编程
  • STM32-USART串口数据包
  • 策略模式
  • OpenBMC:BmcWeb构造connect对象
  • 亚信安全发布2024威胁年报和2025威胁预测
  • PostgreSQL常用系统表
  • Linux : 进程地址空间
  • RBAC 权限系统管理模型 学习笔记