LED顯示屏無線數據傳送控制器的設計
王樹彬,李樹華
(內蒙古大學理工學院電子工程系,呼和浩特010021)
摘要:采用微控制器和復雜可編程邏輯器件相結合的結構體系,設計了一個在無線數據通信方式下向LED顯示屏的主控電路傳送數據的控制器.該控制器能夠完成LED顯示屏所要顯示的字符、漢字、圖片的編輯和實現200米以內的數據傳送.
關鍵詞:單片機;復雜可編程邏輯器件;硬漢字庫;液晶顯示模塊
LED顯示屏系統是用于信息發布的可顯示文字和圖片的一種屏幕式電子顯示設備,其主控電路的作用之一就是負責接收數據.通常主控電路是接收PC機傳來的數據,在設計二者的通信接口時,采用有線電纜作為傳輸介質,根據PC機配置的標準串行接口,進行電平轉換.本文選取單片機應用系統結合復雜可編程邏輯器件,設計了在無線數據通信方式下向LED顯示屏的主控電路傳送數據的控制器.該控制器操作簡單、攜帶方便,能夠完成LED顯示屏顯示內容的編輯與數據傳送,在一些小型且需要不斷改變顯示內容的LED顯示屏系統中具有較高的性價比,大大縮小了設備占用空間,而且擺脫線纜的束縛.
1 硬件設計
1.1 系統組成及工作原理
硬件電路組成框圖如圖1所示.使用ATMEL公司的8位單片機AT89C51作為主控CPU;雙交互鍵盤和ACM12232A液晶顯示模塊構成人機交互界面;設計鍵盤鎖防止誤操作鍵盤、換檔鍵使每個按鍵成為雙功能鍵;使用CPLD實現的功能模塊HZCL與硬漢字庫在AT89C51的控制下完成16×16點陣漢字字模的提取.在AT89C51片外擴充了8KByte片外RAM,存放一個拼音的漢字內碼、顯示漢字的字模數據、提供拼音輸入法的指針地址,又擴充了64KByte片外ROM,存放程序和拼音輸入法的碼表及16×8點陣的ASCII碼的字模庫;TX2000無線傳輸模塊實現200米以內的數據的無線傳送.
1.2 系統中對漢字和圖片的處理
改變通常單片機系統處理漢字先根據需要建立小字庫再根據新的編碼編程的方式,直接利用PC機的漢字內碼作為單片機系統的漢字編碼對GB2312280標準的硬漢字庫尋址而處理漢字.對圖片的處理是使用字模提取軟件生成112×32點陣的HEX格式的圖片字模文件固化在片外ROM中,使用功能鍵控制MCU對其進行訪問.
1.3 AT89C51單片機對硬漢字庫的尋址
AT89C51最大尋址空間為64KByte.GB2312280標準的硬漢字庫為256KByte.在提取漢字字模時采用了地址分時緩沖鎖存輸出法,使用一個鎖存器74LS373鎖存AT89C51外部數據總線上的數據作為尋址硬漢字庫的低五位地址,AT89C51的地址總線提供尋址硬漢字庫的高13位地址,然后通過讀操作對字庫芯片進行訪問.由于內碼是不連續的,不能與硬漢字庫的地址一一對應,必須轉換.這種轉換關系用可編程邏輯器件實現,集成在功能模塊HZCL中.
1.4 圖形點陣液晶顯示接口
ACM12232A圖形點陣液晶顯示模塊顯示點陣為122×32點陣,是一種圖形式點陣液晶顯示器,主要由兩片行、列驅動及控制合一的液晶顯示驅動控制器SED1520及122×32全點陣液晶顯示器組成.可以顯示圖片,也可顯示2行×7.5個漢字.單片機控制ACM12232A圖形液晶顯示模塊采用直接訪問方式,將液晶顯示模塊的接口作為存儲器直接掛在單片機的總線上.模塊的接口時序是M6800時序,AT89C51的讀寫信號為Intel8080時序,選通電路滿足M6800使能信號要求.
1.5 復雜可編程邏輯器件實現的功能模塊HZCL
可編程邏輯器件(PLD2ProgramableLogicDevice)是一種由用戶根據需要而自行定義器件管腳和構造邏輯功能的數字集成電路,自由設計一個數字系統或數字集成電路后,通過軟件仿真,可以事先驗證設計的正確性.設計中使用Altera公司的生產的MAX7000S系列的EPM27128SLC84215器件,借助EDA開發工具MAX+PLUSII采用層次設計輸入實現功能模塊HZCL.EPM27128SLC84215具有2500個可用門,68個可用I?O,引腳到引腳的邏輯延遲為15ns.功能模塊HZCL框圖見圖2.功能模塊HZCL具備的功能是:1)內碼與漢字庫地址之間的轉換關系,由GBYM模塊實現;2)第一個鎖存器74LS373隔離AT89C51的數據線和地址線;3)第二個鎖存器74LS373鎖存AT89C51外部數據總線上的數據作為尋址硬漢字庫的低五位地址,此時給第二個鎖存器74LS373分配FFFFH的地址單元,由ENCODER模塊實現;4)AT89C51通過地址譯碼控制液晶E1和E2的選通電路;5)提供一個譯碼器74LS138;6)為AT89C51的外部中斷INT0提供一個反相器.功能模塊HZCL的時序仿真圖見圖3,仿真圖是在給定輸入信號ALE,WR,RD,D72D0,A152A8,C,B,A,IN1的情況下得到的,經分析仿真結果是正確的,由此可得出功能模塊HZCL的時序是完全正確的.
采用這種設計方法將原來由電路板設計完成的大部分工作放在芯片的設計中進行,通過芯片設計實現多種邏輯功能,因此減輕了原理圖和印制板設計的工作量和難度,增加了設計的自由度和靈活性,提高了效率.同時還大大減少了所用芯片的種類和數量,縮小了體積,降低了功耗,提高了系統的整體性能.
1.6 發射電路
利用鍵盤編輯完LED顯示屏要顯示的內容,存放在片外RAM中,由發射子程序利用AT89C51的串口(P3.1)通過無線發射模塊TX2000將數據傳送遞給LED顯示屏的主控電路.LED顯示屏的主控電路通過無線接收模塊RX2000及串口(P3.0)接收數據.
無線發射模塊TX2000內置AM?ASK發射晶片TX4915.工作頻率315MHz,直接接CMOS、TTL電平數據接口、通信數率20Kbps以內,輸出功率10mW,電流1ΛA,工作電壓2.2~5V.不發送數據時自動進入休眠狀態.無線接收模塊RX2000內置ASK接收晶片RX3310.工作頻率315MHz,直接接CMOS、TTL電平數據接口、通信數率500~20Kbps,工作電壓3.6~5V.無線發射模塊TX2000、接收模塊RX2000均為標準的DIP引腳間距,使用簡便,加電即可工作,用于200m以內的無線數據傳輸.
2 軟件編程
基于設計的硬件電路,AT89C51用程序來控制各部分的工作,軟件采用模塊化編程.主程序完成數據的賦值、設置堆棧、鍵值存放單元賦初值、LCD初始化后轉掃描鍵盤程序.由于按鍵較多,采用軟件延時的方法消除按鍵抖動.在編程時,設置等待按鍵釋放處理,目的是為了消除連擊,使得一次按鍵只執行一次相應鍵控子程序,避免鍵控子程序連續執行.
液晶顯示模塊顯示信息之前,對其進行初始化.功能模塊HZCL的E1、E2引腳分別選通兩片SED1520.寄存器選擇信號D?I由地址線A8控制,讀?寫選擇信號R?W由地址線A9控制.LCD寫指令代碼地址為0000H,LCD讀狀態字地址為0200H,LCD寫顯示數據地址為0100H,LCD讀顯示數據地址為0300H.由此具體參數編寫驅動程序.
普通拼音輸入法提供GB2312280規定的二級字庫共6763個漢字的內碼查詢,每個漢字內碼由2個字節表示,代碼為13.3KByte,設計中采用了KeilC51語言編寫.建立拼音輸入法漢字排列表和拼音輸入法查詢碼表,使用查詢函數,輸入拼音碼,返回漢字的起始地址,碼表全部放在單片機的程序空間.
發送數據過程是:將存放在片外RAM中字模數據載入SBUF,然后經TXD(P3.1)將數據傳給無線發射模塊TX2000傳送給LED顯示屏的主控電路.系統的通信約定:①波特率約定為19.2Kbps,用定時器T1作波特率發生器,其工作在方式2;②串行口初始化為方式1,單向通信.在單片機進行控制發送開始時,由于接收模塊處于隨機狀態,先發5幀01010101報頭調整好同步.
3 結 論
利用AT89C51單片機靈活的控制能力與CPLD的高性能、高集成度相結合完成設計.使用國標硬漢字庫,可以任意輸入漢字,靈活性大,檢索速度快,滿足LED顯示屏發布信息需要的漢字數量,同時可傳送預先存放的圖片.整體電路設計合理、性能良好,在200米以內可以很好的與LED顯示屏進行無線通信,波特率為19.2Kbps.AT89C51使用了閑置模式,有效低降低了功耗.