0、坐標(biāo)原點的確定
在SM=0的情況下,如圖
ss=1,源掃描方向從S720-->S1,GS=1,門掃描方向從G320-->G319-->.......-->G2-->G1。
1、寄存器03H

AM : 控制GRAM更新方向的控制位
AM = 0: 在水平方向更新地址
AM = 1: 在垂直方向更新地址
這個地方對AM的選擇將直接影響img2lcd軟件的掃描方式控制項,這一位就是控制掃描方式的。
I/D[1:0] : 當(dāng)更新顯示區(qū)域的一個像素點的時候,控制AC是增加1還是減少1,具體參考下圖
I/D[1:0]的正確設(shè)置才能正確的顯示圖片,比如有時候發(fā)現(xiàn)顯示出來的圖片和輸入img2lcd的圖片方向是左右方向是反的,或者上下或者都是反的,那就是需要修改這個的地方了,可以根據(jù)上面的方向來選擇合適的I/D.
ORG : 當(dāng)一個窗口的地址區(qū)域確定以后,根據(jù)上面I/D的設(shè)置,來移動原始地址。當(dāng)高速寫窗口地址域時,這個功能將被使能。
ORG = 0:原始地址是不移動的。這種情況下,是通過指定地址來啟動寫操作的,這個地址是根據(jù)窗口顯示區(qū)域的GRAM的地址表。
ORG = 1:原始地址是根據(jù)I/D的設(shè)置相應(yīng)的移動的。
注意:1、當(dāng)ORG =1的時候,設(shè)置R20H,R21H,的原始地址的時候,只能設(shè)置0x0000
2、在RAM讀操作時,要保證ORG = 0; 3、我們一般選擇AM=0 ID=11的情況
BGR 交換寫數(shù)據(jù)中紅和藍(lán)
BGR = 0 : 根據(jù)RGB順序?qū)懴袼攸c的數(shù)據(jù)。
BGR = 1: 交換RGB數(shù)據(jù)為BGR,寫入GRAM
TRI: 當(dāng)TRI = 1的時候,在8位數(shù)據(jù)模式下是以 8bit *3傳輸?shù)模簿褪莻鬏斎齻字節(jié)到內(nèi)部的RAM,同樣也支持16位數(shù)據(jù)的模式,和使用SPI模式顯示26萬色,也就是說當(dāng)RTI = 1的時候,傳輸?shù)淖止?jié)數(shù)基本上都是三個。這一位在顯示26萬色的時候有用的,或者使用8位數(shù)據(jù)接口的時候,這個要看具體的應(yīng)用來設(shè)置,但是注意如果不需要的時候,要設(shè)置為0.
DFM : 設(shè)置像內(nèi)部RAM傳輸數(shù)據(jù)的的模式。這一位是要和TRI聯(lián)合起來使用的。具體的參看下圖。
2、寄存器R04
RSZ[1:0] : 設(shè)置調(diào)整參數(shù)
當(dāng)設(shè)置了RSZ后,ILI9325將會根據(jù)RSZ設(shè)置的參數(shù)來調(diào)整圖片的大小,這個時候水平和垂直方向的區(qū)域都會變。
根據(jù)上圖,我們可以知道,設(shè)置RSZ相應(yīng)的值就可以縮小為 1/(RSZ[1:0] - 1)。
RCH[1:0]:當(dāng)調(diào)整圖像大小的時候設(shè)置水平余下的像素點的個數(shù)。實際上就是拿當(dāng)前的圖像的水平像素個數(shù)和縮小后水平像素個數(shù)取模,原因是由于你的圖像不可能正好能被縮小1/2,或者1/4,比如你的圖像水平像素點是15個,如果需要縮小為1/2,但是15除以2是有余數(shù)的,余數(shù)為1,RCH[1:0]這個時候就設(shè)置為1,實際上就是保證你的原始圖像水平減去幾個像素點正好能被RSZ除盡。
RCV[1:0]:同上面的RCH原理是一樣的,這個是來保證垂直方向上減去幾個像素點正好能被RSZ除盡。
在這里我把后面的要講的東西提到這里。怎么調(diào)整圖像?
首先我們在顯示的時候屏的坐標(biāo)原點要確定,是左上角為(0,0),如下圖。X = 240 ,Y = 320.
所以顯示圖像的時候應(yīng)該是這樣的
當(dāng)然我們也可以旋轉(zhuǎn)一下角度,但是注意 X Y和原點的位置,這樣看可能更符合我們的思維方式,因為數(shù)學(xué)上大部分都是這樣畫的。
下面我們以調(diào)整為1/2為例,要注意一下,調(diào)整圖像是9325自己調(diào)整的,但是你仍然需要把原始圖像的數(shù)據(jù)全部寫入到9325,只不過是9325不一定全部把數(shù)據(jù)都寫入內(nèi)部的GRAM,而是根據(jù)調(diào)整因子有選擇的把原始圖像的數(shù)據(jù)寫入GRAM。入下圖所示
從上圖可以看到9325在進行1/2調(diào)整的時候,行列上都是隔行或列取數(shù)據(jù),下面以一副貓的圖像顯示為例
調(diào)整大小的時候,需要注意設(shè)置起始水平和垂直方向的起始地址和結(jié)束地址。這個時候設(shè)置水平和垂直方向的起始地址和結(jié)束地址是為了控制顯示區(qū)域,起始地址和結(jié)束地址是在整個屏上的地址,比如你想把縮小一半的圖片,大小比如為120* 160顯示到(100,100)這個點上,起始地址都要設(shè)置為100,水平結(jié)束地址設(shè)置為219,垂直結(jié)束地址為259,這樣就不會把圖片寫過頭,也就是用水平和垂直起始和結(jié)束地址控制顯示區(qū)域。這樣你寫圖片的數(shù)據(jù)的時候9325就不會寫到其他的地方,也就是限定了更新數(shù)據(jù)在屏上的區(qū)域范圍。還要記得設(shè)置R20H,R21H,這兩個值就確定了你寫的數(shù)據(jù)更新開始的坐標(biāo),也就是通過R20H和R21H確定的坐標(biāo)點那個地方開始更新數(shù)據(jù),更新數(shù)據(jù)的范圍是上面水平和垂直方向的起始地址和結(jié)束地址確定的。注意R20H和R21H確定的坐標(biāo)點一定要在現(xiàn)實的區(qū)域內(nèi),否則圖片是不能顯示的。比如你可以吧R20H和R21H設(shè)置為100,但是如果設(shè)置為99,坐標(biāo)(99,99)不在我們剛剛確定的區(qū)域內(nèi),所以圖片就不能顯示。
今天看前面幾天發(fā)的東西,感覺有些模糊,我現(xiàn)在給出些具體的例子,比如方向控制,起始地址和結(jié)束地址的設(shè)置等等

從上面img2lcd的設(shè)置可以知道,掃描方式是垂直掃描,可以知道,R03H中的 AM = 1,這個是需要注意的地方。
1) I/D[1:0] = 00 時
配置代碼如下
最終顯示出來的結(jié)果如下,這個對圖像進行了1/2調(diào)整,由于是晚上拍的,在加上手機拍的,質(zhì)量不是太好,圖像我想顯示在以(10,50)為起點,(119,209)位為終點的范圍內(nèi)。
大家仔細(xì)的看圖像,雖然有點不清楚,但是應(yīng)該可以看到圖片和img2lcd中的圖像是左右相反的,看腿的方向就知道了。這個原因是為什么呢?我解釋一下:從I/D的設(shè)置上可以看出來垂直方向上是遞減的,所以垂直方向的坐標(biāo)點應(yīng)該定到圖像的最高點,并且從AM=1 ,I/D = 00來看水平坐標(biāo)是增大的,所以水平坐標(biāo)應(yīng)該是起點的位置
|