亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機+WS2812燈帶驅動程序源碼
[打印本頁]
作者:
lovelomo
時間:
2019-4-17 17:13
標題:
單片機+WS2812燈帶驅動程序源碼
注意:采用1T 51單片機 晶振采用24M
內部有注釋,WS2812燈帶采用單IO口驅動 此處不附帶原理圖
單片機源程序如下:
/********************************************************/
/*作 者:Dyingstraw
/*版 本:V1.0
/*程序功能:用51單片機控制ws2812 RGB輸出,顯示全色彩
/*備 注:51單片機晶振24M
/********************************************************/
#include<STC12C5A60S2.h>
#include<intrins.h> //寫入頭文件
#define uchar unsigned char
sbit Send_Dat=P3^7; //數據輸出,接IN腳
sbit key3=P2^1;
sbit key2=P2^4;
sbit key1=P2^7;
uchar show[720]; // 8*3*30
uchar color[30][3]={
0xff,0x01,0x00, //0
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00, //10
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00, //20
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00,
0xff,0x01,0x00, //29
}; //G R B
uchar code GRB[7][3]={
0XFF,0X00,0X00,//綠
0XFF,0XFF,0X00,//黃
0X00,0XFF,0X00,//紅
0X00,0XFF,0XFF,//品紅
0X00,0X00,0XFF,//藍
0XFF,0X00,0XFF,//青
0XFF,0XFF,0XFF,//白
};
void delay();
void delays();
/*寫入數據時序*/
void Send_A_bit(uchar VAL)
{
if (VAL==1)
{
Send_Dat=1;
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();
Send_Dat=0;
_nop_();_nop_();
}
else
{
Send_Dat=1;
_nop_();_nop_();_nop_();_nop_();
Send_Dat=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
}
void SendAllData()
{
unsigned int i;
for(i=0;i<720;i++)
Send_A_bit(show[i]);
}
void WriteData()
{
unsigned char i,j;
for(i=0;i<30;i++)
{
for(j=0;j<3;j++)
{
show[24*i+8*j+0]=color[i][j]/128%2;
show[24*i+8*j+1]=color[i][j]/64%2;
show[24*i+8*j+2]=color[i][j]/32%2;
show[24*i+8*j+3]=color[i][j]/16%2;
show[24*i+8*j+4]=color[i][j]/8%2;
show[24*i+8*j+5]=color[i][j]/4%2;
show[24*i+8*j+6]=color[i][j]/2%2;
show[24*i+8*j+7]=color[i][j]%2;
}
}
}
void change1(unsigned char k)
{
unsigned char i,j;
for(i=0;i<30;i++)
{
for(j=0;j<3;j++)
color[i][j]=GRB[k][j];
}
}
void change2()
{
unsigned char i;
for(i=0;i<30;i++)
{
if(color[i][0]>0&&color[i][2]==0)
{
color[i][0]--;color[i][1]++;
}
if(color[i][1]>0&&color[i][0]==0)
{
color[i][1]--;color[i][2]++;
}
if(color[i][2]>0&&color[i][1]==0)
{
color[i][2]--;color[i][0]++;
}
}
}
/*主函數*/
unsigned char main()
{
uchar k=0;
P2=0XFF;
change1(0);
while(1)
{
change1(k);
Send_Dat=0;
WriteData();SendAllData();
Send_Dat=0;
delays();
k++;if(k>=7)k=0;
if(key1==0) return 0;
if(key2==0)
{
change1(0);
while(key3==1)
{
change2();
Send_Dat=0;
WriteData();SendAllData();
Send_Dat=0; //發送數據
}
}
}
}
/*小延時函數*/
/*大概1S吧,隨便寫的*/
void delay() //100ms
{
unsigned char i, j, k;
i = 10;
j = 31;
// k = 147;
k=14;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
/*大延時函數*/
/*十幾秒*/
void delays()
{
delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay();
delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay();
delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay(); delay();
}
復制代碼
所有資料51hei提供下載:
跑馬燈.zip
(42.81 KB, 下載次數: 253)
2019-4-17 17:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
cheng_5230
時間:
2019-6-15 11:32
支持謝謝啊
作者:
hptmxsk
時間:
2020-3-29 09:15
感謝分享
作者:
pxh316
時間:
2020-5-9 10:37
謝謝分享!
作者:
nsj21n
時間:
2020-7-16 23:34
親測可用,謝謝分享
作者:
滄海一粒
時間:
2020-7-17 08:42
多謝樓主分享,要是上一張實物圖就更完美了
作者:
中山-燈帶-曹
時間:
2020-9-27 20:58
請問,這個程序文件,我編譯了,怎么不能用
作者:
leezll
時間:
2021-11-23 00:46
3個KEY按鍵控制什么呢
作者:
夢里瑤光
時間:
2021-12-12 21:31
3個KEY按鍵控制什么呢
作者:
快樂眼淚
時間:
2021-12-21 18:30
按鍵沒用上嗎?
作者:
nat365
時間:
2022-1-2 17:17
程序中用數組來定義顏色真是個好辦法
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1