STC单片机VSCode PlatformIO Led呼吸灯示例程序
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STC单片机VSCode PlatformIO Led呼吸灯示例程序相关的知识,希望对你有一定的参考价值。
【STC单片机】VSCode PlatformIO Led呼吸灯示例程序
- 自制开发板(【开源分享】自制STC15W408AS开发板)
工程新建和项目名称
项目结构
主程序示例代码
#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呼吸灯示例程序
STC单片机基于VSCode PlatformIO开发STC15W408AS软串口示例程序