兩種LED顯示方式應(yīng)用對(duì)比
SCN:掃描使能控制。當(dāng)SCN=0 時(shí),掃描被禁止,包括顯示掃描和鍵盤掃描;當(dāng)SCN=1 時(shí),掃描被使能。 2.2 系統(tǒng)硬件連接 BC7281 在顯示時(shí)采用高速二線接口與MCU 進(jìn)行通訊,只占用很少的I/O 口資源和主機(jī)時(shí)間,兩根線分別為數(shù)據(jù)線DAT 和同步時(shí)鐘線CLK。DAT:與MCU 串行通訊數(shù)據(jù)端,為雙向數(shù)據(jù)傳輸口,作為輸出時(shí)為漏極開(kāi)路輸出,需要外接上拉電阻;CLK:與MCU 通訊時(shí)鐘端,下降沿有效。 接口空閑時(shí),BC7281 的DAT 引腳處于高阻輸入狀態(tài),上拉電阻使得DAT 線上為高電平。開(kāi)始傳送數(shù)據(jù)時(shí),MCU 必須先與BC7281 建立握手信號(hào),MCU 先向BC7281 發(fā)送若干CLK 時(shí)鐘脈沖, 同時(shí)檢測(cè)DAT 線,而B(niǎo)C7281 收到握手脈沖后會(huì)在DAT 線上輸出一低電平, 表示準(zhǔn)備好接收MCU 數(shù)據(jù),MCU 檢測(cè)到DAT 低電平后,在規(guī)定時(shí)間內(nèi)繼續(xù)發(fā)送一個(gè)CLK 脈沖,提示BC7281 將DAT 引腳恢復(fù)高阻輸入狀態(tài),使得DAT 線恢復(fù)成高電平,MCU 在檢測(cè)該高電平后, 可以開(kāi)始發(fā)送數(shù)據(jù)。在每個(gè)CLK 的下降沿,數(shù)據(jù)移入存儲(chǔ)器。 串行接口數(shù)據(jù)寬度為8 位, 兩個(gè)字節(jié)一組構(gòu)成一條完整指令。指令格式如下: [!--empirenews.page--] 顯示電路連接如下(僅畫出主要引腳): 2.3 程序部分代碼 顯示部分代碼如下: 3.兩種顯示方式應(yīng)用對(duì)比 系統(tǒng)最早采用的是MAX7219 的顯示方式。 MAX7219 在硬件連接上要比BC7281 簡(jiǎn)單很多, 但是在使用中偶發(fā)不穩(wěn)定現(xiàn)象, 特別是級(jí)聯(lián)多片(>=3)MAX7219 使用的情況下, 發(fā)生死機(jī)狀況; 后來(lái)?yè)Q成BC7281 的顯示方式,系統(tǒng)整體穩(wěn)定性大幅提高。而且使用BC7281 芯片, 系統(tǒng)初始化比MAX7219 簡(jiǎn)單,其多數(shù)寄存器可以缺省值設(shè)置,占用的I/O 資源較少,且成本相對(duì)具備優(yōu)勢(shì)。
引言
本文研究采用了MAX7219 和BC7281 控制芯片來(lái)實(shí)現(xiàn)對(duì)LED的顯示和控制的不同。
1.MAX7219 顯示方式應(yīng)用
1.1 MAX7219 簡(jiǎn)介
MAX7219 是MAXIM 公司生產(chǎn)的8 位7 段LED串行輸入/ 輸出共陰顯示驅(qū)動(dòng)芯片,目前針對(duì)它的應(yīng)用介紹較多[1,2]。MAX7219 提供了諸多寄存器,允許使用者對(duì)譯碼顯示、顯示亮度、掃描限制等諸多方面進(jìn)行控制。
1.2 系統(tǒng)硬件連接
MAX7219 與單片機(jī)有三根引線連接:DIN、CLK 和LOAD。DIN 是串行數(shù)據(jù)輸入端,CLK 為時(shí)鐘頻率,LOAD 用來(lái)鎖存信號(hào)。
單片機(jī)以16 位數(shù)據(jù)包的形式將二進(jìn)制數(shù)逐位發(fā)送到DIN 端,在CLK 的每一個(gè)上升沿將一位數(shù)據(jù)移入MAX7219 的移位寄存器。在16 位數(shù)據(jù)傳送過(guò)程中,LOAD 一定要維持低電平,當(dāng)16 位數(shù)據(jù)移入完,LOAD必須在第16 個(gè)CLK 上升沿同時(shí)或之后, 但在下一個(gè)CLK 上升沿之前變高,將數(shù)據(jù)裝入內(nèi)部相應(yīng)寄存器,否則數(shù)據(jù)將丟失。在多片MAX7219 級(jí)聯(lián)使用時(shí),還需要將上一片的DOUT 引腳連接到下一片的DIN,CLK 與LOAD 引腳公用。
16 位數(shù)據(jù)格式如下:
顯示電路連接如下(僅畫出主要引腳):
[!--empirenews.page--]
1.3 程序部分代碼
顯示部分代碼如下:
[!--empirenews.page--]
2.BC7281 顯示方式應(yīng)用
2.1 BC7281 簡(jiǎn)介
BC7281 是16 位LED 數(shù)碼管顯示及鍵盤接口專用芯片,其各位可獨(dú)立按不同的譯碼或不譯碼顯示,可獨(dú)立控制閃爍屬性及顯示亮度,并可隨時(shí)改變閃爍頻率。
BC7281 內(nèi)部包括16 個(gè)顯示寄存器和15 個(gè)控制寄存器,地址范圍從00H-1FH;其中顯示寄存器的地址為00H-0FH, 而最為常用的控制寄存器是工作模式寄存器,地址12H,其各數(shù)據(jù)位意義如下:
MOD:移位寄存器模式控制。當(dāng)MOD=0,適用于一般移位寄存器,如74HC164 等;當(dāng)MOD=1,適用于帶有二級(jí)鎖存的移位寄存器,如74HC595 等。
INV:段驅(qū)動(dòng)數(shù)據(jù)輸出極性控制。當(dāng)INV=0 時(shí),各位顯示寄存器的數(shù)據(jù)直接通過(guò)移位寄存器輸出作為段驅(qū)動(dòng)數(shù)據(jù);當(dāng)INV=1 時(shí),顯示寄存器的內(nèi)容經(jīng)過(guò)反相后才從移位寄存器輸出。
KMS:鍵盤工作模式選擇。
BMS:閃爍控制模式選擇。當(dāng)BMS=0 時(shí),采用一個(gè)閃爍開(kāi)關(guān)控制寄存器(10H) 控制各顯示位的閃爍屬性,第8-15 個(gè)顯示位不能單獨(dú)控制;當(dāng)BMS=1 時(shí),工作于擴(kuò)展模式,由10H 控制0-7 位的閃爍屬性,由擴(kuò)展控制寄存器19H 控制8-15 位的閃爍屬性。
ES:節(jié)能模式。該位置為1 時(shí),有效驅(qū)動(dòng)電流減小為正常狀態(tài)的一半(顯示亮度隨之降低)。
KO:顯示關(guān)閉模式。該位置為1 時(shí),顯示掃描關(guān)閉,但鍵盤仍保持工作。(顯示寄存器內(nèi)容不被刪除,并可以更新)。
RP:寄存器保護(hù)模式。當(dāng)RP=1 時(shí),BC7281 內(nèi)部的寄存器不能夠直接改寫。