引言
本文研究采用了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)用介紹較多。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ù)格式如下:
顯示電路連接如下(僅畫出主要引腳):
1.3 程序部分代碼
顯示部分代碼如下:
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)部的寄存器不能夠直接改寫。
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 線,而BC7281 收到握手脈沖后會(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)成一條完整指令。指令格式如下:
顯示電路連接如下(僅畫出主要引腳):
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ì)。
-
芯片
+關(guān)注
關(guān)注
460文章
52520瀏覽量
441020 -
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650554 -
寄存器
+關(guān)注
關(guān)注
31文章
5434瀏覽量
124522 -
LED顯示
+關(guān)注
關(guān)注
0文章
365瀏覽量
39048
發(fā)布評(píng)論請(qǐng)先 登錄
128段LED顯示及64鍵鍵盤控制芯片BC7281B相關(guān)資料下載
MAX7219是什么
MAX7219是什么?如何去操作?
矩陣顯示Max7219的資料分享
BC7281芯片應(yīng)用中的若干問(wèn)題
BC7281/BC7281B中文資料,pdf datashe
BC7281B 128段LED顯示及64鍵鍵盤控制芯片
基于MAX7219的LED顯示系統(tǒng)

MAX7219與單片機(jī)的接口方式及C51編程方法

MAX7219和BC7281實(shí)現(xiàn)LED控制對(duì)比

BC7281和它的應(yīng)用
MAX7219命令控制字(電路圖與例程)

基于MAX7219芯片和BC7281控制芯片實(shí)現(xiàn)LED顯示的兩種方式對(duì)比分析

使用Arduino控制MAX7219 Led矩陣

基于BC7281的功能鍵盤設(shè)計(jì)

評(píng)論