开源DIY制作分享采用STC15W408AS制作七彩LED广州塔
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源DIY制作分享采用STC15W408AS制作七彩LED广州塔相关的知识,希望对你有一定的参考价值。
【广州塔DIY】采用STC15W408AS制作七彩LED广州塔
- 之前在上升沿购买的散件led散件回来自己搭建的广州塔的,半年前突然就不亮了,这次重新购买回来了芯片,将程序烧录进去,重新恢复了。采用的单片机是
STC15W408AS-35I-SKDIP28
。
- 找了其他网上的广州塔LED代码,烧录进去,效果不理想,有的采用的是共阴极焊接的,有的能亮但是,显示的效果都不多,没有原来之前芯片里面自带程序的效果多,今天想到免去淘宝翻一翻你是记录,看看,能不能找到资料,果真,还有,立马下载下来,将里面附带的程序烧录进去,效果和原来的一样了。特此分享出来,完全可以自己去嘉立创打板,自己做,成本的话也就10块钱的成本完全够,去TB购买散件需要25元左右,对于电子DIY,最重要的就是程序和原理图了,有了这两样基本上制作都没有什么难度了,所以分享出来,让后面的人如果想自己动手制作,完全可以按照这里的资料自己制作。
- STC15W408AS-35I-SKDIP28
- Led灯的价格很便宜的,一大包要不了多少钱,然后就是4个电阻。
制作所需材料(包含教程原理图,程序,焊接教程)
链接: https://pan.baidu.com/s/1DKJq5fa0UdwnCnK4ic_gTw
提取码: edjc
- 资料截图
- 实际焊接的骨架效果取决于个人的焊接水平。凑合着看吧
程序代码
/*共阳极LED灯焊接***/
#include "STC15F2K.h"
#include "intrins.h"
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
sbit L1=P2^5;
sbit L2=P2^6;
sbit L3=P2^7;
sbit L4=P1^1;
sbit L5=P1^2;
sbit L6=P1^3;
sbit L7=P3^7;
sbit L8=P2^0;
sbit L9=P2^1;
sbit L10=P2^2;
sbit L11=P2^3;
sbit L12=P2^4;
sbit C1=P3^0;
sbit C2=P3^1;
sbit C3=P3^3;
sbit C4=P3^4;
sbit C5=P3^5;
sbit C6=P3^6;
sbit C7=P1^4;
sbit C8=P1^5;
sbit C9=P1^6;
sbit C10=P1^7;
sbit C11=P5^4;
sbit C12=P5^5;
sbit hwx=P3^2; //红外接收数据引脚,
unsigned char ly_lhj[4]; //保存NEC的四个字节数据
bit ly_flag=0; //成功接收标志
unsigned int temp;
char moshi=1;
int hys=100;
char zy=0,sj=0;
void Delayms(uint t)
uchar i;
while(t--)
for(i=0;i<hys;i++);
void bjc()//层变化
L1=L2=L3=L4=L5=L6=L7=L8=L9=L10=L11=L12=1;
if(sj==0)
C1=0;C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=1;
if(sj==1)
C1=1;C2=0;C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=1;
if(sj==2)
C1=C2=1;C3=0;C4=C5=C6=C7=C8=C9=C10=C11=C12=1;
if(sj==3)
C1=C2=C3=1;C4=0;C5=C6=C7=C8=C9=C10=C11=C12=1;
if(sj==4)
C1=C2=C3=C4=1;C5=0;C6=C7=C8=C9=C10=C11=C12=1;
if(sj==5)
C1=C2=C3=C4=C5=1;C6=0;C7=C8=C9=C10=C11=C12=1;
if(sj==6)
C1=C2=C3=C4=C5=C6=1;C7=0;C8=C9=C10=C11=C12=1;
if(sj==7)
C1=C2=C3=C4=C5=C6=C7=1;C8=0;C9=C10=C11=C12=1;
if(sj==8)
C1=C2=C3=C4=C5=C6=C7=C8=1;C9=0;C10=C11=C12=1;
if(sj==9)
C1=C2=C3=C4=C5=C6=C7=C8=C9=1;C10=0;C11=C12=1;
if(sj==10)
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=1;C11=0;C12=1;
if(sj==11)
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=1;C12=0;
void bjs()//竖变化
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=0;
if(zy==0)
L1=1;L2=L3=L4=L5=L6=0;L7=1;L8=L9=L10=L11=L12=0;
if(zy==1)
L1=0;L2=1;L3=L4=L5=L6=L7=0;L8=1;L9=L10=L11=L12=0;
if(zy==2)
L1=L2=0;L3=1;L4=L5=L6=L7=L8=0;L9=1;L10=L11=L12=0;
if(zy==3)
L1=L2=L3=0;L4=1;L5=L6=L7=L8=L9=0;L10=1;L11=L12=0;
if(zy==4)
L1=L2=L3=L4=0;L5=1;L6=L7=L8=L9=L10=0;L11=1;L12=0;
if(zy==5)
L1=L2=L3=L4=L5=0;L6=1;L7=L8=L9=L10=L11=0;L12=1;
void dh1()
int time=1200;
L1=L2=L3=L4=L5=L6=L7=L8=L9=L10=L11=L12=1;
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=1;
C1=0;
Delayms(time);
C2=0;
Delayms(time);
C3=0;
Delayms(time);
C4=0;
Delayms(time);
C5=0;
Delayms(time);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
C6=0;
Delayms(time);
C7=0;
Delayms(time);
C8=0;
Delayms(time);
C9=0;
Delayms(time);
C10=0;
Delayms(time);
C11=0;
Delayms(time);
C12=0;
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
Delayms(8000);
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=1;
hm:;
void dh2()
int time=1000,i;
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=0;
L1=L2=L3=L4=L5=L6=L7=L8=L9=L10=L11=L12=0;
for(i=0;i<12;i++)
L1=1;
L7=1;
Delayms(time);
L1=0;
L7=0;
L2=1;
L8=1;
Delayms(time);
L2=0;
L8=0;
L3=1;
L9=1;
Delayms(time);
L3=0;
L9=0;
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
L4=1;
L10=1;
Delayms(time);
L4=0;
L10=0;
L5=1;
L11=1;
Delayms(time);
L5=0;
L11=0;
L6=1;
L12=1;
Delayms(time);
L6=0;
L12=0;
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
hm:;
void dh3()
char i;
int time=500;
L1=L2=L3=L4=L5=L6=L7=L8=L9=L10=L11=L12=1;
C1=C2=C3=C4=C5=C6=C7=C8=C9=C10=C11=C12=1;
for(i=0;i<4;i++)
C1=0;
Delayms(time);
C1=1;
C2=0;
Delayms(time);
C2=1;
C3=0;
Delayms(time);
C3=1;
C4=0;
Delayms(time);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
C4=1;
C5=0;
Delayms(time);
C5=1;
C6=0;
Delayms(time);
C6=1;
C7=0;
Delayms(time);
C7=1;
C8=0;
Delayms(time);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
C8=1;
C9=0;
Delayms(time);
C9=1;
C10=0;
Delayms(time);
C10=1;
C11=0;
Delayms(time);
C11=1;
C12=0;
Delayms(time);
if(ly_flag==1)moshi=0;ly_flag=0;goto hm;
C12=1;
C11=0;
Delayms(time);
C11=1;
C10=0;
Delayms(time);
C10=1;
C9=0;
Delayms(time);
C9=1;
C8=0;
Delayms(time);
if(ly_flag==1)moshi=0;ly_flag=0;STC单片机基于VSCode PlatformIO开发STC15W408AS软串口示例程序
STC15W408AS+LCD1602+PCF8574转IIC接口+DHT11数据显示