vscode+platformio IDE+sdcc搭建51单片机开发环境,使用的单片机是STC89C52RC,最终我们使用单片机引脚的pwm输出实现两颗led拖尾交替输出,模拟警车上的灯的一个效果。

依然老套路,安装在虚拟机里,为什么呢?为了模拟一个完全从0开始的环境。
首先准备需要的软件
1.

VSCODE,这个安装此处不再赘述,网上有很多教程,基本就是点下一步就完成了。

2.

vscode插件,其中包括 platformIO IDE,这是一个单片机开发的集成环境,内部直接包含编译器,可以帮助我们链接,编译,生成2进制文件,等于把makefile该干的事都干了。虽然它自称是IDE,但它是以插件的形式安装在其他编辑器或IDE上的IDE。

3.

二进制文件下载软件,STC官方提供的一个软件,后面会说明。

首先我们安装vscode需要安装的插件

1.中文插件

2.C/C++ 语言包,微软官方提供的插件,可以做一些语法检查,智能提示等。

3.platformIO IDE 这个是重头戏,功能非常强大的一个IDE,我也只是略懂皮毛,有兴趣的小伙伴可以自行百度。反正我们能知道此处他就是帮我们,链接,编译,生成二进制文件就可以了,使用的编译器是sdcc。

安装的时间可能会有点长,等待右下角的进度条走完,安装完成以后右下角会提示重启vscode,如果还没有切换到中文环境又不认识英文,那么里面有个单词restar,看到这个单词说明装完了,直接重启vscode。

此处可以看到我圈出来了两个地方,一个是一只蚂蚁的头,一个是房子图标,蚂蚁头是IDE的主界面,房子是创建项目的界面,然后我们点击房子,然后跟着图示操作即可。


上图忘记了写项目名,大家可以写一下。

下面我们编写代码

delay.h

#ifndef __DELAY_H
#define __DELAY_H#define MAIN_Fosc 11059200L //晶振频率,每秒void delay_ms(unsigned int ms);
#endif

delay.c


#include <delay.h>
void delay_ms(unsigned int ms)
{unsigned int i;do{i = MAIN_Fosc / 1300000;while (--i);} while (--ms);
}

led_out.h

#ifndef __LED_OUT
#define __LED_OUT#include "mcs51/stc12.h"
#include "mcs51/8052.h"void led_pwm_out();
void led_out();
void ztim(void) __interrupt 1;#endif

led_out.c

#include "led_out.h"
#include "delay.h"#define MAIN_Fosc 11059200L //晶振频率
#define LED1 P1_1           //输出1
#define LED2 P1_2           //输出2unsigned char CYCLE;  //定义周期该数字X基准定时时间如果是10 则周期是10x 0.1ms
unsigned char PWM_ON; //定义高电平时间void led_out()
{while (1){LED1 = 0;LED2 = 1;delay_ms(100);LED1 = 1;LED2 = 0;delay_ms(100);}
}void led_pwm_out()
{__bit ZFlag;TMOD |= 0x01; //定时器设置 0.1ms in 12M crystalTH0 = (65536 - 45872) / 256;TL0 = (65536 - 45872) % 256; //定时0.1mSIE = 0x82;                   //打开中断TR0 = 1;CYCLE = 50; // 时间可以调整这个是10调整8位PWM就是256步while (!ZFlag){delay_ms(25); //延时时间,从一个亮度到下一个亮度的间隔时间,速度快就能看到连续效果PWM_ON++;     //这个使用较长延时,以便能看清楚变化过程if (PWM_ON == CYCLE){ //这个里可以添加其他程序												

vscode+platformio IDE+sdcc搭建51单片机开发环境(win764)相关推荐

  1. 51单片机支持python么_macOS搭建51单片机开发环境

    1.概述 鉴于好多朋友平常工作电脑为苹果,再配一台 Windows 机器来开发 51 单片机,略显多余.为此,本文详细讲解在 macOS 搭建 51 单片机开发环境. 软硬件需求:macOS 笔记本或 ...

  2. Linux操作系统搭建51单片机开发环境(国产桌面操作系统deepin)

    1.概述 操作系统作为计算机系统的掌上明珠,一直是我们国家极力想要掌握的核心技术之一.随着这几年国际关系动荡,地缘政治风云突变的缘故,开发和应用国产操作系统热情空前高涨.尤其基于 Linux 的国产操 ...

  3. 零基础 Ubuntu 20.04.01 下搭建51单片机开发环境[开源编译器SDCC]

    原创首发于CSDN,转载请注明出处,谢谢! 文章目录 为何会在Linux下开发单片机 个人系统环境与所用开发板 安装开源编译器 sdcc STC MCU ISP 闪存工具 stcgal 的安装 单片机 ...

  4. 基于Mac OS系统搭建51单片机开发环境

    基于Mac OS系统搭建51单片机开发环境 Reason 本人是杭电计科学生,参加的智能小车队伍平时需要大量基于单片机的操作,目前使用的是MBP(冤种mac),网上大多又是基于Windows系统等开发 ...

  5. 使用VScode的EIDE插件进行51单片机开发

    使用VScode的EIDE插件进行51单片机开发 由于Keil C51没有代码提示功能,随着STC系列单片机功能的强大,内部寄存器越来越多,没有代码提示功能会造成编程上的困难.此外,一些复杂的变量名, ...

  6. linux 下51单片机开发环境搭建

    linux 下51单片机开发环境搭建(arch linux) 编译sdcc 软件: sdcc 命令:sdcc file.c 得到一堆文件需要( .inx) 命令: packihx file.inx & ...

  7. 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码

    51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子    1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...

  8. VSCode下的51单片机开发环境搭建

    工欲善其事,必先利其器,VSCode的C语言开发环境配置不再赘述.这是一些比较好用的插件,可以使VSCode更加智能化. 首先用 Keil Assistant (可有可无)把 keil 的项目导入(最 ...

  9. 51单片机开发环境搭建 - VS Code 从编写到烧录

    我安装并测试成功的环境: 操作系统:Windows 10 (22H2) 单片机:STC89C52RC Python version: 3.7.6 在这之前,给51单片机写程序是用 Keil 5(编写+ ...

最新文章

  1. 人工机器:作为归纳系统的深度学习
  2. 【Electron】Electron开发入门(八):自定义electron框架外壳(shell)的菜单(Menu)...
  3. php 导出excel 特殊字符,PHPEXCEL导出,存在特殊字符遇到的问题
  4. Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制
  5. JBuilder安装JDBC drive的方法略解
  6. 物联网卡对企业设备的重要性
  7. python代码怎么保存为pdf_python把ipynb文件转换成pdf文件过程详解
  8. 玩单片机需要学数电、模电吗?
  9. 对于课程签到设置合理性的调查报告
  10. HDU 6184 Counting Stars(分块)
  11. 张锋因何错过诺贝尔化学奖?
  12. 权威机构发布行业白皮书,菜鸟有望成为数智航运时代的领军者
  13. window7系统怎么给电脑安装
  14. 自行车改装电动车怎么样_电动车听起来应该是什么样?
  15. 由乌龟画一个正方形所想到的
  16. 视频显示设备和光栅扫描系统
  17. hdu1226超级密码【数字广搜+大数取模】
  18. PyCharm:选择性忽略 PEP8 警告
  19. CISP报考指南(学员经验分析)
  20. 使用java代码查询本机ip地址

热门文章

  1. HTTP状态码@蓝神
  2. Spring In Action 4
  3. JAVA中如何判断质数
  4. Linux qt 运动控制卡,运动控制卡应用开发教程之VB6.0
  5. 猎豹网校快速掌握 QTP 测试工具
  6. java计算机毕业设计邻里平台源代码+数据库+系统+lw文档
  7. Realme GT ROOT 解锁BL教程
  8. 算法设计与分析--昆虫繁殖
  9. GEWV2.3L22A-SLIC烧坏问题经验案例
  10. CentOS7 运维 - 磁盘管理与文件系统 | 超详细 | 附挂载教程及错误排查 | parted超大磁盘分区教程