基于單片機(jī)的LED顯示屏控制系統(tǒng)設(shè)計(jì)
1、led顯示數(shù)據(jù)組織
需要顯示的區(qū)域小于或等于實(shí)際顯示區(qū)域時(shí),采用靜態(tài)顯示即可。但大多時(shí)候需要顯示的區(qū)域大于或等于實(shí)際顯示區(qū)域,如圖1所示。為了簡(jiǎn)化問題的分析,本文將顯示區(qū)域高度設(shè)置為LED顯示屏高度的4倍,寬度等于LED顯示屏寬度。設(shè)顯示屏的高度為L(zhǎng)h,寬度為L(zhǎng)w,則顯示區(qū)域高度Dh=4Lh,寬度Dw=Lw。本文以單色顯示作為描述對(duì)象,且Bw=Bn=8(Bw為掃描線條數(shù),Bn為輸出數(shù)據(jù)寬度),如圖1所示。
對(duì)于一個(gè)LED顯示屏,寬度Lw和高度Lh確定后,顯示屏單元板的排列方式也就確定了。單元板相鄰的兩條掃描線之間的距離為Sw,顯示屏有Bw條掃描線,分別是Y0,Y1,…,YBw-1。每Sw行對(duì)應(yīng)一位顯示數(shù)據(jù),顯示屏上的每一個(gè)點(diǎn)對(duì)應(yīng)于存儲(chǔ)器中某個(gè)字節(jié)的某一位。Bw條掃描線分別指向:Y0=O,Y1=Sw,…,BBw-1=(Bw-1)Sw。用靜態(tài)顯示數(shù)據(jù)組織方法分別對(duì)顯示塊A、B、C、D組織顯示數(shù)據(jù)。首先對(duì)顯示塊A的顯示信息進(jìn)行組織(X為列號(hào)):
?、賆=0,即當(dāng)前掃描線各行與第O列相交各點(diǎn)的顯示數(shù)據(jù)按D0,D1,…,DBw-1的順序存儲(chǔ)在存儲(chǔ)器的第一個(gè)存儲(chǔ)單元中。
?、赬值增加1,當(dāng)前掃描線各行與X值對(duì)應(yīng)列相交各點(diǎn)的顯示數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的下一個(gè)存儲(chǔ)單元中。直至將X=O至X=Dw-1的Dw個(gè)數(shù)據(jù)按順序全部存儲(chǔ)在存儲(chǔ)器中。
?、跙w條掃描線向下移動(dòng)一行,重復(fù)第①至②步,直到Y(jié)0移動(dòng)到Sw-1行時(shí)。
?、軘?shù)據(jù)組織結(jié)束。
顯示區(qū)域B、C、D分別按照A的數(shù)據(jù)組織方式去組織顯示數(shù)據(jù)。組織后的顯示數(shù)據(jù)塊按A、B、C、D的順序存儲(chǔ)在RAM0里,然后將RAM0中的顯示數(shù)據(jù)塊A、B、C、D按B、C、D、A的順序拷貝到RAMl中,任何兩個(gè)相鄰顯示塊的顯示數(shù)據(jù)在兩塊RAM中都有相同的地址存儲(chǔ)區(qū)域。RAM0和RAMl的顯示數(shù)據(jù)與存儲(chǔ)器的對(duì)應(yīng)關(guān)系如圖2所示。
掃描組1從Y0=0到Y(jié)0=Sw-1,對(duì)應(yīng)顯示塊A,數(shù)據(jù)已組織存放在存儲(chǔ)器中,可以直接輸出顯示數(shù)據(jù);掃描組2從Y0=Lh到Y(jié)0=Lh+ Sw-1,對(duì)應(yīng)顯示塊B也已經(jīng)組織好,可以直接輸出。但是掃描組3,它的位置非同一般,它的掃描線分別對(duì)應(yīng)著兩個(gè)塊A和B;第O,1,…Bw-1條掃描線分別對(duì)應(yīng)顯示塊A掃描組1的1,2,…,Bw-2;而第Bw-1條掃描線就對(duì)應(yīng)顯示塊B掃描組2的第O條掃描線。如果要在顯示屏上顯示掃描組3對(duì)應(yīng)的這一屏數(shù)據(jù),就一定要同時(shí)使用到掃描組1的第1,2,…,Bw-1條掃描線和掃描組2的第O條掃描線組織的顯示數(shù)據(jù)作為輸出數(shù)據(jù)。由于顯示塊A和B的顯示數(shù)據(jù)是分別組織的,這時(shí)就要取RAM0的D0,D2,…,DBw-1和RAMl的D0位作為輸出到顯示屏的Bw位數(shù)據(jù),這就需要在兩塊RAM同時(shí)輸出的2Bw位中選擇需要的Bw位
作為輸出數(shù)據(jù),并且這Bw位數(shù)據(jù)是連續(xù)的。
顯示步驟(在此只考慮垂直移動(dòng)顯示效果);雙RAM技術(shù)將顯示數(shù)據(jù)輸出的時(shí)候,是將兩塊RAM中相同地址的兩個(gè)數(shù)據(jù)同時(shí)輸出。所以,如果設(shè)置RAMO為主存儲(chǔ)器,RAMl為從存儲(chǔ)器,則將兩塊RAM的顯示數(shù)據(jù)存在一塊串行存儲(chǔ)器中時(shí),偶地址單元應(yīng)存儲(chǔ)RAM0的數(shù)據(jù),奇地址單元存儲(chǔ)RAMl的數(shù)據(jù),由于數(shù)據(jù)寬度為8,所以每次輸出16位數(shù)據(jù)。如果顯示區(qū)域中以(XL,YL)點(diǎn)為顯示起始點(diǎn),在LED屏上顯示一屏顯示信息,則其數(shù)據(jù)選擇控制位只與YL、掃描線和掃描寬度Sw有關(guān)。顯示區(qū)域的起始行坐標(biāo)為YL,一塊顯示區(qū)域有Bwmiddot;Sw行,則YL所在的塊為:
陀螺儀相關(guān)文章:陀螺儀原理
評(píng)論