单片机
返回首页

VS Code开发51单片机【代码+编译+烧录】

2025-09-23 来源:cnblogs

一、下载安装Keil

VS Code配合【Embedded IDE】插件写 C51 单片机程序还是要安装 Keil C51,因为需要用到里面的编译器和链接器。

二、下载安装 Visual Studio Code

初学者一般都使用 Keil μVision 来编写C51、STM32 等单片机的代码,但这个教程是一份关于在Visual Studio Code上开发51单片机的入门教程。

三、VS Code安装插件

1.插件【Chinese】——汉化VS Code

VS Code软件界面英文变中文版,功能秒明白。安装完记得重启软件。

2.插件【C/C++】【C/C++ Extension Pack】——检查C语言的语法。

3.插件【Embedded IDE】

点击扩展,搜索【Embedded IDE】并安装

4.插件【Keil Assistant】

这个插件可以不用安装,因为前面安装的Embedded IDE插件是这个Keil Assistant的升级版。

安装完后点击【扩展设置】,添加Keil的可执行文件的路径,这里有两个路径,上面是C51的,下面是MDK的。

注意:这里我的 Keil C51 和 Keil MDK-Arm 共存,所以两个位置填的是同一个地址。安装时Keil C51必须先装,Keil MDK-Arm后装。

5.插件【通义零码】——AI智能写代码

点击扩展,搜索通义灵码【TONGYI Lingma】

阿里巴巴的智能编码助手:解释代码、生成流图、写代码注释、写单元测试、优化代码、智能问答解决问题,AI真香——要登录才能使用哦

四、创建EIED项目

新建一个EIDE项目(New Project)——然后在中间弹出的下拉菜单中选择空项目(Empty Project)——选择 8Bit MCU Project——选择 8051 Empty Project(With Keil C51 Compiler)——输入项目名(我命名为 test_VSC_C51)——回车选择项目的存放路径(放在自己新建的文件夹里)——右下角弹出通知,点击Yes打开项目的工作空间——项目创建成功!

五、配置C51编译器,只需一次

点击【EIDE】插件,下方操作中选择【配置工具链】,点击第一个Keil C51,这里需要找到Keil C51软件的安装路径,选择‘TOOLS.INI’文件。

注意:这里我的 Keil C51 和 Keil MDK-Arm 共存,必须先装Keil C51,后装Keil MDK-Arm。

六、编译和下载

自动生成的代码,主函数所在位置如图所示,点击左边【资源管理器】,在src目录下是main.c源代码文件。

  • .eide: EIDE 项目文件夹,存放eide项目信息,日志等文件

  • .vscode: VS Code 配置文件目录

  • build:编译默认输出目录,可以在项目的设置中修改

  • tools:编译和下载使用的 Python 程序(是Python)

1.构建(F7)

先确认构建配置:Keil_C51

首先点击【EIDE】插件,才会出现构建配置和烧录配置。

点击【构建配置】右边的切换箭头,选择Keil_C51工具链。

然后点击右上角的“构建”符号

正常情况下,底部终端会输出“构建成功”的提示

如果不成功的话,需要用 Win+cmd 唤醒命令行安装一下python相关的东西,当时用【通义灵码AI】生成解决方案把问题给解决了,没截图保存,现在想不起来了。。。貌似是关于 stcflash.py 的问题,因为上面说的tools编译和下载使用的 Python 程序。

当时有个构建异常ERROR build failed,卡了好长时间,直接甩过去问【通义灵码】,提供了很多种可能,试了但都没用,直到后来~

解决的方案:当时机子里装了3个Keil,分别是一个MDK,两个版本的C51,把共存的MDK和C51保留,删除了另一个低版本C51v959。重新链接了TOOLS.INI文件的正确位置,才使得构建过关了。

2.烧录程序

构建成功后的下一步就要把程序下载到51开发板啦,不再使用广告多多的STC-ISP了。

2.1 默认Shell下载程序

烧录配置:一般默认是Shell烧录脚本,点击右上角的“烧录”符号,可以在终端看到如下信息。

但如果烧录出现如下信息:

Traceback (most recent call last): File 'E:VSC_C51test_VSC_C51toolsstcflash.py', line 1412, in  

main()

File 'E:VSC_C51test_VSC_C51toolsstcflash.py', line 1408, in main

program(Programmer(conn, opts.protocol), code, opts.erase_eeprom)

File 'E:VSC_C51test_VSC_C51toolsstcflash.py', line 975, in program

prog.detect()

File 'E:VSC_C51test_VSC_C51toolsstcflash.py', line 517, in detect

raise IOError()

^^^^^^^^^^^^^^^

OSError

【通义灵码】说:stcflash.py 脚本在执行 detect 方法时抛出了一个 OSError 异常。最后的解决方案好像是把【烧录配置】由shell改为stcgal,详见步骤2.2。

2.2 配置下载器下载程序

烧录配置:如果不用Shell烧录脚本,则需要选择【stcgal】烧录(STC芯片专用。 )

点击【烧录配置】右边的切换箭头,选择stcgal for STC chips。

这里需要通过命令行安装stcgal下载器

        pip安装: 在Win+R唤起的cmd窗口输入并执行: pip3 install stcgal

       注意:请提前安装python 3.13.x,并添加路径到Path环境变量

2.3 点击烧录

点击右上角的“烧录”符号

等待MCU重新上电,写Flash的进度条跑动起来……

烧录完成,程序成功下载到开发板

打包模板

对于当前项目,可以将其创建为模板并将模板打包,供之后开发其他同类型的项目使用。

在项目名称处右击,导出为【EIDE模板】,当前项目的路径中会自动生成一个EPT类型文件。

之后新建项目如果想基于这个模板,在新建项目的时候,不要点【空项目】 Empty Project,应该选择 【本地项目模板】Local Template。

然后根据模板的路径,选择相应的 【*.ept 】文件就可以了。

继续输入一个要新创建的项目名称

最后给大家上一个项目的完整目录的截图


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章