彩色LED旋轉(zhuǎn)顯示屏的設(shè)計(jì)
摘要 為解決普通LED旋轉(zhuǎn)屏顯示色彩單一的缺陷,根據(jù)時(shí)間混色法利用單片機(jī)和三色LED設(shè)計(jì)了一種4 096色LED旋轉(zhuǎn)屏。該旋轉(zhuǎn)屏上的像素顏色編碼為12 bit數(shù)據(jù),通過(guò)4種亮度不同的幀的疊加,實(shí)現(xiàn)RGB每種顏色的16級(jí)灰度;利用在相鄰兩列LED顯示間隙插入黑時(shí)隙的方法,降低了LED顯示屏橫向顯示拖影等問(wèn)題。經(jīng)過(guò)實(shí)測(cè)驗(yàn)證表明,系統(tǒng)穩(wěn)定、顯示效果良好。
近年來(lái),旋轉(zhuǎn)柱式LED顯示屏以其新穎、視角范圍大、成本低、功耗小等優(yōu)點(diǎn)引起人們的關(guān)注。這種顯示屏的顯示原理較為簡(jiǎn)單:將若干個(gè)LED排成一列構(gòu)成一個(gè)LED線陣,當(dāng)這個(gè)LED線陣?yán)@與其平行的軸旋轉(zhuǎn)時(shí)可形成柱面,按正截面圓周將柱面均分為諸多細(xì)小的曲面,精確地控制LED線陣旋轉(zhuǎn)到每個(gè)小曲面時(shí)的發(fā)光狀態(tài)及發(fā)光時(shí)間,由于人眼的視覺暫留特性,就可看到一幅完整的圖像?,F(xiàn)有的旋轉(zhuǎn)柱式LED屏大多是單色LED屏,少數(shù)能夠?qū)崿F(xiàn)彩色顯示,但顯示的顏色較少。本文利用單片機(jī)STC12C5A60S2設(shè)計(jì)了一種4 096色旋轉(zhuǎn)柱式LED顯示屏控制系統(tǒng)。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)總體框圖如圖1所示,主要由電機(jī)轉(zhuǎn)速與控制及LED陣列控制兩部分組成。電機(jī)轉(zhuǎn)速測(cè)量與控制部分用于實(shí)現(xiàn)旋轉(zhuǎn)屏轉(zhuǎn)速恒定;LED陣列控制部分用于實(shí)現(xiàn)LED線陣旋轉(zhuǎn)位置和發(fā)光狀態(tài)的精確控制。旋轉(zhuǎn)柱式LED屏顯示圖像能否穩(wěn)定,主要取決于這兩部分電路的控制精度。
系統(tǒng)工作原理如下:電機(jī)每轉(zhuǎn)動(dòng)1周,霍爾開關(guān)輸出1個(gè)脈沖信號(hào),通過(guò)STC12C4052測(cè)量出該脈沖的周期,可計(jì)算出電機(jī)轉(zhuǎn)速,如果電機(jī)轉(zhuǎn)速不等于設(shè)定值,則改變STC12C40 52輸出的PWM信號(hào)的占空比,從而控制轉(zhuǎn)速穩(wěn)定不變;需要顯示的內(nèi)容通過(guò)編程接口下載到X28C512-90中,X28C512-90是容量為64 kB、讀取時(shí)間僅為90 ns的高速EEPROM。若顯示柱面為256×16點(diǎn)陣,每個(gè)點(diǎn)4 096色,一個(gè)完整的柱面數(shù)據(jù)為8 kB,一片X28C512可存儲(chǔ)8屏顯示內(nèi)容。位置檢測(cè)電路用于確定柱面顯示的起始位置。
2 系統(tǒng)硬件設(shè)計(jì)
硬件電路由電機(jī)轉(zhuǎn)速測(cè)量與控制電路、數(shù)據(jù)存儲(chǔ)電路、LED陣列控制電路、無(wú)線供電電路組成,其中無(wú)線供電電路采用市售電壓5 V、電流600 mA的無(wú)線供電模塊。
2.1 電機(jī)轉(zhuǎn)速測(cè)量與控制電路
設(shè)計(jì)中選用R550型直流電機(jī),其額定電壓為12 V,最高轉(zhuǎn)速為18 000轉(zhuǎn)/分,這里將電機(jī)轉(zhuǎn)速設(shè)定為100轉(zhuǎn)/s,轉(zhuǎn)速測(cè)量與控制電路如圖2所示?;魻栭_關(guān)輸出的轉(zhuǎn)速信號(hào)送至STC12C4052的外部中斷引腳nINT0,根據(jù)兩次中斷時(shí)間間隔測(cè)量出電機(jī)的轉(zhuǎn)速;P3.7輸出PWM信號(hào)經(jīng)放大后控制NMOS管75N75的通斷,進(jìn)而控制直流電機(jī)的轉(zhuǎn)速。PWM信號(hào)占空比越小,一個(gè)PWM周期內(nèi)NMOS管的導(dǎo)通時(shí)間越長(zhǎng),轉(zhuǎn)速越高;反之,轉(zhuǎn)速越低。
2.2 數(shù)據(jù)存儲(chǔ)電路
利用EEPROM芯片X28C512擴(kuò)展了64 x 8 kB的存儲(chǔ)器,用于存儲(chǔ)顯示數(shù)據(jù),如圖3所示。該電路是51系列單片機(jī)典型的存儲(chǔ)器擴(kuò)展電路。P10所接的是顯示數(shù)據(jù)裝載開關(guān),當(dāng)需要更新顯示數(shù)據(jù)時(shí),將該開關(guān)閉合后上電,可通過(guò)下載線將新的顯示數(shù)據(jù)通過(guò)單片機(jī)STC12C5A60S2的串行口寫入X28C512中。
2.3 LED陣列控制
LED陣列控制電路由6片74HC595級(jí)聯(lián)而成,如圖4所示。16個(gè)三色LED的公共端并聯(lián),接至單片機(jī)STC12C5Q60S2的PWM信號(hào)輸出腳P13,其余48個(gè)引腳分別和6片74HC595的48個(gè)輸出端相連。在SDATA和SCLK信號(hào)控制下,顯示數(shù)據(jù)從單片機(jī)串行輸出到6片74HC595內(nèi)部的移位寄存器中,而后74HC595的RCLK端加上有效信號(hào),將各芯片中數(shù)據(jù)由移位寄存器鎖存到寄存器中,74HC595的輸出使能端受單片機(jī)輸出的PWM信號(hào)控制,當(dāng)PWM信號(hào)為低電平時(shí)LED可發(fā)光。
3 軟件設(shè)計(jì)
3.1 電機(jī)轉(zhuǎn)速的測(cè)量與控制
霍爾開關(guān)輸出的信號(hào)送至單片機(jī)的外部中斷引腳,電機(jī)每轉(zhuǎn)1周產(chǎn)生一次外部中斷,在中斷服務(wù)程序中輪流使用T0和T1,測(cè)量出電機(jī)轉(zhuǎn)動(dòng)一周的時(shí)間,與設(shè)定時(shí)間10 ms/圈比較,若轉(zhuǎn)速偏高,增大PWM信號(hào)的占空比,使轉(zhuǎn)速降低;反之,減小PWM信號(hào)占空比。單片機(jī)的時(shí)鐘為26 MHz,4分頻后作為PWM模塊的時(shí)鐘,PWM周期為39.4μs,完整顯示一幀圖像時(shí)間為39.4μs×254×4≈40 ms,圖像刷新速度為25幀/s。
3.2 4 096色的實(shí)現(xiàn)
根據(jù)時(shí)間混色法,順序地讓3種基色光出現(xiàn)在同一表面的同一處,當(dāng)相隔的時(shí)間間隔足夠小時(shí),人眼會(huì)感到這3種基色光是同時(shí)出現(xiàn)的,具有3種基色相加后所得顏色的效果。利用時(shí)間混色法實(shí)現(xiàn)4 096色顯示,對(duì)應(yīng)于一個(gè)12 bit數(shù)據(jù),RGB每種顏色均有16級(jí)灰度,每幀圖像細(xì)分為4個(gè)子幀,每個(gè)子幀就是電機(jī)旋轉(zhuǎn)1圈顯示的圖像,每種顏色的16級(jí)灰度由4個(gè)子幀疊加實(shí)現(xiàn)。例如某個(gè)像素的顏色為1001(R)0111(G)1010(B),將各顏色數(shù)據(jù)的對(duì)應(yīng)位取出組合得到4組數(shù)據(jù):101、010、011、110這4組數(shù)據(jù)分別用于控制第1~4個(gè)子幀中該像素點(diǎn)的控制如圖5所示。1~4子幀的每個(gè)PWM周期中,低電平時(shí)間依次遞減為上一子幀的1/2,注意每個(gè)PWM周期中,只有低電平期間74HC595才輸出顯示數(shù)據(jù),因此4個(gè)子幀疊加的結(jié)果,每種顏色都有16級(jí)灰度。
3.3 主程序設(shè)計(jì)
電機(jī)每轉(zhuǎn)1周,光電傳感器輸出一個(gè)脈沖信號(hào),該信號(hào)既作為子幀的起始信號(hào),又作為子幀計(jì)數(shù)信號(hào)。每個(gè)子幀分辨率為254×16,其中有效像素為248個(gè),有6個(gè)像素時(shí)間用于幀調(diào)整。根據(jù)計(jì)數(shù)結(jié)果設(shè)置各子幀的PWM信號(hào)占空比,P13輸出對(duì)應(yīng)于第一個(gè)子幀的PWM波,如圖6所示。
各子幀中對(duì)應(yīng)每個(gè)像素的PWM波的高電平期間LED不發(fā)光,即旋轉(zhuǎn)屏上相鄰兩列像素之間有黑時(shí)隙,既降低了旋轉(zhuǎn)屏橫向顯示粘滯感,同時(shí)也利用這段時(shí)間從X28C512中取出下一列要顯示的數(shù)據(jù)并串行送入74HC595中。由于X28C512—90的讀取時(shí)間為90 ns,為保證數(shù)據(jù)正確讀取,在讀取數(shù)據(jù)前將系統(tǒng)時(shí)鐘分頻系數(shù)設(shè)置為4,即系統(tǒng)時(shí)鐘為6.5 MHz,讀取完成后,再將系統(tǒng)時(shí)鐘分頻系數(shù)設(shè)置為1,以提高運(yùn)行速度。主程序流程圖如圖7所示。單片機(jī)復(fù)位后,若P10為低電平,則進(jìn)入顯示數(shù)據(jù)更新狀態(tài),通過(guò)利用STC單片機(jī)的下載線,通過(guò)圖4中的編程接口將PC機(jī)串行輸出的顯示數(shù)據(jù)接收并寫入X28C512中;如果復(fù)位后P10為高電平,則進(jìn)行數(shù)據(jù)顯示,利用中斷服務(wù)程序?qū)怆妭鞲衅鬏敵龅拿}沖信號(hào)在0~3范圍內(nèi)進(jìn)行計(jì)數(shù),根據(jù)計(jì)數(shù)結(jié)果相應(yīng)地設(shè)置PWM信號(hào)的占空比,占空比設(shè)置完成后,等待PWM信號(hào)為高電平,在PWM信號(hào)為高電平期間,讀取X28C512中的數(shù)據(jù),通過(guò)串行口發(fā)送到6片74HC595中,由于PWM為高電平故LED均滅,當(dāng)PWM信號(hào)為低時(shí)74HC595輸出待顯示的數(shù)據(jù),然后等待PWM為高電平,在PWM為高電平期間取出下一列數(shù)據(jù),并發(fā)送到74HC595中,依此類推。PWM信號(hào)的周期和占空比在一個(gè)子幀中無(wú)需改變。
4 結(jié)束語(yǔ)
LED旋轉(zhuǎn)屏是一種新型的LED顯示屏,具有成本低、可視范圍大、節(jié)能等優(yōu)點(diǎn),可用于醫(yī)院、信息中心等場(chǎng)所,實(shí)現(xiàn)信息的動(dòng)態(tài)顯示,具有良好的應(yīng)用前景。本文利用單片機(jī)根據(jù)時(shí)間混色原理設(shè)計(jì)的LED旋轉(zhuǎn)屏,能夠顯示更為豐富的色彩,是LED旋轉(zhuǎn)屏的一個(gè)發(fā)展方向。