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