曹少科 楊晴 陳海宇 王碩


摘要:74HC595是美國國家半導體公司生產的通用位移寄存器芯片,它可以實現8位串行輸入輸出或者并行輸出,操作方便簡單,可以很容易的完成對單片機IO口的擴展。[1]本文主要是介紹用74HC595芯片來擴展IO口詳細原理,并利用此方法進行實驗,實現流水燈效果。
關鍵詞:單片機;74HC595;擴展IO口;流水燈
上世紀70年代到80年代期間,單片機憑借著它體積小,低功耗,性價比高的優勢,被越來越多的人所使用,并被廣泛運用于各個領域。但隨著科技不斷地進步與發展,我們對于單片機的應用更加廣泛,我們也慢慢發現了51單片機的一些缺點,即IO端口有限,很多人在運用單片機時總會出現IO口不夠用的現象,而74HC595芯片剛好能彌補此缺陷,大量擴展單片機的IO口。
174HC595芯片的選擇
74HC595是硅結構的CMOS器件,能實現串入轉并入,數據通過一個IO串口輸入后經過74HC595后將數據8位并行輸出。[2]74HC595與74HC164芯片功能基本相同,但前者價格更低廉,驅動能力更強,操作簡單,但因為74HC595有存儲寄存器,所以在移位的過程中,并排輸出端口的數據保持不變。所以選用74HC595芯片來擴展51單片機IO口比較合適。
2擴展方案
2.1硬件連接與實現原理
若要以74HC595芯片實現對IO口的擴展,首先需要定義一個單片機I0口與74HC595芯片DS相連,以此來控制串行數據的輸入。而移位寄存器和存儲寄存器是不同的時鐘,當SH_CP處于上升沿時,數據會輸入到移位寄存器中,當ST_CP處于上升沿時會傳入的存儲寄存器中。因此兩個時鐘需要分別進行連接,移位寄存器有串行輸入DS引腳、串行輸出引腳Q7和低電平復位引腳MR。存儲寄存器有并行數據輸出引腳Q0~Q7和低電平輸出有效OE引腳。所以用MR進行復位時,只是將位移寄存器中的數據清除,而不必擔心存儲寄存器中的數據有所變化。另外只有當OE輸出低電平時,存儲寄存器的數據才會輸出到IO口。
所以,利用74HC595進行IO口的擴展時,僅僅只需要用5根連接線,在通常情況下,可以將MR直接連接高電平,通過軟件的方法來控制位移寄存器中的數據清零。OE直接連接低電位,然后將其余連接線與51單片機IO口相連即可。
單片機中的數據會從DS口傳輸進入74HC595,每當SH_CP處于上升沿(先拉低電平再拉高電平)的時候,位移寄存器中的數據會一次移動一位,經過SH_CP的8個上升沿之后,便會全部移入位移寄存器。[3]此時如果想再接入一個74HC595則可以將Q7接入第二個74HC595上的DS,按照此種方法可接入任意多個74hc595芯片,使IO口可以得到充分擴展。
當數據全部送完后,給ST_CP一個上升沿(先拉低電平再拉高電平),存儲寄存器里的數據便輸出到Q0~Q7,實現IO口的擴展,原理如下圖。
4結論
本文詳細的闡述了運用74HC595芯片擴展51單片機IO口的原理,很大程度上解決了51單片機IO口緊缺的問題,并且電路連接與代碼編程十分簡單。同時進行實驗,運用74HC595擴展的IO與led燈相連,實現了流水燈的效果。
參考文獻:
[1]李亞,常濤,王永強.利用74HC595實現多位LED顯示的新方法[J].微計算機信息,2005(07).
[2]吳振磊,劉孝趙.74HC595在單片機控制多位數碼管中的應用[J].科技廣場,2013(05).
[3]黃勇.74HC595在LED點陣顯示系統中的應用[J].電腦知識與技術,2018(36).