《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于移動(dòng)數(shù)據(jù)的LED顯示屏設(shè)計(jì)與仿真
基于移動(dòng)數(shù)據(jù)的LED顯示屏設(shè)計(jì)與仿真
吳 永,,涂用軍
(廣東科學(xué)技術(shù)職業(yè)學(xué)院 機(jī)械與電子工程學(xué)院,,廣東 廣州510640)
摘要: 提出了一種基于移動(dòng)數(shù)據(jù)的LED顯示系統(tǒng),。在MCU的控制下,使用GSM無(wú)線模塊TC35i接收合法用戶通過(guò)短消息發(fā)送的顯示信息,并按要求的方式在LED屏幕上顯示出來(lái),解決了傳統(tǒng)LED顯示屏使用有線傳輸?shù)牟槐阈詥栴},。系統(tǒng)在Proteus軟件中進(jìn)行了模擬仿真調(diào)試,并制作出實(shí)物,,取得了良好效果,。
Abstract:
Key words :

摘  要: 提出了一種基于移動(dòng)數(shù)據(jù)的LED顯示系統(tǒng)。在MCU的控制下,使用GSM無(wú)線模塊TC35i接收合法用戶通過(guò)短消息發(fā)送的顯示信息,,并按要求的方式在LED屏幕上顯示出來(lái),,解決了傳統(tǒng)LED顯示屏使用有線傳輸?shù)牟槐阈詥栴}。系統(tǒng)在Proteus軟件中進(jìn)行了模擬仿真調(diào)試,,并制作出實(shí)物,,取得了良好效果。
關(guān)鍵詞: LED顯示屏,;TC35i,;單片機(jī);Proteus

  LED電子顯示屏幕作為一種信息顯示設(shè)備,,主要用于播放廣告、新聞,、通知,、天氣預(yù)報(bào)、時(shí)間,、股票信息,、航班信息、售票信息等,,在站牌,、交通路口、公交車,、售票大廳,、營(yíng)業(yè)大廳、等候大廳,、證券公司,、機(jī)場(chǎng)、體育,、氣象,、交通控制等場(chǎng)所得到了越來(lái)越多的應(yīng)用,具有廣闊的應(yīng)用前景,。

  但是,,傳統(tǒng)的LED顯示屏使用有線通信方式傳輸數(shù)據(jù),受到地域和布線的嚴(yán)重限制,。如果有大量的LED顯示屏同時(shí)工作,,為L(zhǎng)ED顯示屏傳輸更新的數(shù)據(jù)就成為很麻煩的事,并且在沒有其他附加控制設(shè)備的情況下,,LED顯示屏的管理部門也無(wú)法監(jiān)控LED顯示屏的實(shí)際運(yùn)行情況,。

  基于移動(dòng)數(shù)據(jù)的LED顯示屏使用目前覆蓋范圍最廣、最穩(wěn)定的GSM/GPRS/CDMA/小靈通網(wǎng)絡(luò),在任何有移動(dòng)網(wǎng)絡(luò)覆蓋的地方都可實(shí)時(shí)方便地通過(guò)短消息方式更新LED顯示屏的內(nèi)容,,有效解決了LED顯示屏數(shù)據(jù)更新麻煩,、無(wú)法監(jiān)控的困難,減輕了管理部門的工作負(fù)擔(dān),。隨著移動(dòng)通信技術(shù)的發(fā)展及LED顯示屏幕應(yīng)用范圍的進(jìn)一步推廣,,此種基于移動(dòng)數(shù)據(jù)的LED顯示屏幕具有較大應(yīng)用價(jià)值。
1 系統(tǒng)構(gòu)成及原理
  此種基于移動(dòng)數(shù)據(jù)的LED顯示屏幕系統(tǒng)由GSM無(wú)線收發(fā)模塊,、MCU(單片機(jī)),、LED驅(qū)動(dòng)電路、LED顯示屏幕四部分組成,。原理框圖如圖1所示,。


  系統(tǒng)的控制中心為MCU(單片機(jī)),本設(shè)計(jì)使用ATMEL公司的AT89C51芯片,,它通過(guò)串口控制GSM無(wú)線模塊收發(fā)移動(dòng)數(shù)據(jù),,并控制LED驅(qū)動(dòng)電路及顯示屏幕將需要顯示的內(nèi)容用適當(dāng)?shù)姆绞斤@示出來(lái)。GSM無(wú)線收發(fā)模塊使用西門子公司的TC35i,,配一張市面上常見的普通SIM卡,,負(fù)責(zé)接收合法用戶通過(guò)移動(dòng)網(wǎng)絡(luò)發(fā)過(guò)來(lái)的顯示內(nèi)容,并將LED顯示屏的狀態(tài)數(shù)據(jù)通過(guò)移動(dòng)網(wǎng)絡(luò)回傳給用戶,。LED驅(qū)動(dòng)電路及顯示屏幕與傳統(tǒng)方式基本相同[1,,2],采用具有“16 PIN 08接口”的LED單元板,,可拼接成需要的屏幕尺寸,。

  使用時(shí),用戶只需將希望在LED屏幕上顯示的內(nèi)容在手機(jī)或電腦上按短信格式編輯好,,然后像普通短信一樣發(fā)送給插在TC35i模塊中的SIM卡所對(duì)應(yīng)的號(hào)碼,。帶SIM卡的TC35i模塊接收到發(fā)來(lái)的短信后,首先檢查短信的發(fā)送者是否為合法用戶,。若不是合法用戶,,TC35i丟棄該短信;若是合法用戶,,則取出要顯示的內(nèi)容,,并按要求的方式控制LED屏幕將信息顯示出來(lái)。同時(shí),,TC35i可將LED屏幕的狀態(tài)數(shù)據(jù)以短信格式發(fā)送給合法用戶,。如此,利用移動(dòng)通信網(wǎng)絡(luò)實(shí)現(xiàn)了顯示內(nèi)容及狀態(tài)數(shù)據(jù)的雙向?qū)崟r(shí)傳輸,。

  考慮到簡(jiǎn)便性,,本文以一塊32×64點(diǎn)陣的LED單元板顯示16×16點(diǎn)陣的漢字為例說(shuō)明系統(tǒng)原理,。至于更大尺寸的LED屏幕,只要將類似的多塊LED單元板通過(guò)“16 PIN 08接口”依次級(jí)聯(lián)即可,。
2 硬件實(shí)現(xiàn)
2.1 TC35i模塊與單片機(jī)的硬件接口電路

      本系統(tǒng)中移動(dòng)數(shù)據(jù)的收發(fā)都依靠TC35i模塊進(jìn)行,。TC35i模塊集射頻電路和基帶處理于一體,可工作在GSM 900 MHz和DCS 1 800 MHz兩個(gè)頻段,,使用RS232串口與MCU(單片機(jī))連接,,其RS232數(shù)據(jù)接口符合GSM07.05和GSM07.07規(guī)范,使用標(biāo)準(zhǔn)的AT命令集,。模塊通過(guò)50 Ω的天線連接器連接天線,,還通過(guò)40引腳的ZIF連接器實(shí)現(xiàn)電源和SIM卡支架的連接,以及指令,、數(shù)據(jù),、語(yǔ)音信號(hào)及控制信號(hào)的雙向傳輸[3]。
      圖2顯示了單片機(jī)和TC35i接口的關(guān)鍵部分,。


  需要注意,,系統(tǒng)加電后,為使TC35i進(jìn)入工作狀態(tài),,必須給IGT引腳加一延時(shí)大于100 ms的低脈沖,并且電平下降持續(xù)時(shí)間不可超過(guò)1 ms,。啟動(dòng)后,,IGT應(yīng)保持高電平(3.3 V)。驅(qū)動(dòng)IGT時(shí),,TC35i供電電壓不能低于3.3 V,,否則TC35i不能激活。另外,,ZIF連接座的SIMPRES引腳用來(lái)檢測(cè)SIM卡是否插好,,如果連接正確,則SIMPRES引腳輸出高電平,,否則為低電平,。

2.2 單片機(jī)及LED顯示驅(qū)動(dòng)電路
  由于通過(guò)移動(dòng)網(wǎng)絡(luò)短消息得到的只是漢字的內(nèi)碼,而LED屏幕顯示需要漢字的點(diǎn)陣信息,,所以在本系統(tǒng)中必須存放GB2312漢字點(diǎn)陣字庫(kù),,再加上LED屏幕顯示時(shí)需要存放大量的顯示數(shù)據(jù),所以在單片機(jī)AT89C51的外圍擴(kuò)展了64 KB的RAM(62256)和512 KB的Flash 存儲(chǔ)器(29F040),。其中29F040存放點(diǎn)陣字庫(kù)(HZK16,、ASC16)和Unicode轉(zhuǎn)GB2312碼表,62256做顯示緩存,。單片機(jī)收到短消息后先把待顯示信息轉(zhuǎn)換成GB2312碼,,顯示時(shí)再?gòu)?9F040中讀出對(duì)應(yīng)點(diǎn)陣信息存儲(chǔ)在62256中,。

  單片機(jī)P1口用于控制LED屏幕的顯示,其中P1.0~P1.3腳分別輸出4位行選信號(hào)A,、B,、C、D,,ABCD從0000變到1111,,逐行掃描1~16行點(diǎn),將顯示數(shù)據(jù)依次顯示出來(lái),;P1.4腳輸出移位時(shí)鐘信號(hào)SHCLK,,使得顯示數(shù)據(jù)可以依次進(jìn)入LED單元板;P1.5腳輸出鎖存信號(hào)STB,,使得顯示數(shù)據(jù)可以穩(wěn)定輸出,;P1.6腳輸出LED單元板的上16行的顯示數(shù)據(jù)R1,P1.7腳輸出LED單元板的下16行的顯示數(shù)據(jù)R2,。

  32×64點(diǎn)陣的LED單元板用于顯示16點(diǎn)陣的漢字時(shí),,可以顯示2行,每行4個(gè)漢字,。其組成電路如圖3,。行驅(qū)動(dòng)電路使用了2片74HC138芯片,上,、下16行的列驅(qū)動(dòng)電路都使用了8片74HC595芯片,。具體顯示時(shí)采用動(dòng)態(tài)掃描方式,單片機(jī)輸出的4位行選信號(hào)A,、B,、C、D經(jīng)2片74HCl38譯碼后逐行掃描LED單元板的1~16行和17~32行,;上16行的顯示數(shù)據(jù)R1及下16行的顯示數(shù)據(jù)R2在同一移位時(shí)鐘信號(hào)SHCLK的作用下分別依次打入各自的74HC595,,最后在共同鎖存信號(hào)STB的作用下穩(wěn)定輸出在74HC595的并行輸出端。
  在實(shí)際制作LED單元板時(shí),,往往在74HCl38芯片輸出的行掃描線上再加上4953芯片以增加驅(qū)動(dòng)能力,。
3 程序設(shè)計(jì)
3.1 短消息收發(fā)控制

  單片機(jī)通過(guò)AT命令控制TC35i模塊進(jìn)行初始化和短消息的收發(fā),對(duì)短消息的控制共有3種模式:Block模式,、PDU模式和Text模式,。Text模式不支持中文,而使用Block模式需要手機(jī)生產(chǎn)廠家提供驅(qū)動(dòng)支持,,本系統(tǒng)使用PDU模式進(jìn)行短消息接收和發(fā)送,。
  系統(tǒng)上電以后首先對(duì)TC35i進(jìn)行初始化,內(nèi)容主要包括:
       (1)設(shè)置短消息中心號(hào)碼AT+CSCA=“+8613800250500”
       <CR>(該號(hào)碼因地區(qū)不同而設(shè)置不同),。
       (2)設(shè)置短消息格式AT+CMGF=0<CR>(0代表PDU格式),。
       (3)設(shè)置短消息存放的位置AT+CPMS=“SM”<CR>(SM表示將短消息存放在SIM卡中),。
       (4)設(shè)置短信到達(dá)通知AT+CNMI=1,1,,0,,0,1<CR>,。此命令可使模塊在短消息到達(dá)后向單片機(jī)發(fā)送指令<CR>+CMTI:“SM”,,INDEX(信息存儲(chǔ)位置)<CR>。
       系統(tǒng)操作過(guò)程中,,單片機(jī)通過(guò)AT命令控制TC35i模塊接收或發(fā)送短消息,。命令格式如下:
       (1)讀取短消息指令A(yù)T+CMGR=INDEX<CR>。
       (2)發(fā)送短消息指令A(yù)T+CMGS=<length><CR>,。
       (3)刪除短消息指令A(yù)T+CMGD=INDEX<CR>,。
       (4)SIM卡狀態(tài)查詢命令A(yù)T^SCKS。
       接收和發(fā)送的短消息均以PDU串的數(shù)據(jù)形式被單片機(jī)處理,,PDU串由數(shù)字“0”~“9”和字母“A”~“F”組成,,是十六進(jìn)制數(shù)或者BCD碼十進(jìn)制數(shù)。PDU串不僅包含可顯示的消息本身,,還包含很多其他信息,,如SMS服務(wù)中心號(hào)碼、目標(biāo)號(hào)碼,、回復(fù)號(hào)碼,、編碼方式和服務(wù)時(shí)間等。發(fā)送和接收的PDU串結(jié)構(gòu)不完全相同,。下面用2個(gè)實(shí)例說(shuō)明PDU串的結(jié)構(gòu)和編排方式。
  例1:接收,。SMSC號(hào)碼是+8613800-
250500,,對(duì)方號(hào)碼是13851872468,消息內(nèi)容是“你好!”,。單片機(jī)從TC35模塊讀取到的PDU串是——08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 58 81 27 64 F8 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 21,。
      例2:發(fā)送。SMSC號(hào)碼是+8613800-
250500,,對(duì)方號(hào)碼是13851872468,,消息內(nèi)容是“你好!”。單片機(jī)向TC35模塊發(fā)出的PDU串是——08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 58 81 27 64 F8 00 08 00 06 4F 60 59 7D 00 21,。
3.2 LED顯示控制程序
       LED的動(dòng)態(tài)掃描功能通過(guò)使用單片機(jī)的定時(shí)器0中斷實(shí)現(xiàn),。定時(shí)器0計(jì)數(shù)初值的設(shè)定滿足每秒中斷1 000次以上,每次中斷掃描顯示一行,,這樣每行在每秒鐘內(nèi)至少被掃描60次以上,。根據(jù)人眼的視覺暫留效應(yīng),,達(dá)到了較理想的顯示效果。
  定時(shí)器0中斷服務(wù)程序:
       void int0(void) interrupt 1
       {
      TR0=0,;            //關(guān)定時(shí)器T1
      TL0=0x80,;            //設(shè)置初值的低8位
      TH0=0xff;            //設(shè)置初值的高8位
      TR0=1,;            //開定時(shí)器T1

      if(i<16)                //i為掃描的行號(hào),,取值0~15,
                        //依次掃描1~16行
      {
        P1_5=0,;            //關(guān)HC595鎖存

        while(z<8)        //z為上下各8片HC595按
                        //從左到右的編號(hào),,取值0~7。
                        //每片HC595都經(jīng)8次循環(huán),,
                        //實(shí)現(xiàn)8位數(shù)據(jù)的串/并轉(zhuǎn)換
        { a=disp[i*2+k],;//取上16行的8位顯示數(shù)據(jù)a
          b=disp[i*2+k+128];            //取下16行的8位
                                   //顯示數(shù)據(jù)b

          if(z%2!=0)    k+=32-1,;
          else            k++,;

          while(j<8)        //循環(huán)8次,將a通過(guò)P1.6
                        //腳依次移入上面的HC595,,
                        //將b通過(guò)P1.7腳依次
                        //移入下面的HC595    
          {
            P1_4=0,;        //將P1.4口線拉低,
                        //產(chǎn)生移位脈沖SHCLK

            if((a&au)>0)    //假串口P1.6,,輸出上16行
                        //的顯示數(shù)據(jù)a
               P1_6=1,;
            else
               P1_6=0;

            if((b&au)>0)    //假串口P1.7,,輸出下16行
                        //的顯示數(shù)據(jù)b
               P1_7=1,;
            else
               P1_7=0;

            P1_4=1;        //將P1.4口線置高,,產(chǎn)生移位
                        //脈沖SHCLK
            au=au<<1,;
            j++;
          }
          j=0,;
          au=0x01,;

          z++;
        }
        k=0,;
        z=0,;
      }
      P1=(P1&0xf0)|i;        //通過(guò)P1.0~P1.3產(chǎn)生4位
                        //行掃描信號(hào)ABCD
      P1_5=1,;            //開595鎖存
      i++,;
      if(i==16)   i=0;
    }


4 PROTEUS仿真實(shí)現(xiàn)
  本設(shè)計(jì)結(jié)合使用Keil μVision2和Proteus軟件實(shí)現(xiàn)系統(tǒng)的軟件設(shè)計(jì)和硬件仿真調(diào)試。
     Proteus軟件可以仿真包括51系列在內(nèi)的多種常用單片機(jī)及其外圍電路(如LCD,、RAM,、ROM,、鍵盤、馬達(dá),、LED等),,是目前最好的模擬單片機(jī)外圍器件的工具。仿真時(shí)只需在Proteus軟件中畫好單片機(jī)的外圍控制及LED顯示驅(qū)動(dòng)電路,,然后在單片機(jī)芯片的屬性中設(shè)置好晶振頻率,,將用Keil C51編寫的源程序生成的.HEX文件保存到芯片中,就可以仿真調(diào)試了[4,,5],。仿真過(guò)程中如有硬件問題可在Proteus ISIS中直接修改,如有軟件問題可在Keil μVision2中直接修改,。通過(guò)Keil與Proteus的聯(lián)合調(diào)試就可以得到滿意的結(jié)果,,避免了一開始就直接制作實(shí)物,從而縮短了系統(tǒng)的開發(fā)周期,,降低了開發(fā)調(diào)試成本,。
     在Proteus軟件中沒有GSM模塊TC35i,但可以利用Proteus提供的串口仿真功能來(lái)實(shí)現(xiàn)單片機(jī)與TC35i模塊通信的仿真調(diào)試,。具體電路如圖4所示,。單片機(jī)的串口(P3.0、P3.1腳)通過(guò)串行接口器件COMPIM連接TC35i模塊(圖中未畫出TC35i模塊),。首先在仿真主機(jī)上利用虛擬串口軟件VSPDXP(Virtual Serial Port Driver XP)設(shè)置出2個(gè)相互連接的虛擬串口COM3和COM4,,再啟動(dòng) “串口調(diào)試助手”軟件,將其中的串口設(shè)置為COM4,,波特率選擇為4 800 b/s,,然后將Proteus仿真電路中的COMPIM器件的串口設(shè)置為COM3,波特率也選擇為4 800 b/s,。必須注意COM3和COM4中波特率的設(shè)置值與單片機(jī)軟件中的波特率設(shè)置值要相同,,在此都設(shè)定為4 800 b/s,最后運(yùn)行Proteus仿真,,此時(shí)就可以通過(guò)“串口調(diào)試助手”軟件模擬TC35i輸出的數(shù)據(jù)格式向單片機(jī)發(fā)出數(shù)據(jù)了。例如,,正常情況下如果從“串口調(diào)試助手”發(fā)送16進(jìn)制數(shù)據(jù)串“08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 58 81 27 64 F8 00 08 30 30 21 80 63 54 80 06 4F 60 59 7D 00 21”,,仿真電路中的LED屏幕將顯示“你好!”,。而單片機(jī)發(fā)給TC35i模塊的AT命令串將在“串口調(diào)試助手”的接收窗口里實(shí)時(shí)顯示出來(lái),。如果不正確,則可以借助Proteus軟件中的虛擬串口終端等虛擬儀器和圖表進(jìn)行代碼級(jí)跟蹤調(diào)試,。

       將仿真成功的電路稍加修改后,,制作出電路實(shí)物,,將程序固化到實(shí)物的單片機(jī)芯片中,得到的實(shí)物運(yùn)行結(jié)果與Proteus的仿真結(jié)果完全一致,。

  基于移動(dòng)數(shù)據(jù)的LED顯示屏,,使用移動(dòng)通信網(wǎng)絡(luò)實(shí)時(shí)更新LED顯示屏的內(nèi)容,避免了原有系統(tǒng)鋪設(shè)線路或建造專用無(wú)線收發(fā)裝置的麻煩,,有效降低了系統(tǒng)成本,,對(duì)遠(yuǎn)離辦公場(chǎng)所、特別是室外LED顯示屏幕的設(shè)計(jì)提供了一種新思路,。同時(shí),,在開發(fā)此系統(tǒng)過(guò)程中,充分利用嵌入式系統(tǒng)軟硬件設(shè)計(jì)仿真平臺(tái)Proteus軟件的強(qiáng)大功能,,進(jìn)行系統(tǒng)虛擬開發(fā),,成功后再進(jìn)行實(shí)際制作,大大提高了開發(fā)效率,,降低了開發(fā)成本,,對(duì)單片機(jī)及嵌入式系統(tǒng)的開發(fā)具有實(shí)用意義。
參考文獻(xiàn)
[1] 諸昌鈐.LED顯示屏系統(tǒng)原理及工程技術(shù)[M].成都:電子科技大學(xué)出版社,,2002.
[2] 張明波.基于單片機(jī)的點(diǎn)陣LED顯示系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,,2007,2(2):85-86.
[3] Siemens TC35i Terminal User Guide[DB/0l].http://www.siemens.com/wm.
[4] 倪升躍.Proteus——一種集單片機(jī)模擬和SPICE分析于一身的軟件[J].電子世界,,2004(12):38-39.
[5] 黃夙絢.Proteus與Ultra Edit,、Keil的聯(lián)合使用[J].無(wú)線電,2005(7):36-37.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。