欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: Arduino+74HC595控制led的亮滅代碼 [打印本頁]

作者: ly101010100    時間: 2021-1-2 14:45
標題: Arduino+74HC595控制led的亮滅代碼
本帖最后由 ly101010100 于 2021-1-3 14:02 編輯

哈嘍大家好,今天給大家分享一下HC595控制led的亮滅,簡單說一下這個芯片,HC595是一個典型的移位串轉并三態輸出驅動器,
8為并行三態輸出,并且可以級聯,
100MHZ移位頻率傳輸數據,且兼容TTL電平
為16pin的中規模集成芯片

14pin DS,12 pin ST鎖存時鐘,11pin SH數據輸入時鐘

命名可能不同,但是不影響,感謝電子愛好者提供圖片


好了,上Arduino代碼

int ST = 12;//ST/RCK  CP of 74HC595   輸出存儲器鎖存時鐘線
int SH = 11;//SH/SCK CP of 74HC595  數據輸入時鐘線
int DS = 13; //DS/SER  of 74HC595      數據線

void setup () {

  pinMode(ST, OUTPUT); //鎖存引腳設置
  pinMode(SH, OUTPUT); //時鐘引腳設置
  pinMode(DS, OUTPUT);// 數據引腳設置
}
void function1(void)
{
  for (int i = 8; i > 0; i--)
  {
    digitalWrite(ST, LOW);
    shiftOut(DS,SH,MSBFIRST,0xcc);
  //0xcc是代表16進制數,也可以直接寫10進制數,cc十進制就是204,二進制表示:11001100
  //二進制表示:11001100。1和0對應每一位led燈的亮滅。用高到低就是MSBFIRST,用LSBFIRST是相反的。
  //用MSBFIRST參數是高位到低位順序與LSBFIRST是低位到高位逆向的。可以改變點亮的順序
    digitalWrite(ST, HIGH);
  }
    }
void function2(void)
{
  for (int i = 0; i<8; i++)
  {
    digitalWrite(ST, LOW);
    shiftOut(DS,SH,MSBFIRST,0x33);//即二進制的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);//二進制為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);//對應二進制為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);//對應二進制為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);//對應二進制為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);
}
}



接線圖如下,由于本人水平有限,錯誤之處請給予指正,請讀者多多包涵



HC595.png (49.56 KB, 下載次數: 171)

HC595.png

HC595.jpg (405.73 KB, 下載次數: 163)

HC595.jpg

作者: ly101010100    時間: 2021-1-2 17:56
本帖最后由 ly101010100 于 2021-1-3 14:05 編輯

HC595.jpg (405.73 KB, 下載次數: 182)

HC595.jpg

作者: 51hei團團    時間: 2021-1-2 21:59
好東東 樓主能補一下圖嗎?
作者: ly101010100    時間: 2021-1-3 14:09
51hei團團 發表于 2021-1-2 21:59
好東東 樓主能補一下圖嗎?

接線圖已上傳,使用fritzing畫圖,開發板為arduino UNO,使用了digital IO口12,11,13,感謝您的閱讀
作者: cyrs    時間: 2021-2-2 08:08
能直接搬到stm8s上面嗎?
作者: shy609100727    時間: 2021-2-7 22:22
cyrs 發表于 2021-2-2 08:08
能直接搬到stm8s上面嗎?

8不可以,可以搬到STM32




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1