1、MAX7219
MAX7219是MAXIM公司生產(chǎn)的串行輸入/輸出共陰極數(shù)碼管顯示驅(qū)動芯片,一片MAX7219可驅(qū)動8個7段(包括小數(shù)點共8段)數(shù)字LED、LED條線圖形顯示器、或64個分立的LED發(fā)光二級管。該芯片具有10MHz傳輸率的三線串行接口可與任何微處理器相連,只需一個外接電阻即可設(shè)置所有LED的段電流。
它的操作很簡單,MCU只需通過模擬SPI三線接口就可以將相關(guān)的指令寫入MAX7219的內(nèi)部指令和數(shù)據(jù)寄存器,同時它還允許用戶選擇多種譯碼方式和譯碼位。此外它還支持多片7219串聯(lián)方式,這樣MCU就可以通過3根線(即串行數(shù)據(jù)線、串行時鐘線和芯片選通線)控制更多的數(shù)碼管顯示。MAX7219的外部引腳分配如圖1所示及內(nèi)部結(jié)構(gòu)如圖2所示。
圖1 ?MAX7219的外部引腳分配
圖2 ?MAX7219的內(nèi)部引腳分配
1)引腳功能:
DIN:串行數(shù)據(jù)輸入端。當CLK為上升沿時,數(shù)據(jù)存入內(nèi)部的16位寄存器
DOUT:串行數(shù)據(jù)輸出端,用于級連擴展
LOAD:裝載數(shù)據(jù)輸入,在裝載的上升沿,串行輸入的最后一個16位數(shù)據(jù)被鎖存。
CLK:串行時鐘輸入,其最大工作頻率可達10MHz。時鐘上升沿是數(shù)據(jù)輸入,時鐘下降時數(shù)據(jù)從串行數(shù)據(jù)輸出口輸出
DIG0~DIG7:8位LED位選線,從共陰極LED中吸入電流
SEGA~SEGGDP7段驅(qū)動和小數(shù)點驅(qū)動
ISET:通過一個10k電阻和Vcc相連,設(shè)置段電流
GND:地線
V+:電源
2)MAX7219寄存器:
MAX7219有下列幾組寄存器:(如圖3)
MAX7219內(nèi)部的寄存器如圖3,主要有:譯碼控制寄存器、亮度控制寄存器、掃描界限寄存器、關(guān)斷模式寄存器、測試控制寄存器。編程時只有正確操作這些寄存器,MAX7219才可工作。
圖 3 MAX7219內(nèi)部的相關(guān)寄存器
(1)譯碼控制寄存器(X9H)
如圖4所示,MAX7219有兩種譯碼方式:B譯碼方式和不譯碼方式。當選擇不譯碼時,8個數(shù)據(jù)為分別一一對應(yīng)7個段和小數(shù)點位;B譯碼方式是BCD譯碼,直接送數(shù)據(jù)就可以顯示。實際應(yīng)用中可以按位設(shè)置選擇B譯碼或是不譯碼方式。
圖4 MAX7219的譯碼控制寄存器
當選擇軟件譯碼方式時,數(shù)據(jù)D7~D0對應(yīng)的MAX7219碼的各段筆劃如表5所列。當工作于硬件(B碼)譯碼模式時,譯碼器只選擇數(shù)據(jù)寄存器中較低的幾位(D3~D0),不考慮D4~D6位。D7位顯示十進制小數(shù)點,獨立于譯碼器,當D7=1時,十進制小數(shù)DP點亮。字符0~9對應(yīng)的16進制碼為&TImes;0~&TImes;9,字符-、E、H、L、P和消隱分別對應(yīng)的16進制碼為×A~×F。
(2)掃描界限寄存器(XBH)
如圖5所示,此寄存器用于設(shè)置顯示的LED的個數(shù)(1~8),比如當設(shè)置為0xX4時,LED0~5顯示。
圖5 MAX7219的掃描界限控制寄存器
(3)亮度控制寄存器(XAH)
共有16級可選擇,用于設(shè)置LED的顯示亮度,從0xX0~0xXF
(4)關(guān)斷模式寄存器(XCH)
共有兩種模式選擇,一是關(guān)斷狀態(tài),(最低位D0=0)一是正常工作狀態(tài)(D0=1)。
(5)顯示測試寄存器(XFH)
顯示檢測寄存器有兩種操作模式:一般測試和顯示測試。顯示測試模式時所有的LED點亮,方法是將所有控制字寄存器(包括關(guān)閉寄存器)置成無效。在顯示測試模式下掃描8位的串行接口8位LED顯示驅(qū)動器MAX7219工作周期是31/32。正常測試的16進制碼為×0,顯示測試的16進制碼為×1。
(6)空操作寄存器
空操作寄存器在MAX7219串接時使用,把所有芯片的LOAD端連在一起,并將DOUT連接到下一個MAX7219的DIN上。DOUT是CMOS輸出,可以驅(qū)動后邊的串接MAX7219。例如,4個MAX7219串聯(lián),然后寫第4個片子,再送入設(shè)想的16位字,緊跟3個空操作碼(×0××),當LOAD升高時,所有裝置的數(shù)據(jù)被鎖存,前3個芯片接到空操作命令,第4個芯片接到設(shè)想的數(shù)據(jù)。
2、74HC595引腳圖
74HC595管腳功能
1)74HC595工作原理:
(1)74HC595的數(shù)據(jù)端:
QA--QH: 八位并行輸出端,可以直接控制數(shù)碼管的8個段。
QH‘: 級聯(lián)輸出端。我將它接下一個595的SI端。
SI: 串行數(shù)據(jù)輸入端。
(2)74hc595的控制端說明:
/SCLR(10腳): 低電平時將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。
SCK(11腳):上升沿時數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA--》QB--》QC--》。。。--》QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時,大于幾十納秒就行了。我通常都選微秒級)
(3)控制移位寄存器
SCK 上升沿 數(shù)據(jù) 移位
SCK 下降沿 數(shù)據(jù) 保持
RCK(12腳):上升沿時移位寄存器的數(shù)據(jù)進入存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當移位結(jié)束后,在RCK端產(chǎn)生一個正脈沖(5V時,大于幾十納秒就行了。我通常都選微秒級),更新顯示數(shù)據(jù)。
(4)控制存儲寄存器
RCK 上升沿 移位寄存器 的 數(shù)據(jù)進入 存儲寄存器 RCK 下降沿 存儲寄存器數(shù)據(jù)不變
/G(13腳): 高電平時禁止輸出(高阻態(tài))。如果單片機的引腳不緊張,用一個引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時省力。
74595的主要優(yōu)點是具有數(shù)據(jù)存儲寄存器,在移位的過程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場合很有用處,數(shù)碼管沒有閃爍感。
與74hc164只有數(shù)據(jù)清零端相比,74hc595還多有輸出端時能/禁止控制端oe,可以使輸出為高阻態(tài)。所以是用這塊芯片會更方便。
74HC595時序圖
74HC595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。移位寄存器和存儲器是分別的時鐘。數(shù)據(jù)在SHcp(見時序圖)的上升沿輸入,在STcp(見時序圖)的上升沿進入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。
3、max7219與74hc595區(qū)別
MAX7219一共有24根引腳,這里面有一些跟74HC595的引腳功能類似的引腳如下:
可以看出,MAX7219跟74HC595一樣也是通過DIN引腳串行輸入數(shù)據(jù),在CLK引腳的上升沿移入移位寄存器,在LOAD引腳的上升沿將位移寄存器的數(shù)據(jù)復制到內(nèi)部的各種寄存器里。不同的是:
74HC595的移位寄存器是8位的,而MAX7219的移位寄存器是16位的,每次串行輸入數(shù)據(jù)需要連續(xù)輸入16位數(shù)據(jù)。
74HC595內(nèi)部只有1個8位的鎖存器,功能很簡單,只是原樣輸出到8根輸出引腳。而MAX7219內(nèi)部有好幾個不同功能的寄存器。
評論