74HC595 芯片是74 系列芯片的一種, 具有速度快、功耗小、操作簡(jiǎn)單的特點(diǎn), 可以很方便地用于單片機接口進(jìn)行驅動(dòng)LED 的操作。本文介紹這種芯片的特點(diǎn)和使用方法, 并給出軟硬件的設計實(shí)例。
七段發(fā)光二極管顯示器, 又叫LED 顯示器, 因其價(jià)格低廉、功耗較小和性能可靠等優(yōu)點(diǎn), 在各種儀器儀表中得到了廣泛的應用?,F在市場(chǎng)上出售的專(zhuān)用LED 驅動(dòng)器種類(lèi)有很多, 且大多數功能較多, 但價(jià)格相應地也較高, 如果用在低成本的簡(jiǎn)單系統中, 不僅是一種資源的浪費, 而且增加了產(chǎn)品的成本。用74HC595 芯片驅動(dòng)LED 有以下特點(diǎn): 速度較快, 功耗較小, LED 的數目多少隨意, 既可以控制共陰極的LED 顯示器, 也可以控制共陽(yáng)極的LED 顯示器, 可以軟件控制LED 的亮度, 還可以在必要的時(shí)候關(guān)斷顯示(數據保留) , 以減小功耗, 并可隨時(shí)喚醒顯示。用它設計的電路, 不僅軟硬件設計簡(jiǎn)單, 而且功耗低, 驅動(dòng)能力強, 占用的I/ O 口線(xiàn)較少, 是一種造價(jià)低廉, 應用靈活的設計方案。
1 74HC595 的使用說(shuō)明
74HC595 內含8 位串入、串/ 并出移位寄存器和8位三態(tài)輸出鎖存器。寄存器和鎖存器分別有各自的時(shí)鐘輸入(SCLK和SLCK) , 都是上升沿有效。當SCLK從低到高電平跳變時(shí), 串行輸入數據(SDA) 移入寄存器; 當SLCK從低到高電平跳變時(shí), 寄存器的數據置入鎖存器。清除端(CLR) 的低電平只對寄存器復位(QS 為低電平) , 而對鎖存器無(wú)影響。當輸出允許控制(EN) 為高電平時(shí), 并行輸出(Q0~Q7) 為高阻態(tài), 而串行輸出(QS) 不受影響。
74HC595 最多需要5 根控制線(xiàn), 即SDA、SCLK、SLCK、CLR 和EN。其中CLR 可以直接接到高電平, 用軟件來(lái)實(shí)現寄存器清零; 如果不需要軟件改變亮度, EN 可以直接接到低電平, 而用硬件來(lái)改變亮度。把其余三根線(xiàn)和單片機的I/ O 口相接, 即可實(shí)現對LED 的控制。
數據從SDA 口送入74HC595 , 在每個(gè)SCLK的上升沿, SDA 口上的數據移入寄存器, 在SCLK的第9個(gè)上升沿, 數據開(kāi)始從QS 移出。如果把第一個(gè)74HC595 的QS 和第二個(gè)74HC595 的SDA 相接, 數據即移入第二個(gè)74HC595 中, 照此一個(gè)一個(gè)接下去, 可接任意多個(gè)。數據全部送完后, 給SLCK 一個(gè)上升沿, 寄存器中的數據即置入鎖存器。此時(shí)如果EN 為低電平, 數據即從并口Q0~Q7 輸出, 把Q0~Q7 與LED 的8 段相接, LED 就可以實(shí)現顯示了。要想軟件改變LED 的亮度, 只需改變EN 的占空比就行了。
2 軟硬件設計實(shí)例
2.1 硬件電路
圖2 是用AT89C2051 與74HC595 接口設計的顯示面板電路。
P1 口的P115 、P116 、P117 用來(lái)控制LED 的顯示,分別接到SLCK、SCLK和SDA 腳。三個(gè)數碼管用來(lái)顯示電壓值的大小。在電路板上, LED3 在最左邊,LED1 在最右邊, 送數據時(shí), 先送LED3 的顯示碼, 最后送LED1 的顯示碼。LED 的亮度用PR1~ PR3 的阻值來(lái)控制。
2.2 顯示驅動(dòng)程序
用DISP1 、DISP2 、DISP3 三個(gè)連續的單元存放顯示數據, 在CPU 初始化完成后, 調用LRDISP 子程序清除74HC595 的寄存器, 在以后調用顯示子程序DISPLAY前就不用再調用清除子程序了?,F將兩個(gè)子程序寫(xiě)出如下:
清除子程序:
CLRDISP :
MOV R2 , # 24 ; 三個(gè)數碼管, 一共24 位
CLRBIT:
CLR SCLK ; 寄存器時(shí)鐘拉低
CLR C ; 寄存器清零
MOV SDA , C ; 送入74HC595
SETB SCLK ; 時(shí)鐘的上升沿送入寄存器
DJNZ R2 , CLRBIT ; 送完24 位
RET ; 子程序返回
顯示子程序:
DISPLAY:
CLR SLCK ; 鎖存器時(shí)鐘拉低
MOV R3 , # 3 ; 三個(gè)數碼管
MOV R0 , # DISP3 ; 從第三個(gè)開(kāi)始送
DISP1 :
MOV A , @R0 ; 送8 位數到74HC595
MOV R2 , # 8
DISP2 :
CLR SCLK
RLC A
MOV SDA , C
SETB SCLK
DJNZ R2 , DISP2 ; 送完一個(gè)字節
DEC R0 ; 送下一個(gè)數碼管的顯示數據
DJNZ R3 , DISP1 ; 送完三個(gè)字節
SETB SLCK ; 時(shí)鐘的上升沿寄存器數據送
入鎖存器
RET ; 子程序返回
從以上例子可以看出, 用74HC595 設計LED 驅動(dòng)電路, 硬件和軟件的設計都不存在復雜的技術(shù)問(wèn)題, 特別是軟件設計。另外, 74HC595 不僅可以用來(lái)驅動(dòng)LED 顯示器, 而且能夠用來(lái)驅動(dòng)發(fā)光二極管,每個(gè)74HC595 可以同時(shí)驅動(dòng)8 個(gè)發(fā)光二極管。在I/ O口線(xiàn)較為緊張的情況下, 這不失為一種解決方案。在對產(chǎn)品的體積要求不高、并且希望降低成本時(shí), 采用這種方案較為理想。
關(guān)鍵字:74HC595 驅動(dòng)LED 鎖存器編輯:什么魚(yú) 引用地址:http://news.eeworld.com.cn/mcu/2014/0217/article_15169.html本網(wǎng)站轉載的所有的文章、圖片、音頻視頻文件等資料的版權歸版權所有人所有,本站采用的非本站原創(chuàng )文章及圖片等內容無(wú)法一一聯(lián)系確認版權者。如果本網(wǎng)所選內容的文章作者及編輯認為其作品不宜公開(kāi)自由傳播,或不應無(wú)償使用,請及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。上一篇:基于CPLD和AT89S52的自動(dòng)巡線(xiàn)輪式機器人控制系統
下一篇:c語(yǔ)言超經(jīng)典矩陣式鍵盤(pán)的接法,流程圖和掃描程序
關(guān)注eeworld公眾號
快捷獲取更多信息
關(guān)注eeworld服務(wù)號
享受更多官方福利
推薦閱讀

聯(lián)系客服