引言
本文設(shè)計(jì)的是一種內(nèi)容更新便捷、可擴(kuò)展、低價(jià)格的點(diǎn)陣 LED文字顯示屏。
降低成本的途徑是:1、用幾乎人人都有的手機(jī)的藍(lán)牙數(shù)據(jù)傳輸功能進(jìn)行LED顯示內(nèi)容的更新,免去專業(yè)上位機(jī)軟件和控制卡的成本,操作也更簡(jiǎn)單;2、單次顯示內(nèi)容在5至30個(gè)漢字或英文字母,因?yàn)轱@示內(nèi)容較少,就可實(shí)現(xiàn)擴(kuò)展電路的簡(jiǎn)單化。
?
1 系統(tǒng)設(shè)計(jì)方案
1.1 系統(tǒng)組成
系統(tǒng)由帶藍(lán)牙功能的智能手機(jī)和LED顯示屏組成。其中,LED顯示屏由單片機(jī)、LED點(diǎn)陣模塊、字庫(kù)芯片、藍(lán)牙接收模塊、5V開(kāi)關(guān)電源和3.3V穩(wěn)壓電路組成,如圖1所示。系統(tǒng)工作過(guò)程是: 用戶通過(guò)智能手機(jī)的記事本編輯“數(shù)據(jù)”,并經(jīng)無(wú)線藍(lán)牙發(fā)送到顯示屏上的藍(lán)牙接收模塊。主控單片機(jī)讀取藍(lán)牙接收模塊接收的“數(shù)據(jù)”并進(jìn)行處理。“數(shù)據(jù)”由“控制命令”和“顯示內(nèi)容”構(gòu)成,兩部分?jǐn)?shù)據(jù)用自定義特征符分隔開(kāi)。“控制命令”用于對(duì)顯示屏的亮度、顯示內(nèi)容移動(dòng)速度和移動(dòng)方向進(jìn)行設(shè)置; 而單片機(jī)根據(jù)收到的“顯示內(nèi)容”的字符代碼在字庫(kù)芯片中找到相應(yīng)的32字節(jié)顯示代碼送點(diǎn)陣屏顯示。
圖1 系統(tǒng)組成
?
1.2 LED 點(diǎn)陣屏工作原理
LED 點(diǎn)陣顯示屏可按顯示需要由若干塊每塊LED 單元板拼接而成。通用LED單元板由2位16×16點(diǎn)陣LED構(gòu)成,尺寸為160*320mm。
單元板的工作原理如下:
每板有16 行32列,數(shù)據(jù)的顯示采用傳統(tǒng)的行列式掃描方式。通常為了減小閃爍,提高掃描速度,采用1/4 掃描,即把16行分為4個(gè)4行,每次同時(shí)選通4個(gè)4行中的同序?qū)?yīng)行,這樣掃描4次即可完成16行的掃描顯示。其中列控制由74HC595承擔(dān),每塊單元板上有16片,每片分別控制4行8列的點(diǎn)陣小單元。行控制是由1片譯碼器74LS138承擔(dān),每次使單元板的4個(gè)4行的同序?qū)?yīng)行選通。為了保證正常的電流驅(qū)動(dòng)( 亮度),74LS138 的輸出經(jīng)AMP4593 驅(qū)動(dòng)放大。每塊單元板有4 片,每片分別驅(qū)動(dòng)4 行。16 片74HC595 接成級(jí)聯(lián)方式,由于每4 行32 列需4 片74HC595, 16 行32 列就是16 片。設(shè)第一個(gè)4 行的4片74HC595 序號(hào)為1、2、3、4,第二個(gè)4 行的4 片74HC595 序號(hào)為5、6、7、8,依次類推。每一片的數(shù)據(jù)輸出端接到下一片的輸入端,數(shù)據(jù)從第1 片的輸入端串行輸入,在移位脈沖的作用下一位一位依序移入,經(jīng)過(guò)8×16 個(gè)脈沖,最先移入的數(shù)據(jù)位移到了第16 片的最低位(也是該片的輸出端),所有數(shù)據(jù)都移入后,就可顯示一板完整的內(nèi)容,按此規(guī)律即可進(jìn)行顯示的軟件設(shè)計(jì)。如果顯示的字?jǐn)?shù)多,拼接的 LED 單元板就多,顯示一屏完整內(nèi)容所需的移位脈沖就多。這種顯示方式要求主控單片機(jī)有較高的指令執(zhí)行速度,否則就會(huì)有閃爍感。點(diǎn)陣單元板原理圖如圖2所示。
圖2 點(diǎn)陣單元板原理圖
2 系統(tǒng)主要模塊的選擇和電路設(shè)計(jì)
2.1 主控芯片
2.1.1 芯片選擇
為了滿足LED 顯示屏的顯示及多板的擴(kuò)展,要求系統(tǒng)主控單片機(jī)有較快的運(yùn)行速度; 較大的存儲(chǔ)空間用于存儲(chǔ)顯示數(shù)據(jù),因此選用美國(guó)silicon公司的C8051F410。該芯片是一款高性能產(chǎn)品,F(xiàn)TQP-32 封裝(9mm* 9mm) 大大減小了體積; 由于采用了精簡(jiǎn)指令結(jié)構(gòu),使得每個(gè)機(jī)器周期僅需一個(gè)時(shí)鐘周期,運(yùn)算速度快大大加快,如果使用片內(nèi)24. 5MHz 的內(nèi)部時(shí)鐘,其運(yùn)行速度大約是普通8051 單片機(jī)工作在12MHz 時(shí)鐘時(shí)的24 倍; 芯片內(nèi)部資源豐富,自帶看門狗,通過(guò)JTAG 接口連接調(diào)試器,可方便硬件在線調(diào)試; 芯片內(nèi)含UART、SPI、I2C等通信接口,方便與外圍芯片連接; 4個(gè)定時(shí)器/計(jì)數(shù)器使編程更方便; 自帶的16K/32KFLASH,可存儲(chǔ)大約1K個(gè)漢字。
2.1.2 最小系統(tǒng)電路設(shè)計(jì)
系統(tǒng)對(duì)單片機(jī)時(shí)鐘的精度和溫度穩(wěn)定度都沒(méi)有特別要求,可以直接使用C8051F410單片機(jī)內(nèi)部自帶的時(shí)鐘振蕩器,而無(wú)需外接振蕩器。使用時(shí)要注意的是,是芯片工作電源是從Vregin引腳引入(+ 3. 3V) ,VDD是內(nèi)部基準(zhǔn)電壓輸出引腳,VIO 是I /O口作為數(shù)字引腳時(shí)的電源輸入引腳。電路設(shè)計(jì)時(shí)必需在緊靠這3 個(gè)引腳的位置布上濾波和退耦電容(4. 7μ 和104p) .P1. 0~ P1. 3 是顯示屏的控制線CLK、SCLK、R 和OE; P1. 7、P0. 0 ~ P0. 2是字庫(kù)芯片控制線,采用SPI 接口; P2. 0和P2. 1是顯示屏的行掃控制線A 和B; P0. 4和P0. 5是串口通信線,與藍(lán)牙模塊連接。這12根引腳都需配置為數(shù)字引腳。最小系統(tǒng)電路如圖3所示。
圖3 C8051F410 單片機(jī)最小系統(tǒng)
?
2.2 藍(lán)牙模塊
2.2.1 模塊選擇
選用藍(lán)牙模塊的要求是: 價(jià)格便宜、體積小,使用方便。符合條件的藍(lán)牙模塊產(chǎn)品很多。設(shè)計(jì)選用的是南京國(guó)春電氣生產(chǎn)的GC-02 藍(lán)牙模塊,這是款高質(zhì)量的CLASS2藍(lán)牙模塊。此藍(lán)牙模塊內(nèi)部帶有對(duì)象交換協(xié)議(OPP)文件接收功能,只要上電后,就可被手機(jī)藍(lán)牙識(shí)別,并可成功配對(duì)建立連接,接收手機(jī)藍(lán)牙傳輸?shù)奈募?/p>
GC-02 藍(lán)牙模塊共有29個(gè)引腳,可通過(guò)SPI 接口或UART接口與單片機(jī)通信。本系統(tǒng)單片機(jī)選擇UART方式與GC-02進(jìn)行通信。藍(lán)牙模塊處于待機(jī)模式時(shí),已配對(duì)過(guò)的手機(jī)向藍(lán)牙模塊發(fā)送文件,未配對(duì)的手機(jī)需先進(jìn)行配對(duì),輸入正確的PIN 碼(即配對(duì)密碼)即可配對(duì)。此藍(lán)牙模塊的出場(chǎng)廠PIN 碼是“1234”,其PIN 碼可通過(guò)向藍(lán)牙模塊發(fā)送指令進(jìn)行修改。
2.2.2 電路設(shè)計(jì)
單片機(jī)通過(guò)引腳P0.4和P0. 5與藍(lán)牙模塊GC-2的串口(12 腳和13腳)進(jìn)行通信,藍(lán)牙模塊的其他功能未用。單片機(jī)與藍(lán)牙模塊的連接如圖4所示。
圖4 單片機(jī)與藍(lán)牙模塊的連接圖。
2.3 字庫(kù)芯片
2.3.1 芯片選擇
由于使用中顯示的內(nèi)容需要經(jīng)常更換,采用文字“取模”獲得顯示數(shù)據(jù)的方法顯然行不通,在顯示電路中存儲(chǔ)字庫(kù)或采用字庫(kù)芯片是個(gè)可行的辦法。設(shè)計(jì)采用字庫(kù)芯片,選擇GT21L16S2W 標(biāo)準(zhǔn)漢字字庫(kù)芯片。
GT21L16S2W 是一款內(nèi)含11×12點(diǎn)陣和15×16點(diǎn)陣的漢字庫(kù)芯片,支持GB2312國(guó)標(biāo)簡(jiǎn)體漢字(含有國(guó)家信標(biāo)委合法授權(quán)) 、ASCII 字符及GB2312與Unicode編碼互轉(zhuǎn)表。排列格式為橫置橫排。根據(jù)字符點(diǎn)陣在芯片中的地址,就可從該地址連續(xù)讀出字符點(diǎn)陣信息。
以15X16點(diǎn)陣漢字為例,漢字信息需要32個(gè)字節(jié)(BYTE0-BYTE31) 來(lái)表示,點(diǎn)陣的數(shù)據(jù)是橫置橫排的,其具體排列結(jié)構(gòu)如圖5。每個(gè)漢字在芯片中是以漢字點(diǎn)陣字模的形式存儲(chǔ)的,每個(gè)點(diǎn)用一個(gè)二進(jìn)制位表示,存1 的點(diǎn),當(dāng)顯示時(shí)可以在屏幕上顯示亮點(diǎn),存0 的點(diǎn),則在屏幕上不顯示。點(diǎn)陣排列格式為橫置橫排: 即一個(gè)字節(jié)的高位表示左面的點(diǎn),低位表示右面的點(diǎn),排滿一行的點(diǎn)后再排下一行。這樣把點(diǎn)陣信息用來(lái)直接在顯示器上按上述規(guī)則顯示,則將出現(xiàn)對(duì)應(yīng)的漢字。15X16 點(diǎn)陣漢字存儲(chǔ)在00000H~3B7BFH 的芯片地址范圍中,只要知道漢字的內(nèi)碼,就可計(jì)算出漢字顯示數(shù)據(jù)的首地址。
圖5 漢字點(diǎn)陣排列格式
2.3.2 接口電路
字庫(kù)芯片GT21L16S2W的各引腳功能如下: 1、2、5、6腳是SPI接口,其中:1(CS#) 為片選輸入,2(SO) 為串行數(shù)據(jù)輸出,5(SI) 為串行數(shù)據(jù)輸入,6(SCLK) 為串行時(shí)鐘。
7腳(HOLD #) 為總線掛起,該信號(hào)可用于在片選信號(hào)有效期間暫停數(shù)據(jù)傳輸。單片機(jī)通過(guò)引腳P0.0~P0.2 以及P1.7 與字庫(kù)芯片進(jìn)行通信,讀取顯示數(shù)據(jù)。HOLD#引腳懸空,Vcc 工作電源為3.3 V。單片機(jī)與字庫(kù)芯片的連接如圖6 所示。
圖6 單片機(jī)與字庫(kù)芯片的連接圖。
2.4 LED 點(diǎn)陣屏與單片機(jī)的連接
點(diǎn)陣屏選擇的是市場(chǎng)上應(yīng)用最為廣泛的P10單紅戶外單元板。該模塊具有高穩(wěn)定性,高亮度,顏色均勻等特點(diǎn),進(jìn)行的掃描方式是1 /4 掃,控制方法簡(jiǎn)便,有利于優(yōu)化軟件設(shè)計(jì),采用點(diǎn)陣單元可以根據(jù)需要進(jìn)行拼湊,靈活性強(qiáng)。LED點(diǎn)陣屏與單片機(jī)的連接如圖7 所示。其中,OE(P1. 3) 為使能信號(hào),連接74HC138,用于亮度控制,也可用于顯示屏消隱。只要調(diào)整它的占空比就可以控制亮度的變化。ABCD 為行掃描信號(hào),A 是最低位,如果ABCD信號(hào)全用上,控制掃描的最大范圍是16 行,1 /4 掃描中只要AB(P2. 0 和P2. 1) 信號(hào)就可以了。當(dāng)行控制信號(hào)出現(xiàn)異常時(shí),將會(huì)出現(xiàn)顯示錯(cuò)位、高亮或圖像重疊等現(xiàn)象。
CLK(P1.0)為移位脈沖,每一個(gè)脈沖將數(shù)據(jù)移入或移出一位。當(dāng)時(shí)鐘信號(hào)有異常時(shí),會(huì)使整板顯示雜亂無(wú)章。STB(P1.1) 是鎖存信號(hào),將移位寄存器內(nèi)的數(shù)據(jù)鎖存并將其數(shù)據(jù)內(nèi)容通過(guò)驅(qū)動(dòng)電路點(diǎn)亮LED顯示出來(lái)。RI(P1.2) 是顯示數(shù)據(jù)的輸入端。
2.5 電源模塊
電源模塊由5V大功率電源和+3.3V小功率穩(wěn)壓電路組成。前者是給LED屏提供電源,后者是把5V電壓穩(wěn)壓成3.3V后提供給單片機(jī)、藍(lán)牙模塊和字庫(kù)模塊工作,這里選用ASM1117-3.3 芯片。市售通用的LED板輸入額定功率約為190W/ m2,每塊單元板面積是160*320 mm2 ,最大工作電流約為2 A(5V工作電壓時(shí)功耗是10W) ,可根據(jù)所要求的LED 顯示屏的面積選擇開(kāi)關(guān)電源的功率。常用的開(kāi)關(guān)電源,配合雙MOS管輸出以及加強(qiáng)型散熱器和濾波電容線圈,可保障純凈充足的電流輸出。
2.6 系統(tǒng)總體電路
本系統(tǒng)以單片機(jī)C8051F410作為MCU,外圍電路包括藍(lán)牙模塊、字庫(kù)芯片、LED點(diǎn)陣屏和電源模塊,系統(tǒng)電路原理如圖8所示。
圖8 系統(tǒng)原理圖。
3 系統(tǒng)軟件設(shè)計(jì)
單片機(jī)的初始化包括:1、時(shí)鐘初始化,選擇片內(nèi)24.5MHz 內(nèi)部時(shí)鐘。2、引腳配置: 配置P0.0~P0.2為SPI接口(3 線) ,與字庫(kù)芯片通信; 配置P0.4和P0.5為串口,與藍(lán)牙模塊實(shí)現(xiàn)通訊; 配置P1.0~P1. 3、P2.0 和P2.1為數(shù)字I /O,實(shí)現(xiàn)對(duì)顯示屏的控制。3、中斷、定時(shí)器/計(jì)數(shù)器和FLASH 相關(guān)寄存器初始化。系統(tǒng)軟件流程如圖9 所示。
圖9 系統(tǒng)軟件流程
?
初始化后系統(tǒng)將主動(dòng)讀取FLASH 指定地址范圍內(nèi)的數(shù)據(jù),并將數(shù)據(jù)(Unicode 字符集) 轉(zhuǎn)換得到與Unicode數(shù)據(jù)對(duì)應(yīng)的GB2312字符集代碼在字庫(kù)芯片的地址碼,然后將該地址碼送給字庫(kù)芯片提取該地址所對(duì)應(yīng)的GB2312字符集,再將GB2312字符集代碼通過(guò)字庫(kù)芯片轉(zhuǎn)化提取相對(duì)應(yīng)的16*16點(diǎn)陣代碼,通過(guò)SPI口將代碼送給單片機(jī),進(jìn)而單片機(jī)將點(diǎn)陣代碼送給點(diǎn)陣屏并控制點(diǎn)陣屏將數(shù)據(jù)顯示出來(lái)。
正常工作狀態(tài)下,當(dāng)手機(jī)藍(lán)牙與系統(tǒng)藍(lán)牙模塊發(fā)生配對(duì)時(shí),手機(jī)只有輸入正確的PIN 碼后,才可成功配對(duì),配對(duì)成功后,若手機(jī)采用記事本軟件通過(guò)藍(lán)牙發(fā)送數(shù)據(jù),藍(lán)牙模塊將接收數(shù)據(jù)并通過(guò)串口發(fā)送出去,這時(shí)單片機(jī)接收數(shù)據(jù),如果識(shí)別到有效數(shù)據(jù)的開(kāi)始位為標(biāo)志位“#”,那么系統(tǒng)將認(rèn)為該命令是控制命令,即控制LED 顯示的亮度、速度、移動(dòng)方向??刂泼畹母袷阶灾鞫x。例如“#35 左”,意思為:“#”為控制標(biāo)志位,“3”控制亮度(控制范圍為0-9,數(shù)值越大亮度越高) ,“5”控制速度(控制范圍0-9,數(shù)字越大速度越慢) ,“左”為方向控制位(左為移動(dòng)方向向左移,右代表向右移,上表示向上移,下為向下移) 。如果有效數(shù)據(jù)的開(kāi)始位不為“#”,那么將默認(rèn)此次數(shù)據(jù)為L(zhǎng)ED要顯示的新內(nèi)容,系統(tǒng)將把數(shù)據(jù)按順序存入指定的FLASH 地址范圍內(nèi),待復(fù)位后新數(shù)據(jù)將顯示于屏幕上。特別要指出的是,為了保證顯示屏工作的可靠性,要在顯示循環(huán)程序中得合適位置設(shè)置好“喂狗”參數(shù)。
4 結(jié)束語(yǔ)
系統(tǒng)實(shí)現(xiàn)了通過(guò)手機(jī)更新顯示屏顯示內(nèi)容的目的,方便又快捷。經(jīng)過(guò)一些用戶的使用,其顯示性能和控制性能均較為穩(wěn)定。但是,在實(shí)際使用過(guò)程中也遇到了尚未解決的問(wèn)題,主要有兩大方面:一是有部分手機(jī)不支持Unicode字符集格式;二是本設(shè)計(jì)僅限于智能機(jī)通過(guò)記事本編輯顯示數(shù)據(jù)的傳送,而不同手機(jī)采用的記事本編輯軟件不盡兼容,本設(shè)計(jì)是基于Nokia手機(jī)軟件設(shè)計(jì)的。
?
評(píng)論
查看更多