孫立輝 王海



摘 要: 設計的多功能LED點陣顯示屏由上位機和下位機兩部分組成。上位機利用LabVIEW從計算機的漢字庫中提取漢字字模并轉化為十六進制字模數據,并在LabVIEW中進行圖像掃描得到相應漢字的字模,經串口傳給下位機以驅動LED點陣顯示屏顯示相應的漢字;下位機的硬件部分由時鐘電路、LED點陣屏顯示電路、溫度采集電路以及主控制器等部分組成,能夠實現漢字、溫度和時間的顯示。該系統具有修改顯示內容方便,顯示穩定,亮度清晰等特點,因此具有很高的應用價值。
關鍵詞: LED點陣顯示屏; LabVIEW; MAX7219; 漢字
中圖分類號: TN98?34 文獻標識碼: A 文章編號: 1004?373X(2016)06?0140?03
Design of multi?function LED dot?matrix display screen based on LabVIEW and SCM
SUN Lihui, WANG Hai
(College of Information and Control Engineering, Jilin Institute of Chemical Technology, Jilin 132022, China)
Abstract: With the rapid development of electronic technology, the dot?matrix display device is widely used in various fields. The designed multi?function LED dot?matrix display screen is composed of the upper computer and lower computer. The Chinese character matrixes are extracted by the upper computer from the Chinese character matrix library in computer by means of LabVIEW, and converted into hex matrix data. The corresponding Chinese character matrixes are obtained by image scanning in LabVIEW, and transmitted to the lower computer through the serial port to drive LED dot?matrix display screen for displaying the corresponding Chinese characters. The hardwares of the lower computer are composed of clock circuit, LED dot?matrix screen display circuit, temperature acquisition circuit and master controller, which can realize the display of Chinese characters, temperature and time. The system has a high application value due to the advantages of convenience display content modification, stable display, clear luminance, etc.
Keywords: LED dot?matrix display screen; LabVIEW; MAX7219; Chinese character
近年來,點陣顯示器件的研制、生產得到了迅速發展,形成了光電子行業新興的產業。LED顯示屏以其外形美觀大方、顯示信息量大、壽命長、能耗小、穩定性高、操作使用靈活方便著稱,應用在廣告宣傳、公交、車站、體育、軍事等許多領域。目前市場上控制顯示屏的核心元件以FPGA和單片機居多。以FPGA為核心的顯示屏雖然具有數據處理量大,控制靈活等特點,但是FPGA的亞穩態以及競爭冒險對輸出的影響也是致命的[1?2]。以單片機為控制核心雖然不會出現競爭冒險現象,但是大多數設計所采用的顯示驅動電路卻占用較多的I/O口[3?6]。本文所設計的LED點陣顯示屏采用單片機為控制核心,通過MAX7219集成化串行輸入/輸出共陰顯示驅動器驅動顯示屏,顯示信息直接利用LabVIEW調用漢字點陣文件進行顯示。
1 系統總體方案
本設計方案采用上位機通過串行通信控制下位機以顯示相應的漢字信息,而時間及溫度等信息則通過下位機來實現。顯示屏的硬件電路通過MAX7219集成化串行輸入/輸出共陰顯示驅動器顯示,其優點是只需要3個I/O口即可驅動1個點陣,點陣顯示時無閃爍,支持級聯。系統的總體設計方案如圖1所示。
2 下位機硬件設計
2.1 單片機選擇
單片機是下位機的核心器件,主要負責溫度測量、時鐘計時以及驅動顯示屏顯示相應信息,本系統采用AT89C52單片機[7]。AT89C52是一種帶4 KB FLASH存儲器的低電壓、高性能CMOS 8位微處理器,該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS?51指令集和輸出管腳相兼容。
圖1 系統框圖
2.2 點陣顯示屏接口電路設計
LED點陣顯示屏采用MAX7219顯示驅動器,此驅動器是集成化的串行輸入/輸出共陰極驅動器,它可以連接7段數字LED顯示,也可以連接64個獨立的LED。普通方法驅動一個8×8點陣,需要用到8個單片機I/O,如果驅動數量較多的點陣,占用較多的單片機的I/O,但是采用MAX7219,只需3個I/O口就可以實現。多個點陣級聯時,只需將第一片的DIN,CS,CLK引腳與單片機的3個I/O口連接,將輸出端的CS,CLK,DOUT與下一片的輸入進行連接,以此類推,就可以實現用3個I/O口控制多個點陣,理論上可以實現無限級聯。點陣顯示屏接口電路如圖2所示。
圖2 LED點陣屏接口電路
2.3 輔助功能設計
LED多功能顯示屏除了顯示漢字和圖形外,還可以顯示溫度及日期,使得顯示屏的功能更加強大。溫度采集電路采用DALLAS公司的DSl8B20數字式溫度傳感器,測量的溫度值采用9位二進制數表示,無需A/D,直接可以輸入CPU,而且讀/寫指令、溫度轉換指令都通過數據總線傳入DSl8B20,無需外部電源。硬件結構見圖3。
時鐘電路采用DS1302時鐘芯片,此芯片具有涓細電流充電能力,而且可以采用串行數據傳輸,并提供掉電保護為電源提供可編程的充電功能。晶振為32.768 kHz。DS1302接口電路非常簡單,只需在X1和X2之間加一個晶振,另外3個引腳SCLK,I/O,RES接CPU三個引腳即可。硬件結構如圖4所示。
圖3 溫度采集電路
圖4 DS1302接口電路
3 軟件設計
本設計可以實現通過上位機輸入字符以實現在LED顯示屏上顯示[8],另外,系統還可以顯示時間和溫度等相關信息,系統主程序如圖5所示。
圖5 主程序流程圖
3.1 上位機LabVIEW串口初始化設置
在程序的開始階段首先需要調用VISA Configure Serial Port完成串口參數設置,包括波特率、數據位、停止位、校驗位等。本設計設置波特率為4 800 b/s、數據位為8、校驗位為0、停止位為1,串口初始化程序如圖6所示。
圖6 串口初始化
3.2 HMI設計
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一種圖形化的編程語言的開發環境,視為一個標準的數據采集和儀器控制軟件。LabVIEW中的前面板就是圖形化用戶界面,用于設置數值輸入和輸出量。本系統設計的LabVIEW串口設置及HMI界面如圖7所示。通過設置與STC89C52單片機串口通信匹配的波特率、串口號、數據位,實現LabVIEW與STC89C52單片機串口通信,并用LabVIEW將漢字的字模提取出來,發送到單片機中進行顯示。
圖7 LabVIEW HMI設計界面
圖7中左側為操作界面,為了保證通信正常,添加了測試功能,當連接好下位機時,點擊測試按鈕,如果通信正常,下位機會返回一個指令,上位機顯示“OK!”,當未成功時,上位機將顯示“ERROR!”,這樣避免通信未成功而操作者不知問題所在。當通信正常時,點擊發送按鈕,所輸入漢字的字模將發送到下位機中,發送過程中工作指示燈點亮,此時不能進行其他操作,當發送結束后,下位機將顯示一個和上位機模擬的相同的界面。
3.3 字模提取方案
本設計主要利用漢字字符的存儲結構以及漢字字符的編碼方案,利用LabVIEW圖形化編程的特點以及LabVIEW中字符串、數組,數字型變量、布爾型變量,循環判斷圖框來進行漢字字模的提取,程序流程圖如圖8所示,程序后框圖如圖9所示。
圖8 字模提取流程圖
4 系統測試
4.1 溫度及時間顯示
系統開機后,點陣屏進入時間和溫度顯示界面。其中第一行顯示的是時間的時和分,第二行顯示的是秒和溫度,例如,現在初始時間為23時01分00秒,溫度25 ℃,如圖10所示。
圖9 程序后框圖
圖10 溫度和時間顯示界面
4.2 漢字顯示
打開上位機LabVIEW,選擇串口,在LabVIEW中輸入2個漢字,例如“測控”, 點擊復位按鈕,清空所有數據,防止發送字模時有干擾,點擊測試按鈕,觀察通信狀態,當顯示“OK!”時,說明通信正常,點擊發送按鈕,此時工作指示燈將點亮,不要進行其他任何操作,防止對發送字模產生干擾。同時,上位機將產生一個模擬16×16點陣顯示屏的效果圖,并將兩個漢字的字模以十六進制數的方式顯示在一個4×16的數組里,實際效果如圖11所示。
圖11 顯示屏漢字顯示效果圖
5 結 語
本次設計的基于單片機和LabVIEW相結合的LED點陣顯示屏,在上位機通過LabVIEW編程產生字模,經串口傳遞給下位機。簡化了程序,減少了單片機的運行時間,并可以根據需要隨時修改顯示內容,同時具有溫度和時間顯示功能,具有廣闊的應用前景。
參考文獻
[1] 金星.基于LabVIEW的LED顯示屏箱體溫度測控系統設計[J].電視技術,2011,35(9):54?57.
[2] 王水魚,王淼.利用LabVIEW產生字模的LED顯示屏設計[J].微型機與應用,2012,31(5):17?19.
[3] 戴祿君,劉戰峰.基于單片機的LED點陣顯示系統的設計[J].計算機與數字工程,2014,42(4):734?738.
[4] 陸欣云,陳巍,張軍.基于FPGA的LED點陣系統控制器的設計與實現[J].液晶與顯示,2014,29(6):926?932.
[5] 鄭爭兵,趙峰.基于FPGA的LED顯示屏控制系統的設計與實現[J].陜西理工學院學報(自然科學版),2015,31(2):25?29.
[6] 黃建斌,邱河波,戴祥,等.基于EZ?USB FX2的LED點陣圖文顯示屏[J].現代電子技術,2010,33(2):34?37.
[7] 朱志強,包軍衛,仲博,等.基于ATmegal28單片機的點陣廣告屏設計[J].現代電子技術,2015,38(2):56?58.
[8] 崔文婷,陳恒,高遠,等.基于Android的LED控制設計[J].電子測量技術,2014,37(12):102?104.