74HC595(串入并出)芯片的應(yīng)用

74HC595是在單片機(jī)系統(tǒng)中常用的芯片之一。它的作用就是把串行的信號(hào)轉(zhuǎn)為并行的信號(hào),常用在各種數(shù)碼管以及點(diǎn)陣屏的驅(qū)動(dòng)芯片,使用74HC595可以節(jié)約單片機(jī)的io口資源,用3個(gè)io就可以控制8個(gè)數(shù)碼管的引腳,它還具有一定的驅(qū)動(dòng)能力,可以免掉三極管等放大電路,所以這塊芯片是驅(qū)動(dòng)數(shù)碼管的神器,應(yīng)用非常廣泛。我們先看一下圖一74HC595的引腳圖。


圖一

74HC595的數(shù)據(jù)端:

QA--QH(有的也叫Q0-Q7): 八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段,也可以直接控制8個(gè)LED。

QH': 級(jí)聯(lián)輸出端。通常我們將它接下一個(gè)595的SI端,實(shí)現(xiàn)多個(gè)芯片之間的級(jí)聯(lián)。

SI: 串行數(shù)據(jù)輸入端。

74hc595的控制端說明:

/SCLR(10腳): 低電平時(shí)將移位寄存器的數(shù)據(jù)清零。通常我們將它接Vcc。

SCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器數(shù)據(jù)不變。圖二是74HC595脈沖圖。


圖二

控制移位寄存器

SCK 上升沿 數(shù)據(jù) ?移位 ? ? ? ?SCK 下降沿 數(shù)據(jù) ?保持

RCK(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個(gè)正脈沖,更新顯示數(shù)據(jù)。圖三為74HC595真值表。


圖三

控制存儲(chǔ)寄存器

RCK 上升沿,移位寄存器的數(shù)據(jù)進(jìn)入存儲(chǔ)寄存器。 ? ? ? RCK 下降沿,存儲(chǔ)寄存器數(shù)據(jù)不變。

G(13腳): 高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時(shí)省力。

74HC595是具有8位移位寄存器和一個(gè)存儲(chǔ)器,三態(tài)輸出功能。 移位寄存器和存儲(chǔ)器是分別的時(shí)鐘。數(shù)據(jù)在SHcp(見時(shí)序圖)的上升沿輸入,在STcp(見時(shí)序圖)的上升沿進(jìn)入的存儲(chǔ)寄存器中去。如果兩個(gè)時(shí)鐘連在一起,則移位。

寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。移位寄存器有一個(gè)串行移位輸入(Ds),和一個(gè)串行輸出

(Q7’),和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行8位的,具備三態(tài)的總線輸出,當(dāng)使

能 OE時(shí)(為低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。

595具體使用的步驟:

第一步:目的:將要準(zhǔn)備輸入的位數(shù)據(jù)移入74HC595數(shù)據(jù)輸入端上。

方法:送位數(shù)據(jù)到_595。

第二步:目的:將位數(shù)據(jù)逐位移入74HC595,即數(shù)據(jù)串入

方法:SCK_595產(chǎn)生一上升沿,將PSI_595上的數(shù)據(jù)移入74HC595中.從低到高

第三步:目的:并行輸出數(shù)據(jù)。即數(shù)據(jù)并出

方法:P1.1產(chǎn)生一上升沿,將由SI_595上已移入數(shù)據(jù)寄存器中的數(shù)據(jù)

送入到輸出鎖存器。

說明: 從上可分析:從SCK_595產(chǎn)生一上升沿(移入數(shù)據(jù))和RCK_595產(chǎn)生一上升沿(輸出數(shù)據(jù))是二個(gè)獨(dú)立過程,實(shí)際應(yīng)用時(shí)互不干擾。即可輸出數(shù)據(jù)的 同時(shí)移入數(shù)據(jù)。

程序如下,復(fù)制就能用(因?yàn)槲乙彩菑?fù)制)。

sbit SI_595=P2^0;

sbit RCK_595=P2^2;

sbit SCK_595=P2^1;

void HC595SendData(unsigned char SendVal)//發(fā)送數(shù)據(jù)

{

unsigned char i;

for(i=0;i<8;i++)

{

if((SendVal<

else SI_595=0;

SCK_595=0;//從SCK_595產(chǎn)生一上升沿(移入數(shù)據(jù))

_nop_();

_nop_();

SCK_595=1;

}

}

void HC595ShowData()//RCK_595產(chǎn)生一上升沿(輸出數(shù)據(jù))

{

RCK_595=0;

_nop_();

_nop_();

RCK_595=1;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容