MAX7219是美國MAXIM(美信)公司推出的多位LED顯示驅(qū)動器,采用3線串行接口傳送數(shù)據(jù),可直接與單片機接口,用戶能方便修改其內(nèi)部參數(shù),以實現(xiàn)多位LED顯示。它內(nèi)含硬件動態(tài)掃描顯示控制,每枚芯片可驅(qū)動8個LED數(shù)碼管。顯然,它可直接驅(qū)動64段LED條形圖顯示器。當多片MAX7219級聯(lián)時,可控制更多的LED。顯示的數(shù)據(jù)通過單片機數(shù)據(jù)處理后,送給MAX7219顯示。當然,也完全可以將MAX7219的一部分用于條形圖顯示,一部分用于其他顯示(如數(shù)字和字母等)。 1. 內(nèi)部邏輯結(jié)構(gòu) 它主要由8個數(shù)位寄存器和6個控制寄存器組成: 1)數(shù)位寄存器7~0:它決定該位LED顯示內(nèi)容。 2)譯碼方式寄存器:它決定數(shù)位寄存器的譯碼方式,它的每一位對應一個數(shù)位。其中,1代表B碼方式;0表示不譯方式。若用于驅(qū)動LED數(shù)碼管,應將數(shù)位寄存器設置為B碼方式;當用于驅(qū)動條形圖顯示器時,應設置為不譯碼方式。 3)掃描位數(shù)寄存器:設置顯示數(shù)據(jù)位的個數(shù)。該寄存器的D2~D0(低三位)指定要掃描的位數(shù),支持0~7位,各數(shù)位均以1.3kHz的掃描頻率被分路驅(qū)動。 4)亮度控制寄存器:該寄存器通常用于數(shù)字控制方式,利用其D3~D0位控制內(nèi)部脈沖寬度調(diào)制DAC的占空比來控制LED段電流的平均值,實現(xiàn)LED的亮度控制。D3~D0取值可從0000~1111,對應電流占空比則從1/32變化到31/32,共16級,D3~D0的值越大,LED顯示越亮。而亮度控制寄存器中的其他各位未使用,可置任意值。 5)顯示測試寄存器:它用來檢測外掛LED數(shù)碼管各段的好壞。當D0置為1時,LED處于顯示測試狀態(tài),所有8位LED的段被掃描點亮,電流占空比為31/32;若D0為0,則處于正常工作狀態(tài)。D7~D1位未使用,可任意取值。 6)關斷寄存器:用于關斷所有顯示器。當D0為0時,關斷所有顯示器,但不會消除各寄存器中保持的數(shù)據(jù);當D0設置為1時,正常工作。剩下各位未使用,可取任意值。 7)無操作寄存器:它主要用于多MAX7219級聯(lián),允許數(shù)據(jù)通過而不對當前MAX7219產(chǎn)生影響。 2. 引腳說明 MAX7219是共陰極LED顯示驅(qū)動器,采用24腳DIP和SO兩種封裝,其引腳排列見圖1。其功能說明如下。 1)DIN:串行數(shù)據(jù)輸入端。在CLK的上升沿,數(shù)據(jù)被裝入到內(nèi)部的16位移位寄存器中。 2)DIG7~DIG0:8位數(shù)值驅(qū)動線。輸出位選信號,從每位LED顯示器公共陰極吸入電流。 3)GND:接地端。 4)LOAD:裝載數(shù)據(jù)控制端。在LOAD的上升沿,最后送入的16位串行數(shù)據(jù)被鎖存到數(shù)據(jù)或控制寄存器中。 5)DOUT:串行數(shù)據(jù)輸出端。進入DIN的數(shù)據(jù)在16.5個時鐘后送到DOUT端,以便在級聯(lián)時傳送到下一片MAX7219。 6)SEG A~SEG G:LED七段顯示器段驅(qū)動端。 7)SEG H:小數(shù)點驅(qū)動端。 8)Vcc:+5V電源端。 9)Iset:LED段峰值電流提供端。它通過一只電阻與電源相連,以便給LED段提供峰值電流。 10)CLK:串行時鐘輸入端。最高輸入頻率為10MHz,在CLK的上升沿,數(shù)據(jù)被移入內(nèi)部移位寄存器;在CLK的下降沿,數(shù)據(jù)被移至DOUT端。 3. 應用 圖2為MAX7219的典型應用電路,它是由單片MAX7219驅(qū)動的8位LED顯示器。AT89C2051的P1.0、P1.1、P1.2分別與MAX7219的DIN、CLK、LOAD端相連。電阻R1可改變LED的亮度,每段的驅(qū)動峰值電流約為R1中電流的100倍。R1的取值不能小于10kΩ。實際使用時,可先用一只可調(diào)電阻調(diào)節(jié)亮度,達要求后用一只相同阻值的固定電阻代替即可。在這里應注意,MAX7219的段電流正常工作范圍為10~40mA,當段電流超過40mA時,必須外加擴流電路。
|