STC单片机VSCode PlatformIO Led呼吸灯示例程序

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STC单片机VSCode PlatformIO Led呼吸灯示例程序相关的知识,希望对你有一定的参考价值。

【STC单片机】VSCode PlatformIO Led呼吸灯示例程序


工程新建和项目名称

项目结构

主程序示例代码

#include<lint.h>//包含SDCC_mcs51定义
#include <8052.h>//51头文件
//#include "delay.h"
#define MAIN_Fosc 16000000uL  //时钟频率

#define Led10 P1_0
typedef unsigned int u16;

unsigned char atime = 128;

// 仅作为延时, pms取值区间为 0 - 128
void delay(u16 pms) 
  u16 x, y;
  for (x=pms; x>0; x--) 
    for (y=11; y>0; y--);
  


// 这里控制占空比, i取值区间为 0 - 128, 
// i越大脉冲宽度越低, 因为输出是低位点亮, 所以i越大LED越亮
void ledfade(u16 i) 
  Led10 = 0;
  delay(i);
  Led10 = 1;
  delay(atime-i);


int main(void) 
  u16 a, b;
  // 每个循环, 小灯
  while(1) 
    // a增大, 脉冲宽度降, 亮度增
    for (a=0; a<atime; a++) 
      for (b=0; b < (atime - a)/4; b++) 
        ledfade(a);
      
    
    // a减小, 脉冲宽度增, 亮度降
    for (a=atime; a>0; a--) 
      for (b=0; b < (atime - a)/4; b++) 
        ledfade(a);
      
    
  


编译和上传

说明

目前VSCode PlatformIO平台支持的STC开发板自带支持的类型不多,如果自己要选择的开发板不在其中,可以自行添加补充单片机型号。但是有一个很鸡肋的问题就是头文件,可能需要自己参照自带的头文件来补充。例如自带的自由STC12.h头文件,但是没有STC15.h头文件,那么只能参照STC12.h文件进行移植修改。如果是简单的开发只要有通用的8052.h的头文件即可,如果要使用到特殊的功能寄存器的话,还是需要去参照已有的头文件进行移植操作了。不同的型号的STC 单片机寄存器还是有些差异的。

以上是关于STC单片机VSCode PlatformIO Led呼吸灯示例程序的主要内容,如果未能解决你的问题,请参考以下文章

STC单片机VSCode PlatformIO Led呼吸灯示例程序

VSCode PlatformIO开发STC单片机注意事项

STC单片机基于VSCode PlatformIO开发STC15W408AS软串口示例程序

VSCode PlatformIO开发STC单片机头文件和常用外设驱动头文件获取方式

vscode+platformIO开发STM32

vscode+platformIO开发STM32