基于藍(lán)牙技術(shù)的LED點(diǎn)陣屏設(shè)計方案
2. 2. 2 電路設(shè)計
單片機(jī)通過引腳P0.4 和P0. 5 與藍(lán)牙模塊GC- 2 的串口( 12 腳和13腳) 進(jìn)行通信,藍(lán)牙模塊的其他功能未用。單片機(jī)與藍(lán)牙模塊的連接如圖4所示。
圖4 單片機(jī)與藍(lán)牙模塊的連接圖。
2. 3 字庫芯片
2. 3. 1 芯片選擇
由于使用中顯示的內(nèi)容需要經(jīng)常更換,采用文字取模獲得顯示數(shù)據(jù)的方法顯然行不通,在顯示電路中存儲字庫或采用字庫芯片是個可行的辦法。設(shè)計采用字庫芯片,選擇GT21L16S2W 標(biāo)準(zhǔn)漢字字庫芯片。
GT21L16S2W 是一款內(nèi)含11 × 12 點(diǎn)陣和15 × 16 點(diǎn)陣的漢字庫芯片,支持GB2312 國標(biāo)簡體漢字( 含有國家信標(biāo)委合法授權(quán)) 、ASCII 字符及GB2312 與Unicode 編碼互轉(zhuǎn)表。排列格式為橫置橫排。根據(jù)字符點(diǎn)陣在芯片中的地址,就可從該地址連續(xù)讀出字符點(diǎn)陣信息。
以15X16點(diǎn)陣漢字為例,漢字信息需要32 個字節(jié)( BYTE 0- BYTE31 ) 來表示,點(diǎn)陣的數(shù)據(jù)是橫置橫排的,其具體排列結(jié)構(gòu)如圖5.每個漢字在芯片中是以漢字點(diǎn)陣字模的形式存儲的,每個點(diǎn)用一個二進(jìn)制位表示,存1 的點(diǎn),當(dāng)顯示時可以在屏幕上顯示亮點(diǎn),存0 的點(diǎn),則在屏幕上不顯示。點(diǎn)陣排列格式為橫置橫排: 即一個字節(jié)的高位表示左面的點(diǎn),低位表示右面的點(diǎn),排滿一行的點(diǎn)后再排下一行。這樣把點(diǎn)陣信息用來直接在顯示器上按上述規(guī)則顯示,則將出現(xiàn)對應(yīng)的漢字。15X16 點(diǎn)陣漢字存儲在00000H ~3B7BFH 的芯片地址范圍中,只要知道漢字的內(nèi)碼,就可計算出漢字顯示數(shù)據(jù)的首地址。
圖5 漢字點(diǎn)陣排列格式
2. 3. 2 接口電路
字庫芯片GT21L16S2W 的各引腳功能如下: 1、2、5、6 腳是SPI接口,其中: 1( CS#) 為片選輸入,2 ( SO) 為串行數(shù)據(jù)輸出,5( SI) 為串行數(shù)據(jù)輸入,6( SCLK) 為串行時鐘。
7 腳( HOLD #) 為總線掛起,該信號可用于在片選信號有效期間暫停數(shù)據(jù)傳輸。單片機(jī)通過引腳P0. 0 ~ P0.2 以及P1.7 與字庫芯片進(jìn)行通信,讀取顯示數(shù)據(jù)。HOLD#引腳懸空,Vcc 工作電源為3. 3 V.單片機(jī)與字庫芯片的連接如圖6 所示。
圖6 單片機(jī)與字庫芯片的連接圖。
2. 4 LED 點(diǎn)陣屏與單片機(jī)的連接
點(diǎn)陣屏選擇的是市場上應(yīng)用最為廣泛的P10 單紅戶外單元板。該模塊具有高穩(wěn)定性,高亮度,顏色均勻等特點(diǎn),進(jìn)行的掃描方式是1 /4 掃,控制方法簡便,有利于優(yōu)化軟件設(shè)計,采用點(diǎn)陣單元可以根據(jù)需要進(jìn)行拼湊,靈活性強(qiáng)。LED 點(diǎn)陣屏與單片機(jī)的連接如圖7 所示。其中,OE( P1. 3) 為使能信號,連接74HC138,用于亮度控制,也可用于顯示屏消隱。只要調(diào)整它的占空比就可以控制亮度的變化。ABCD 為行掃描信號,A 是最低位,如果ABCD信號全用上,控制掃描的最大范圍是16 行,1 /4 掃描中只要AB( P2. 0 和P2. 1) 信號就可以了。當(dāng)行控制信號出現(xiàn)異常時,將會出現(xiàn)顯示錯位、高亮或圖像重疊等現(xiàn)象。
CLK( P1. 0) 為移位脈沖,每一個脈沖將數(shù)據(jù)移入或移出一位。當(dāng)時鐘信號有異常時,會使整板顯示雜亂無章。STB( P1. 1) 是鎖存信號,將移位寄存器內(nèi)的數(shù)據(jù)鎖存并將其數(shù)據(jù)內(nèi)容通過驅(qū)動電路點(diǎn)亮LED顯示出來。RI( P1. 2) 是顯示數(shù)據(jù)的輸入端。
2. 5 電源模塊
電源模塊由5 V 大功率電源和+ 3. 3 V 小功率穩(wěn)壓電路組成。前者是給LED 屏提供電源,后者是把5V 電壓穩(wěn)壓成3. 3 V后提供給單片機(jī)、藍(lán)牙模塊和字庫模塊工作,這里選用ASM1117- 3. 3 芯片。市售通用的LED 板輸入額定功率約為190 W/ m2 ,每塊單元板面積是160* 320 mm2 ,最大工作電流約為2 A( 5 V 工作電壓時功耗是10 W) ,可根據(jù)所要求的LED 顯示屏的面積選擇開關(guān)電源的功率。常用的開關(guān)電源,配合雙MOS 管輸出以及加強(qiáng)型散熱器和濾波電容線圈,可保障純凈充足的電流輸出。
2. 6 系統(tǒng)總體電路
本系統(tǒng)以單片機(jī)C8051F410 作為MCU,外圍電路包括藍(lán)牙模塊、字庫芯片、LED 點(diǎn)陣屏和電源模塊,系統(tǒng)電路原理如圖8 所示。
圖8 系統(tǒng)原理圖。
3 系統(tǒng)軟件設(shè)計
單片機(jī)的初始化包括: ①時鐘初始化,選擇片內(nèi)24.5MHz 內(nèi)部時鐘。②引腳配置: 配置P0. 0 ~ P0. 2 為SPI 接口(3 線) ,與字庫芯片通信; 配置P0. 4 和P0. 5 為串口,與藍(lán)牙模塊實(shí)現(xiàn)通訊; 配置P1. 0 ~ P1. 3、P2. 0 和P2. 1 為數(shù)字I /O,實(shí)現(xiàn)對顯示屏的控制。
③中斷、定時器/計數(shù)器和FLASH 相關(guān)寄存器初始化。系統(tǒng)軟件流程如圖9 所示。
圖9 系統(tǒng)軟件流程
初始化后系統(tǒng)將主動讀取FLASH 指定地址范圍內(nèi)的數(shù)據(jù),并將數(shù)據(jù)( Unicode 字符集) 轉(zhuǎn)換得到與Unicode 數(shù)據(jù)對應(yīng)的GB2312字符集代碼在字庫芯片的地址碼,然后將該地址碼送給字庫芯片提取該地址所對應(yīng)的GB2312 字符集,再將GB2312 字符集代碼通過字庫芯片轉(zhuǎn)化提取相對應(yīng)的16* 16 點(diǎn)陣代碼,通過SPI 口將代碼送給單片機(jī),進(jìn)而單片機(jī)將點(diǎn)陣代碼送給點(diǎn)陣屏并控制點(diǎn)陣屏將數(shù)據(jù)顯示出來。
正常工作狀態(tài)下,當(dāng)手機(jī)藍(lán)牙與系統(tǒng)藍(lán)牙模塊發(fā)生配對時,手機(jī)只有輸入正確的PIN 碼后,才可成功配對,配對成功后,若手機(jī)采用記事本軟件通過藍(lán)牙發(fā)送數(shù)據(jù),藍(lán)牙模塊將接收數(shù)據(jù)并通過串口發(fā)送出去,這時單片機(jī)接收數(shù)據(jù),如果識別到有效數(shù)據(jù)的開始位為標(biāo)志位#,那么系統(tǒng)將認(rèn)為該命令是控制命令,即控制LED 顯示的亮度、速度、移動方向??刂泼畹母袷阶灾鞫x。例如#35 左,意思為:#為控制標(biāo)志位,3控制亮度( 控制范圍為0 - 9,數(shù)值越大亮度越高) ,5控制速度( 控制范圍0 - 9,數(shù)字越大速度越慢) ,左為方向控制位( 左為移動方向向左移,右代表向右移,上表示向上移,下為向下移) .如果有效數(shù)據(jù)的開始位不為#,那么將默認(rèn)此次數(shù)據(jù)為LED 要顯示的新內(nèi)容,系統(tǒng)將把數(shù)據(jù)按順序存入指定的FLASH 地址范圍內(nèi),待復(fù)位后新數(shù)據(jù)將顯示于屏幕上。特別要指出的是,為了保證顯示屏工作的可靠性,要在顯示循環(huán)程序中得合適位置設(shè)置好喂狗參數(shù)。
評論