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