第1步:硬件



我的目標(biāo)只是演示不同的方法我僅將74HC595的8個(gè)輸出中的4個(gè)連接到LED。調(diào)試我的代碼就足夠了:)如果您想使項(xiàng)目看起來更好,則可以將所有Qx輸出連接到LED:)
您可以在圖像上看到連接。
似乎不同的數(shù)據(jù)表都有74HC595的不同引腳名稱,所以我在我使用的數(shù)據(jù)表中附加了引腳分配。
74HC595恒定連接:
GND(引腳8)
Vcc(引腳16)至5V
OE(引腳13)接地
SRCLR(MR)(引腳10)至5V
我使用了1k電阻和3mm LED。
步驟2:簡單方法


對(duì)于所有方法,您都會(huì)看到連接到電路的示波器的屏幕截圖作為性能證明。黃色走線是串行時(shí)鐘(SRCLK),藍(lán)色走線是鎖存信號(hào)(RCLK)。同樣,對(duì)于所有方法,我將展示函數(shù)shiftByte()的實(shí)現(xiàn),該函數(shù)采用單個(gè)字節(jié)并將其逐位(串行)寫入74HC595
最簡單的將數(shù)據(jù)寫入移位寄存器的方法如本教程中所述?;旧希褂脙?nèi)置的shiftOut()函數(shù)來實(shí)現(xiàn)串行接口。這樣,寫入8位數(shù)據(jù)需要90微秒。不幸的是,包括代碼不是簡單的方法,因此您將在附加的zip文件中找到草圖,并在shiftOut()函數(shù)的屏幕截圖中找到。這種方法可以,但是相對(duì)較慢。
步驟3:使用端口命令的方法


更好方式不是切換每個(gè)位,而是使用命令將數(shù)據(jù)寫入整個(gè)端口。像這樣:
PORTC&= B11111101;//數(shù)據(jù)時(shí)鐘低
PORTC =(PORTC&B11111010)|(x&B00000001);//將時(shí)鐘設(shè)置為低并輸出位0
PORTC | = B00000100;//串行時(shí)鐘高
您可以在此處找到有關(guān)端口操作命令的更多信息
使用此方法附帶的示例草圖。
以這種方式寫入8位僅需4.5微秒。它比簡單方法快20倍。
此方法的缺點(diǎn):
代碼不清楚。
所有使用的Arduino引腳應(yīng)位于同一端口上。
應(yīng)將74HC595的串行數(shù)據(jù)引腳連接到使用的Arduino端口的最低有效位


使用內(nèi)聯(lián)匯編代碼可以實(shí)現(xiàn)進(jìn)一步的優(yōu)化。在所附的草圖中,我能夠在2.8微秒內(nèi)寫入8位。它比簡單方法快32倍。
您可以在此處找到有關(guān)如何在C代碼中使用內(nèi)聯(lián)匯編代碼的好指南。
AVR指令集手冊(cè)
此方法的缺點(diǎn)類似于上一個(gè)方法的缺點(diǎn)。
步驟5:使用硬件SPI接口


但是在這種情況下,最好的方法是使用硬件SPI接口。您可以在此處閱讀如何使用它?;旧?,它專用于芯片內(nèi)部的串行通信硬件,可用于高速傳輸串行數(shù)據(jù)。寫出所有8位只需要不到1微秒的時(shí)間。附有示例的草圖。
對(duì)于此示例,74HC595與Arduino的連接應(yīng)不同于所有其他示例中的連接。
由于此方法使用了Arduino內(nèi)部的特定硬件,因此應(yīng)連接74HC595
Arduino引腳13(SCK)到74HC595的引腳11(SRCLK)(串行移位時(shí)鐘)
Arduino引腳A1到74HC595的引腳12(RCLK) (輸出鎖存時(shí)鐘)通常這可以是任何引腳。
Arduino的11HC引腳(MOSI)到74HC595的14引腳(SER)(串行數(shù)據(jù)輸入)
所以這就是最快的方法,也是相對(duì)簡單的方法。
僅此而已。我希望您覺得此說明有用。任何評(píng)論將不勝感激。
-
移位寄存器
+關(guān)注
關(guān)注
3文章
338瀏覽量
23257 -
串行接口
+關(guān)注
關(guān)注
3文章
519瀏覽量
45119 -
74HC595
+關(guān)注
關(guān)注
7文章
193瀏覽量
32323
發(fā)布評(píng)論請(qǐng)先 登錄
探索MC74HC595A與MC74HCT595A:8位移位寄存器的性能與應(yīng)用解析
?SN74LVC595A 8位移位寄存器技術(shù)文檔總結(jié)
?SN74HCT595 8位移位寄存器技術(shù)解析與應(yīng)用指南
SN74LV595B-EP低噪聲8位移位寄存器技術(shù)解析與應(yīng)用指南
Texas Instruments SN74AHC595/SN74AHC595-Q1計(jì)數(shù)器移位寄存器數(shù)據(jù)手冊(cè)
Texas Instruments SN74ACT595/SN74ACT595-Q1 SIPO移位寄存器特性/應(yīng)用/功能圖
74VHC595;74VHCT595移位寄存器規(guī)格書
74HC165;74HCT165移位寄存器規(guī)格書
74VHC595-Q100;74VHCT595-Q100移位寄存器規(guī)格書
74HC594;74HCT594移位寄存器規(guī)格書
74LV595移位寄存器規(guī)格書
74HC595-Q100;74HCT595-Q100移位寄存器規(guī)格書
74HC595;74HCT595移位寄存器規(guī)格書
74HC597;74HCT597移位寄存器規(guī)格書
納祥科技74HC595D,一款應(yīng)用于LED廣告顯示屏的低功耗3態(tài)8位移位寄存器
如何使用串行接口以74HC595移位寄存器作為展示向設(shè)備寫入數(shù)據(jù)
評(píng)論