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