男人和女人一级黄色大片-男人和女人在做性视频-男人和女人做人爱漫画-男人和女人做人爱视频2019-男人和女人做爽爽视频免费-男人鸡扒叉入美女尿道-男人鸡扒叉入美女尿道的视頻-男人狂躁进女人免费视频VR-男人狂躁进女人免费视频无遮挡-男人猛桶女人45分钟视频

首頁 > 產(chǎn)品大全 > Arduino與74HC595移位寄存器 高效擴(kuò)展輸出引腳指南

Arduino與74HC595移位寄存器 高效擴(kuò)展輸出引腳指南

Arduino與74HC595移位寄存器 高效擴(kuò)展輸出引腳指南

在Arduino項(xiàng)目中,當(dāng)需要控制大量LED、繼電器或其他數(shù)字輸出設(shè)備時(shí),有限的I/O引腳往往成為瓶頸。74HC595移位寄存器是一款低成本、易于使用的串行輸入、并行輸出芯片,能夠通過3個(gè)Arduino引腳控制8個(gè)輸出,并支持多片級聯(lián),極大地?cái)U(kuò)展了輸出能力。本文將詳細(xì)介紹如何在Arduino中使用74HC595。

一、74HC595簡介

74HC595是一款8位串行輸入/并行輸出移位寄存器,帶有輸出鎖存器。其主要引腳功能如下:

  • DS(14腳):串行數(shù)據(jù)輸入
  • SHCP(11腳):移位寄存器時(shí)鐘輸入,上升沿將數(shù)據(jù)移入
  • STCP(12腳):存儲寄存器時(shí)鐘輸入,上升沿將移位寄存器數(shù)據(jù)鎖存到輸出寄存器
  • OE(13腳):輸出使能,低電平有效(通常接地)
  • MR(10腳):主復(fù)位,低電平有效(通常接高電平)
  • Q0~Q7(15,1~7腳):8位并行輸出
  • Q7'(9腳):串行數(shù)據(jù)輸出,用于級聯(lián)下一片595

二、硬件連接

以Arduino UNO為例,連接一片74HC595:

  1. 將74HC595的VCC(16腳)接5V,GND(8腳)接GND。
  2. OE(13腳)接GND,使輸出始終使能。
  3. MR(10腳)接5V,不復(fù)位。
  4. DS(14腳)接Arduino的D11(數(shù)據(jù))。
  5. SHCP(11腳)接Arduino的D12(移位時(shí)鐘)。
  6. STCP(12腳)接Arduino的D13(鎖存時(shí)鐘)。
  7. 輸出Q0~Q7可連接LED(需串聯(lián)限流電阻)或其他設(shè)備。

若需級聯(lián)多片,將第一片的Q7'(9腳)接第二片的DS(14腳),并共用SHCP和STCP信號。

三、Arduino編程

Arduino內(nèi)置了shiftOut()函數(shù),可輕松驅(qū)動74HC595。以下示例代碼演示了如何通過595控制8個(gè)LED依次點(diǎn)亮(流水燈效果):

`cpp // 定義引腳 const int dataPin = 11; // DS const int latchPin = 12; // STCP const int clockPin = 13; // SHCP

void setup() {
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}

void loop() {
for (int i = 0; i < 8; i++) {
// 將數(shù)據(jù)鎖存到輸出寄存器
digitalWrite(latchPin, LOW);
// 移位輸出:從最低位開始,每次一個(gè)1
shiftOut(dataPin, clockPin, MSBFIRST, 1 << i);
digitalWrite(latchPin, HIGH);
delay(100);
}
}
`

代碼說明:

  • shiftOut(dataPin, clockPin, bitOrder, value):將value的8位數(shù)據(jù)按指定順序(MSBFIRST或LSBFIRST)移出。
  • 每次循環(huán)先將latchPin拉低,以便在移位過程中輸出保持不變;移位完成后將latchPin拉高,數(shù)據(jù)鎖存到輸出引腳。
  • 1 << i生成一個(gè)只有第i位為1的字節(jié),實(shí)現(xiàn)依次點(diǎn)亮。

四、級聯(lián)多個(gè)595

級聯(lián)時(shí),只需依次發(fā)送多個(gè)字節(jié),先發(fā)送將到達(dá)最后一片595的數(shù)據(jù)。例如,控制16個(gè)LED,使用兩片595,代碼片段如下:

digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, highByte); // 第二片的數(shù)據(jù)
shiftOut(dataPin, clockPin, MSBFIRST, lowByte);  // 第一片的數(shù)據(jù)
digitalWrite(latchPin, HIGH);

此處highByte對應(yīng)第二片595的輸出,lowByte對應(yīng)第一片。多片級聯(lián)同理。

五、注意事項(xiàng)

  1. 電流限制:74HC595每個(gè)輸出引腳最大灌電流約35mA,但芯片總電流有限制(通常70mA),不宜直接驅(qū)動大功率負(fù)載(如電機(jī)、高亮LED),建議配合晶體管或驅(qū)動芯片。
  2. 電源去耦:在VCC和GND之間靠近芯片處加0.1μF電容,提高穩(wěn)定性。
  3. 電平匹配:74HC595工作電壓2~6V,可與3.3V或5V Arduino兼容。
  4. 布線:時(shí)鐘線較長時(shí)可能引入干擾,盡量縮短連線。

六、

74HC595是Arduino擴(kuò)展輸出引腳的理想選擇,僅需3個(gè)引腳即可控制8路輸出,且支持級聯(lián)。掌握其工作原理和shiftOut()函數(shù)的使用,能夠輕松應(yīng)對LED矩陣、數(shù)碼管、繼電器組等需要多路輸出的項(xiàng)目,提升項(xiàng)目的可擴(kuò)展性和性價(jià)比。

如若轉(zhuǎn)載,請注明出處:http://www.d1112.cn/product/46.html

更新時(shí)間:2026-11-08 14:00:50

主站蜘蛛池模板: 午夜性爱福利网 | 日本三极片 | 伪娘污污在线观看 | 久草福利姬资源站 | 日韩美女免费直播 | 午夜福利第一视频 | 国产精品果冻传媒 | 欧美女人与动物交 | 丁香五月妞妞 | 在线黄色视频网站 | 国产啪亚洲国产 | 日本午夜片 | 欧洲成人午夜精品 | 老湿机日日干 | 另类三级文学 | 综合网黄 | 三级黄色女男毛片 | 国产精品水多 | 最新国产不卡a | 日本国产中文字幕 | 欧州人妖| 午夜福利视频入口 | 青青草最新地址 | 日本欧美亚洲 | 91福利视频网 | 国产日韩视频一区 | 欧美日韩黄色片 | 欧美区成人 | 国产在线观看影院 | 东京热免费网址 | 操逼岛国视频 | 日本伦理片在线 | 亚洲三级一区 | 97麻豆中文字幕 | 在线免费黄色网址 | 日韩欧美亚欧不卡 | 欧美日韩激情 | 亚洲欧洲日产经典 | 国产精品第十二页 | 午夜成人性爱影院 | 福利导航视频 |