簡介
通常情況下,考慮一個小型應用,您需要在Arduino(或任何微控制器)的幫助下驅動8個LED。該應用程序雖然是一個非常簡單的應用程序,但需要使用Arduino Board的8個可用輸入/輸出引腳:每個LED一個。
現在考慮一個稍微先進的項目,你的要求是驅動相同的8個LED,還做其他的事情,比如在16×2液晶顯示器上顯示信息或任何信息,或者通過藍牙設備連接以通過智能手機控制LED !!!/span》
這種類型的大型項目會占用Arduino板上的大量I/O引腳,并且可能沒有足夠的引腳用于連接其他設備。
什么是移位寄存器?
移位寄存器基本上是串行到并行轉換器IC。它基本上通過一個引腳進行串行輸入(技術上你需要至少3個引腳,我將在后面討論)并將其轉換為8位并行輸出,從而有效地減少了微控制器與其之間的接口引腳數量。輸出設備。
還有其他類型的移位寄存器,如串行輸入并行輸出(我們感興趣的那個),串行輸入串行輸出,并行輸入串行輸出和并行輸入并行OUT。有關移位寄存器的更多信息,請訪問移位寄存器類型和應用程序。
在此項目中,我將使用串行輸入和并行輸出類型移位寄存器IC稱為74HC595。
簡要說明74HC595移位寄存器IC
如上所述早些時候,74HC595 IC是一個8位串行輸入并行OUT移位寄存器。它是16引腳IC,提供各種封裝,如DIP,SOIC,SSOP和TSSOP。
74HC595移位寄存器的引腳圖
下圖顯示了74HC595移位寄存器的引腳圖。
74HC595移位寄存器的引腳說明
下表介紹了74HC595移位的引腳注冊簡要。
圖釘編號 圖釘名稱描述
15,1-7QA,QB - QH QA - QH(8)輸出引腳
8GND接地針
9QH‘QH’輸出
10SRCLR‘重置輸入
11SRCLK時鐘輸入
12RCLK存儲寄存器時鐘輸入
13OE’輸出啟用
14SER串行輸入
16VCC電源電壓
注意:有幾家制造商74HC595移位寄存器IC和每個制造商的命名約定可能不同。根據制造商查看數據表。以上引腳名稱來自德州儀器(TI)提供的數據表。
如何使用74HC595移位寄存器與Arduino?
讓我構建一個簡單的電路,我將只使用Arduino UNO的三個引腳并控制8個LED。這可以通過使用帶有Arduino的74HC595移位寄存器實現。
需要連接到Arduino的移位寄存器的三個引腳是引腳11(時鐘輸入) ,12(存儲寄存器時鐘輸入或簡稱鎖存器輸入)和14(數據輸入)。
所有8個LED將連接到移位寄存器IC。 (電路設計部分的更多細節)。
電路圖
下圖顯示了74HC595移位寄存器與Arduino UNO接口的電路圖。
所需組件
Arduino UNO
74HC595移位寄存器IC
面包板
8 X LED
8X1KΩ電阻器
5V電源
連接電線
電路設計
首先,將74HC595移位寄存器的串行輸入引腳連接到Arduino的引腳4。然后將時鐘和鎖存引腳(即74HC595的引腳11和12)分別連接到Arduino的引腳6和5。
現在,將8個LED與單獨的限流1KΩ電阻連接到74HC595 IC的8個輸出引腳。接通電源后,將單獨的5V電源連接到74HC595 IC,將公共GND連接到Arduino,而不是從Arduino提供5V電壓。
代碼
以下是按順序打開LED的簡單代碼。
工作
現在讓我們嘗試了解這個項目的工作情況。最初,當字節變量LED設置為0時,所有LED都將關閉。現在,使用“bitSet”功能將每個位設置為1,并使用“shiftOut”功能將其移出。
相應地,每個LED將以相同的順序打開。如果要關閉LED,可以使用“bitClear”功能。
應用程序
74HC595移位寄存器IC或任何類似的移位寄存器可用于以下應用:
LED控制
服務器
電力基礎設施
電子設備
簡單的串行到并行數據轉換
捕獲和保持邏輯
-
移位寄存器
+關注
關注
3文章
258瀏覽量
22273 -
74HC595
+關注
關注
7文章
191瀏覽量
30849 -
Arduino
+關注
關注
188文章
6469瀏覽量
186984
發布評論請先 登錄
相關推薦
評論