74HC595芯片是74系列的一種,具有速度快、功耗小、操作簡(jiǎn)單的特點(diǎn),可以方便地用于單片機(jī)接口進(jìn)行驅(qū)動(dòng)LED的操作。本文介紹這種芯片的特點(diǎn)和使用方法,并給出軟硬件的設(shè)計(jì)實(shí)例。
1.LED顯示器
七段發(fā)光二極管顯示器,又叫LED顯示器,因其價(jià)格低廉、功耗較小和性能可靠等優(yōu)點(diǎn),在各種儀器儀表中得到了廣泛的應(yīng)用。現(xiàn)在市場(chǎng)上出售得到專(zhuān)用LED驅(qū)動(dòng)器種類(lèi)有很多,且大多數(shù)功能較多,但價(jià)格相應(yīng)地也較高,如果用在低成本的簡(jiǎn)單系統(tǒng)中,不僅是一種資源的浪費(fèi),而且增加了產(chǎn)品的成本。用74HC595芯片驅(qū)動(dòng)LED有以下特點(diǎn):速度快,功耗較小,LED的數(shù)目多少隨意,既可以控制共陰極的LED顯示器,也可以控制共陽(yáng)極的LED顯示器,可以軟件控制LED的亮度,還可以在必要的時(shí)候關(guān)斷顯示(數(shù)據(jù)保留),以減少功耗,并可隨時(shí)喚醒顯示。用它設(shè)計(jì)的電路,不僅軟硬件設(shè)計(jì)簡(jiǎn)單,而且功耗低,驅(qū)動(dòng)能力強(qiáng),占用I/O口線較少,是一種造價(jià)低廉,應(yīng)用靈活色設(shè)計(jì)方案。
2.74HC595介紹
74HC595內(nèi)含8位串入、串/并出移位寄存器和8位三態(tài)輸出鎖存器。寄存器和鎖存器分別有各自的時(shí)鐘輸入(SCLK和SCLK),都是上升沿有效。當(dāng)SCLK從低到高電平跳變時(shí),串行輸入數(shù)據(jù)(SDA)移入寄存器;當(dāng)SLCK從低到高電平跳變時(shí),寄存器的數(shù)據(jù)置入鎖存器。清除端(CLR)的低電平只對(duì)寄存器復(fù)位(QS為低電平),而對(duì)鎖存器無(wú)影響。當(dāng)輸出允許控制(EN)為高電平時(shí),并行輸出(Q0~Q7)為高阻態(tài),而串行輸出(QS)不受影響。
圖1 74HC595
74HC595最多需要5根控制線,即SDA、SCLK、SLCK、CLR和EN。其中CLR可以直接接到高電平,用軟件來(lái)實(shí)現(xiàn)寄存器清零;如果不需要軟件改變亮度,EN可以直接接到低電平,二勇硬件來(lái)改變亮度。把其余三根線和單片機(jī)的I/O口相接,即可實(shí)現(xiàn)對(duì)LED的控制。
數(shù)據(jù)從SDA口送入74HC595,在每個(gè)SCLK的上升沿,SDA口上的數(shù)據(jù)移入寄存器,在SCLK的第9個(gè)上升沿,數(shù)據(jù)開(kāi)始從QS移出。如果把第一個(gè)74HC595的QS和第二個(gè)74HC595的SDA相接,數(shù)據(jù)即移入第二個(gè)74HC595中,照此一個(gè)一個(gè)接下去,可接任意多個(gè)。數(shù)據(jù)全部送完后,給SLCK一個(gè)上升沿,寄存器中的數(shù)據(jù)即置入鎖存器,此時(shí)如果EN為低電平,數(shù)據(jù)即從并口Q0~Q7輸出,把Q0~Q7與LED的8段相接,LED就可以實(shí)現(xiàn)顯示了。要想軟件改變LED的亮度,只需改變EN的占空比就行了,
3.1硬件電路
圖2是用AT89C2051與74HC595接口設(shè)計(jì)的顯示面板電路。
圖2 顯示面板電路
P1口的P115、P116、P117用來(lái)控制LED的顯示,分別接到SLCK、SCLK和SDA腳。三個(gè)數(shù)碼管用來(lái)顯示電壓值的大小。在電路板上,LED3在最左邊,LED1在最右邊,送數(shù)據(jù)時(shí),先送LED3的顯示碼,最后送LED1的顯示碼。LED的亮度用PR1~PR3的阻值來(lái)控制。
3.2顯示驅(qū)動(dòng)程序
用DISP1、DISP2、DISP3三個(gè)連續(xù)的單元存放顯示數(shù)據(jù),在CPU初始化完成后,調(diào)用LRDISP子程序清除74HC595的寄存器,在以后調(diào)用顯示子程序DISPLAY前就不用再調(diào)用清除子程序了。現(xiàn)將兩個(gè)子程序?qū)懗鋈缦拢?/p>
清除子程序:
CLRDISP:
MOVR2,#24; 三個(gè)數(shù)碼管,一共24位
CLRBIT:
CLRSCLK;寄存器時(shí)鐘拉低
CLRC;寄存器清零
MOVSDA,C;送入74HC595
SETBSCLK;時(shí)鐘的上升沿送入寄存器
DJNZR2,CLRBIT;送完24位
RET;子程序返回
顯示子程序:
DISPLAY:
CLRSLCK;鎖存器時(shí)鐘拉低
MOVR3,#3;三個(gè)數(shù)碼管
MOVR0,#DISP3;從第三個(gè)開(kāi)始送
DISP1:
MOVA,@R0;送8位數(shù)到74HC595
MOVR2,#8
DISP2:
CLRSCLK
RLCA
MOVSDA,C
SETBSCLK
DJNZR2,DISP2;送完一個(gè)字節(jié)
DECR0;送下一個(gè)數(shù)碼管的顯示數(shù)據(jù)
DJNZR3,DISP1;送完三個(gè)字節(jié)
SETBSLCK;時(shí)鐘的上升沿寄存器數(shù)據(jù)送入鎖存器
RET;子程序返回
結(jié)束語(yǔ)
從以上例子可以看出,用74HC595設(shè)計(jì)LED驅(qū)動(dòng)電路,硬件和軟件的設(shè)計(jì)都不存在復(fù)雜的技術(shù)問(wèn)題,特別是軟件設(shè)計(jì)。另外,74HC595不僅可以用來(lái)驅(qū)動(dòng)LED顯示器,而且能夠用來(lái)驅(qū)動(dòng)發(fā)光二極管,每個(gè)74HC595可以同時(shí)驅(qū)動(dòng)8個(gè)發(fā)光二極管。在I/O口線較為緊張的情況下,這不失為一種解決方案。在對(duì)產(chǎn)品的體積要求不高、并且希望降低成本時(shí),采用這種方案較為理想。
責(zé)任編輯人:CC
-
74HC595
+關(guān)注
關(guān)注
7文章
191瀏覽量
30851 -
軟硬件設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
8瀏覽量
8131 -
74hc595芯片
+關(guān)注
關(guān)注
1文章
6瀏覽量
3083
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論