|
本帖最后由 ly101010100 于 2021-1-3 14:02 編輯
哈嘍大家好,今天給大家分享一下HC595控制led的亮滅,簡(jiǎn)單說一下這個(gè)芯片,HC595是一個(gè)典型的移位串轉(zhuǎn)并三態(tài)輸出驅(qū)動(dòng)器,
8為并行三態(tài)輸出,并且可以級(jí)聯(lián),
100MHZ移位頻率傳輸數(shù)據(jù),且兼容TTL電平
為16pin的中規(guī)模集成芯片
14pin DS,12 pin ST鎖存時(shí)鐘,11pin SH數(shù)據(jù)輸入時(shí)鐘
命名可能不同 ,但是不影響,感謝電子愛好者提供圖片
好了,上Arduino代碼
int ST = 12;//ST/RCK CP of 74HC595 輸出存儲(chǔ)器鎖存時(shí)鐘線
int SH = 11;//SH/SCK CP of 74HC595 數(shù)據(jù)輸入時(shí)鐘線
int DS = 13; //DS/SER of 74HC595 數(shù)據(jù)線
void setup () {
pinMode(ST, OUTPUT); //鎖存引腳設(shè)置
pinMode(SH, OUTPUT); //時(shí)鐘引腳設(shè)置
pinMode(DS, OUTPUT);// 數(shù)據(jù)引腳設(shè)置
}
void function1(void)
{
for (int i = 8; i > 0; i--)
{
digitalWrite(ST, LOW);
shiftOut(DS,SH,MSBFIRST,0xcc);
//0xcc是代表16進(jìn)制數(shù),也可以直接寫10進(jìn)制數(shù),cc十進(jìn)制就是204,二進(jìn)制表示:11001100
//二進(jìn)制表示:11001100。1和0對(duì)應(yīng)每一位led燈的亮滅。用高到低就是MSBFIRST,用LSBFIRST是相反的。
//用MSBFIRST參數(shù)是高位到低位順序與LSBFIRST是低位到高位逆向的?梢愿淖凕c(diǎn)亮的順序
digitalWrite(ST, HIGH);
}
}
void function2(void)
{
for (int i = 0; i<8; i++)
{
digitalWrite(ST, LOW);
shiftOut(DS,SH,MSBFIRST,0x33);//即二進(jìn)制的0011 0011也就是3478亮,1256滅
digitalWrite(ST, HIGH);
}
}
void function3(void)
{
for (int i = 0; i<8; i++)
{
digitalWrite(ST, LOW);
shiftOut(DS,SH,MSBFIRST,0x0f);//二進(jìn)制為0000 1111即就是1234滅,5678亮
digitalWrite(ST, HIGH);
}
}
void function4(void)
{
for (int i = 0; i<8; i++)
{
digitalWrite(ST, LOW);
shiftOut(DS,SH,MSBFIRST,0xf0);//對(duì)應(yīng)二進(jìn)制為1111 0000 即就是1234亮5678滅
digitalWrite(ST, HIGH);
}
}
void function5(void)
{
for (int i = 0; i<8; i++)
{
digitalWrite(ST, LOW);
shiftOut(DS,SH,MSBFIRST,0xAA);//對(duì)應(yīng)二進(jìn)制為1010 1010即就是1357亮 2468滅
digitalWrite(ST, HIGH);
}
}
void function6(void)
{
for (int i = 0; i<8; i++)
{
digitalWrite(ST, LOW);
shiftOut(DS,SH,MSBFIRST,0xff);//對(duì)應(yīng)二進(jìn)制為1111 1111 即就是全亮
digitalWrite(ST, HIGH);
}
}
void loop()
{
while(1)
{
function1();
delay(600);
function2();
delay(600);
function3();
delay(600);
function4();
delay(600);
function5();
delay(600);
function6();
delay(600);
}
}
接線圖如下,由于本人水平有限,錯(cuò)誤之處請(qǐng)給予指正,請(qǐng)讀者多多包涵
|
評(píng)分
-
查看全部評(píng)分
|