基于PIC32單片機(jī)的新型LED點(diǎn)陣顯示控制系統(tǒng)設(shè)計
項(xiàng)目背景:
LED點(diǎn)陣顯示屏是集微電子技術(shù)、計算機(jī)技術(shù)、信息處理技術(shù)于一體的大型顯示屏系統(tǒng)。它以其色彩鮮艷,動態(tài)范圍廣,亮度高,壽命長,工作穩(wěn)定可靠等優(yōu)點(diǎn)而成為眾多顯示媒體以及戶外作業(yè)顯示的理想選擇。目前,已經(jīng)被廣泛應(yīng)用到軍事、車站、賓館、體育、新聞、金融、證券、廣告以及交通運(yùn)輸?shù)仍S多行業(yè)。
目前常用的LED點(diǎn)陣顯示控制系統(tǒng)主要有以下兩類:自帶字庫;PC機(jī)通過RS232或者RS485總線進(jìn)行控制。在第一種系統(tǒng)中,字符代碼需要事先存儲在單片機(jī)(包括其控制的存儲器)中或者保存在專用的控制卡中,這樣每次修改字庫都需要重新連通PC機(jī)進(jìn)行下載,比較麻煩;第二種系統(tǒng)雖然可以實(shí)時修改字庫,但是也需要借助于PC機(jī)。以上兩種方案因?yàn)殡x不開PC機(jī),不能滿足野外顯示的需求。
隨著交通行業(yè)、旅游行業(yè)、廣告行業(yè)的發(fā)展,對LED點(diǎn)陣顯示宣傳提示性文字提出了實(shí)時隨地更改的要求,傳統(tǒng)的LED點(diǎn)陣顯示控制系統(tǒng)顯然已經(jīng)不能滿足這種需求。因此,我們設(shè)計了一個基于PIC32單片機(jī)的新型LED點(diǎn)陣顯示控制系統(tǒng)。在此系統(tǒng)中,我們自行規(guī)定了一個字符庫。本系統(tǒng)借助PIC32系列單片機(jī)的強(qiáng)大功能,在控制模塊內(nèi)部集成字符生成LED點(diǎn)陣代碼軟件,按照自己規(guī)定的簡明字符對照表,由鍵盤輸入任意字符標(biāo)號,系統(tǒng)識別后實(shí)時生成對應(yīng)該字符的LED點(diǎn)陣顯示代碼,并將代碼存儲后用于顯示。同時,也可以將生成的代碼按照使用者設(shè)定的地址碼存入U盤,這樣可以實(shí)現(xiàn)各段文字信息按照不同地址標(biāo)記在U盤進(jìn)行存儲。隨后,這個U盤就可為其它由低端MCU控制的LED點(diǎn)陣顯示系統(tǒng)提供字庫來源,并且使用者可以根據(jù)地址來選擇所需的文字信息,實(shí)現(xiàn)了U盤的復(fù)用控制。本系統(tǒng)可以徹底擺脫LED點(diǎn)陣屏對PC機(jī)的依賴,可以很好的用于隨處所需的LED點(diǎn)陣顯示。
系統(tǒng)框圖:
基于PIC32的主系統(tǒng)框圖如下圖1所示。在圖1中,指出了MCU控制外圍器件所需的接口;虛線箭頭所連接的模塊,表示在每次更換代碼完成后,均可以移走。
圖1
利用U盤和本系統(tǒng)可以讓其它低端LED點(diǎn)陣顯示控制系統(tǒng)也告別對PC機(jī)的依賴。在距離較近的地方,當(dāng)需要多處LED點(diǎn)陣顯示時,讓本系統(tǒng)和其它低端LED點(diǎn)陣顯示控制系統(tǒng)共存,可顯示出巨大的成本優(yōu)勢。U盤復(fù)用控制系統(tǒng)框圖如下圖2所示。在圖2中,指出了MCU控制外圍器件所需的接口;虛線箭頭所連接的模塊,表示在每次更換代碼完成后,均可以移走。
圖2
系統(tǒng)功能實(shí)現(xiàn)原理:
圖1所示系統(tǒng)主要完成生成輸入字符對應(yīng)的LED點(diǎn)陣代碼,并且將這些代碼保存到U盤里以及按需要存入自身的存儲模塊中,代碼生成結(jié)束,則更新自身系統(tǒng)的顯示信息。在向U盤存儲代碼的過程中,可以按照實(shí)際需要(可能每處LED顯示系統(tǒng)需顯示的文字內(nèi)容不一樣)對每段文字代碼進(jìn)行地址標(biāo)記。圖2所示系統(tǒng)主要完成先得到圖1系統(tǒng)里U盤存儲的文字代碼,然后更新自己的顯示信息。在取代碼過程中,按照本處的顯示需要,按照每段文字存儲時的地址取出需要的文字代碼。
圖1所示主系統(tǒng)主要由六個模塊構(gòu)成:MCU主控制模塊;鍵盤模塊;LED點(diǎn)陣顯示模塊;存儲模塊;U盤模塊;LCD液晶顯示模塊。
鍵盤模塊采用普通矩陣鍵盤,通過它輸入每個字符標(biāo)號信息以及鍵入讀寫U盤、刪除錯誤字符等控制命令。CPU主控模塊將字符標(biāo)號導(dǎo)入內(nèi)部集成的LED點(diǎn)陣代碼生成軟件,產(chǎn)生相應(yīng)字符的顯示代碼,同時可保存在存儲模塊和U盤中。在向U盤寫代碼過程中,可以對每段文字代碼分別進(jìn)行地址標(biāo)記,這樣在U盤復(fù)用時,可以由操作者輸入某段字符代碼的地址來選擇不同的文字信息,實(shí)現(xiàn)了一次寫入且滿足了各處顯示不同文字的需求。當(dāng)然,本系統(tǒng)也可以直接從U盤讀入所需的文字代碼用于更新顯示。LCD液晶顯示模塊提供人機(jī)交互界面,在每次鍵盤操作時,同步顯示操作信息(包括顯示選擇的字符),實(shí)現(xiàn)操作直觀性。
U盤模塊和LCD液晶顯示模塊可以只預(yù)留接口,需要使用時則插上這兩個模塊,在操作結(jié)束后,即可撤走U盤和LCD液晶顯示器另作它用。
圖2所示U盤復(fù)用控制系統(tǒng)也由六大模塊構(gòu)成:MCU主控制模塊;鍵盤模塊;LED點(diǎn)陣顯示模塊;存儲模塊;U盤模塊;LED數(shù)碼管顯示模塊。圖1所示系統(tǒng)提供的字符代碼源被存入U盤,插入圖2所示系統(tǒng)。鍵盤模塊也采用普通矩陣鍵盤,操作者通過鍵盤輸入任意一段文字代碼的地址,選擇想要的文字信息,取出代碼的同時存入存儲模塊。取代碼操作完成后,MCU主控模塊從存儲模塊中取出新的文字代碼用于更新LED點(diǎn)陣顯示。LED數(shù)碼管顯示模塊實(shí)時顯示輸入的文字代碼段的地址,讓操作者可以看到自己的輸入信息。
U盤模塊和LED數(shù)碼管顯示模塊也可以只預(yù)留接口,需要使用時則插上這兩個模塊,在操作結(jié)束后,即可撤走U盤和LED數(shù)碼管顯示器以另作它用。
系統(tǒng)軟件設(shè)計:
本套系統(tǒng)可以分為兩個部分:基于PIC32的主系統(tǒng)和普通8位單片機(jī)控制的U盤復(fù)用系統(tǒng)。
下圖3是基于PIC32的主系統(tǒng)的軟件流程圖。
圖3
圖3所示流程圖初步描述:
系統(tǒng)上電初始化完成后,LCD液晶顯示器即進(jìn)入初始(問候或宣傳信息)界面,LED點(diǎn)陣屏顯示原先存儲的文字信息,整個系統(tǒng)等待操作者輸入命令信息。
一旦系統(tǒng)得到更新文字指令,LCD液晶顯示器則顯示功能操作界面,同時系統(tǒng)準(zhǔn)備好處理標(biāo)號。操作者按自己需要輸入對應(yīng)字符的標(biāo)號,系統(tǒng)進(jìn)行標(biāo)號處理得到相應(yīng)的LED點(diǎn)陣顯示代碼,并將這些代碼進(jìn)行存儲。在處理字符標(biāo)號過程中,系統(tǒng)不斷檢測一段文字是否輸入完畢。如果這段文字輸入完,則檢測是否需要下一段文字的輸入。系統(tǒng)以相同方式處理每段文字。在點(diǎn)陣代碼存儲過程中,默認(rèn)按照每段文字的設(shè)定地址存入U盤,如果是需要本系統(tǒng)顯示的文字代碼,則同時存入U盤和本系統(tǒng)的存儲模塊。文字信息錄入完畢后,本系統(tǒng)的LED點(diǎn)陣顯示屏就會顯示新的文字。
下圖4是普通8位單片機(jī)控制的U盤復(fù)用系統(tǒng)的軟件流程圖。
圖4
圖4所示流程圖初步描述:
系統(tǒng)上電完成初始化后,LED點(diǎn)陣屏?xí)@示原來存儲的內(nèi)容。系統(tǒng)一旦檢測到更新顯示命令,則開始準(zhǔn)備接受存在U盤中的文字代碼段的地址信息。收到地址后,LED數(shù)碼管同步顯示此地址,MCU模塊則從U盤中取出對應(yīng)的文字代碼,保存在本系統(tǒng)的存儲模塊中。取代碼結(jié)束,LED點(diǎn)陣屏就開始顯示新的文字信息。
系統(tǒng)先進(jìn)性:
創(chuàng)新點(diǎn)一:構(gòu)建了一種簡便易用的新型字符庫存儲系統(tǒng)(直接用二進(jìn)制代碼去標(biāo)記每個字符),不同于常見的GB2312和GB18030等字庫存儲方式。隨著嵌入式32位單片機(jī)的廣泛應(yīng)用,不用特殊處理就可很容易識別232(4G)個字符,完全滿足各類字符庫存儲需求。
創(chuàng)新點(diǎn)二:LED點(diǎn)陣代碼可以在單片機(jī)類控制器上實(shí)時生成,且可識別任意常見字符。目前成熟的LED點(diǎn)陣顯示控制系統(tǒng)均需要事先由PC機(jī)生成點(diǎn)陣代碼,然后固化在控制器內(nèi)部,使用時調(diào)出存儲的字庫,不具備實(shí)時修改能力。
創(chuàng)新點(diǎn)三:脫離PC機(jī)的U盤復(fù)用控制。本系統(tǒng)讓一個高端單片機(jī)處理器作為臨時PC機(jī),得到所需的點(diǎn)陣代碼,在借助U盤進(jìn)行傳播,更新低端單片機(jī)控制的LED顯示系統(tǒng)的顯示代碼,可以方便實(shí)現(xiàn)低成本的LED點(diǎn)陣顯示群。
硬件平臺:
PIC單片機(jī)最大的特點(diǎn)是不搞單純的功能堆積,而是從實(shí)際出發(fā),重視產(chǎn)品的性能與價格比,靠發(fā)展多種型號來滿足不同層次的應(yīng)用要求作為其強(qiáng)大的競爭力。PIC系列從低到高有幾十個型號,可以滿足各種需要。
圖1所示主系統(tǒng)采用PIC32 USB Starter Kit II硬件平臺。在此硬件平臺上,其主控MCU為Microchip公司的PIC32系列中的32位高性能單片機(jī)。此單片機(jī)已經(jīng)集成了通用串行總線(Universal Serial Bus,USB)模塊,使用最少量的外部元件即可實(shí)現(xiàn)USB 2.0全速和低速嵌入式主機(jī)、全速設(shè)備或OTG 操作;它也集成了串行外設(shè)接口(SPI)模塊,用戶可配置的8位、16位和32位數(shù)據(jù)寬度,非常適合控制串行LCD液晶顯示器;它含有6個UART接口以及執(zhí)行速度快,可用于串行驅(qū)動多個LED點(diǎn)陣顯示屏;它是一個32位單片機(jī),方便進(jìn)行以二進(jìn)制方式識別所有字符;它采用RISC(精簡指令集)結(jié)構(gòu),執(zhí)行速度快,生成的可執(zhí)行文件較小,很適合本系統(tǒng)大量源代碼存儲要求;它具有大量I/O口,能很好的滿足本系統(tǒng)多I/O口的設(shè)計需求。因此,它可以很好的實(shí)現(xiàn)圖1所示系統(tǒng)框圖中的各項(xiàng)功能。
圖2所示系統(tǒng)采用PIC16C系列8位單片機(jī)作為其主控MCU。PIC系列的8位單片機(jī)因其具有各種型號來滿足不同場合需求以及與大多數(shù)8位單片機(jī)兼容,所以它具有很強(qiáng)的市場應(yīng)用競爭能力。在此系統(tǒng)中采用此類單片機(jī)可以很好的滿足功能需求。
系統(tǒng)預(yù)計實(shí)現(xiàn)結(jié)果:
圖1所示系統(tǒng)可以按照使用者需求識別任意常見字符,并能將實(shí)時生成的LED點(diǎn)陣代碼存入U盤,同時更新自身系統(tǒng)的顯示內(nèi)容,且在儲存到U盤時可以對每段文字代碼進(jìn)行地址標(biāo)記。圖2所示系統(tǒng)可以按照使用者輸入的地址,讀出U盤中對應(yīng)的文字信息,用于更新自身系統(tǒng)顯示。系統(tǒng)實(shí)用性分析:
簡單化、低成本化、自動化和智能化是各種產(chǎn)品尤其是電子類產(chǎn)品發(fā)展的必然趨勢。在顯示行業(yè)中,LED點(diǎn)陣顯示器已經(jīng)表現(xiàn)出了巨大的優(yōu)勢,被廣泛用于各行各業(yè)。但是,由于需要借助于PC機(jī)的限制,LED點(diǎn)陣顯示系統(tǒng)大多被用于建筑物附近,而基本無法用于野外。因此,本系統(tǒng)在旅游景區(qū)、路邊等各種野外信息提示處具有巨大的潛在應(yīng)用價值。
傳統(tǒng)的LED點(diǎn)陣顯示控制器都需要依賴PC機(jī),這無疑提高了系統(tǒng)成本。本系統(tǒng)不需借助PC機(jī),就可滿足LED點(diǎn)陣顯示系統(tǒng)對字符代碼的需求,如果在需要多處LED點(diǎn)陣顯示的地方,借助于U盤更能體現(xiàn)出低成本的巨大特性。同時,本系統(tǒng)直接將字符庫集成到了LED點(diǎn)陣代碼生成軟件中,不需購買專用的字庫芯片。
可以預(yù)測,本系統(tǒng)一旦被實(shí)現(xiàn),即可表現(xiàn)出強(qiáng)大的實(shí)用性和競爭力。