导航:首页 > 操作系统 > rgb灯条51单片机

rgb灯条51单片机

发布时间:2024-11-20 18:30:39

1. AT89C51单片机IO的最大允许输入电压

AT89C51电源电压VCC和封装有很大关系,大封装VCC=5V,小封装VCC=3.3V.

输入低电压(VIL)Input low voltage指IO口通过软件设置低电平时,输入电压范围。由芯片手册得知:VIL=–0.5 V到0.2 VCC–0.1V,当VCC=5V 输入电压-0.5V到0.9V,如图所示,此时场管V2导通,输入电压过低会导致V2寄生二极管导通而损坏,输入电压过大会时流经V2的电流过大而损坏。

输入高电压(VIH)Input high voltage指IO口通过软件设置高电平时,输入电压范围。由芯片手册得知:VHI=0.2 VCC+0.9V到VCC+0.5V,当VCC=5V,输入电压1.9到5.5V,也就是普通IO口>1.9V就可判断为高电平,当大于5.5V,由于V2截止,V2有击穿可能。即使输入加了限流电阻,仍改变不了V2击穿的命运,顶多不至于应击穿而损坏。

结果分析:他可能设计时可能用的大封装单片机,即使用的小封装也不会顺坏单片机,TCS230输出电流有限,最多使采集性号偶发失真。

2. 有谁用单片机控制RGB彩色灯(4脚)

可根据RGB灯珠是共阴或者共阳调整极性,由于三个发光二极管压降不同,可能需要调整限流电阻阻值。三个控制端接单片机。

如果作流水灯,需要多组这样电路。

3. 一个单片机流水灯程序,但用Proteus仿真时所有灯都不亮,程序如下

没有任何问题

如果你是第一次用proteus,那么我有理由怀疑你是LED用错了

那个带箭头的发光LED是不会发光的,要用RGB那三种LED

如图:用你的程序仿真的,能跑

4. 求一个stc15w202s单片机的呼吸灯程序 要边呼吸边移动(波浪状), 就是相当于呼吸灯流水灯结合。

你可以了解一下ws2812,这个会好很多。
想过这种程序,但因为没什么卵用就给我忘了。
pwm要挺高频率才行,不然会闪,试过3灯的rgb,原理上差不多,但是直接程序死循环都难受,不是很流畅,你也可以参考一下。。。
#include "reg52.h"
#include "intrins.h"
sbit r=P1^0;
sbit g=P1^1;
sbit b=P1^2;
void Delay200ms();
void play(char rz1,char gz1,char bz1,int t);
void Delay10us();
//占空比从0到100变化
void main(void)
{
while(1)
{char rz=0,gz=0,bz=0;
char x=0,y=0,z=0;
r=1;
g=1;
b=1;
Delay200ms(); //接线验证,rgb依次亮起
r=0;
Delay200ms();
r=1;
g=0;
Delay200ms();
g=1;
b=0;
Delay200ms();
b=1;
Delay200ms();
for(x=5;x>=0;x--) //彩色连续变化
{rz=100;gz=0;bz=0;
play(rz,gz,bz,1);
for(gz=0;gz<=100;gz++)
play(rz,gz,bz,1);
for(rz=100;rz>=0;rz--)
play(rz,gz,bz,1);
for(bz=0;bz<=100;bz++)
play(rz,gz,bz,1);
for(gz=100;gz>=0;gz--)
play(rz,gz,bz,1);
for(rz=0;rz<=100;rz++)
play(rz,gz,bz,1);
for(bz=100;bz>=0;bz--)
play(rz,gz,bz,1);
}
}
}
//显示色彩程序,pwm,显示某占空比颜色时间t
void play(char rz1,char gz1,char bz1,int t)
{
char i=rz1,j=gz1,k=bz1,yt;
for(t=t*4;t>=0;--t)
{
i=rz1;j=gz1;k=bz1;

for(yt=100;yt>=0;yt--)
{
if(i>0)
r=0;
else
r=1;
if(j>0)
g=0;
else
g=1;
if(k>0)
b=0;
else
b=1;
--i;
--j;
--k;
Delay10us();
}

}
r=1;g=1;b=1;
}
//延时程序组
void Delay200ms() //@12.000MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 10;
j = 31;
k = 147;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay10us() //@12.000MHz
{
unsigned char i;
_nop_();
_nop_();
i = 27;
while (--i);
}

阅读全文

与rgb灯条51单片机相关的资料

热点内容
语言编程源码分析 浏览:274
温10怎么设计加密文件 浏览:448
python源码保护数据库密码 浏览:990
组织服务器是什么玩意 浏览:445
linux启动失败的原因 浏览:177
百度算法面试 浏览:924
谷歌框架服务器地址 浏览:378
女程序员蓝天白云 浏览:829
钢铁命令解说 浏览:252
什么购物app是正品 浏览:478
安卓系统断网怎么回事 浏览:456
黑马程序员第9章 浏览:703
汽车编程所用的函数 浏览:447
云管理服务器如何注册 浏览:208
linux下重启网卡 浏览:118
乐橙怎么加密 浏览:262
幸识是个什么样的app 浏览:54
程序员直男认口红 浏览:37
雕刻机的编程点怎么算 浏览:643
ftp服务器的http地址 浏览:940