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。 烧录配置:如果不用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 】文件就可以了。 继续输入一个要新创建的项目名称 最后给大家上一个项目的完整目录的截图2.2 配置下载器下载程序





打包模板





- 高盛:电车vs自动驾驶,会在2026年“各走各路”吗?
- 苹果联合人大发布VSSFlow模型:无声视频AI同步生成音效与配音
- CES 2026|中外机器人的不同路线:落地场景vs全链技术
- Bourns 全新推出可提供 ESD 保护弹性的 TVS 二极管系列
- Bourns 全新推出 21 款 TVS 二极管系列 提供更广泛的峰值电压范围,提升设计灵活性
- 鹰眼视觉 VS 雷达感应:谁才是智能驾驶的“火眼金睛”?
- Keil5安装+STM32CubeMX安装+VSCode辅助开发教程
- Linux 下 VScode + gcc + cmake 实现 stm32 标准库开发 (f103)
- VScode如何打造STM32开发环境保姆级教程
- STM32开发之VSCode+GDB下载调试
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- 谁有2010集成电路发展前景分析
- arm-linux-gcc 安装
- 50欧姆 耗能
- AnyDATA CDMA的短信发送问题——“AT+CMGS=msgid,number,callback-number,option,data”如何操作?
- WINCE下数据库编程Execute(...)函数消耗内存问题
- TI C54xx DSP 十天速成讲义 <五>
- 【Nucleo心得】STM32L053 Nucleo mbed离线编译(keil)
- 09年电子竞赛参赛技巧经验11条[转]
- (急切求助)CE5.0环境下测试PDA碰到同步及网络连接问题汇总(在线等答案)。。。
- MSP430单片机PWM源码例程




