男人和女人一级黄色大片-男人和女人在做性视频-男人和女人做人爱漫画-男人和女人做人爱视频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://m.d1112.cn/product/46.html

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

主站蜘蛛池模板: 日本福利视频 | 免费高清在线 | 福利社午夜视频在 | 青草久操 | 国产女人夜夜做 | av天堂大片| 免费观看成人毛片 | 五月天福利导航 | 91社视频| 美乳熟女一区二区 | 国产在线视频播放 | 国产传媒86精品 | 欧美城黄色 | 一级日本片免费的 | 国产伦理电影 | 香蕉视频在线草 | 91tv直播0| 加勒比在线视屏 | 中国精品无码 | 久草免费福利站 | 岛国无码久久 | 波多野结家庭教师 | 变态另类av | 日韩成人区 | 91小电影| 狼友导航 | 四虎丝袜 | 狠狠撸视频网 | 操碰久久| 另类欧美性爱 | 精品高清影视无码 | 黄色网址进入 | 亚洲三级黄色网 | 无码AV | 欧美影院一区二区 | 国产视频在线不卡 | 蜜臀视频福利在线 | 91干逼电影网 | 91探花| 久草久爱新视频 | 久草视频骚 |