照IXD的顯示刷新方向重新組合點(diǎn)陣數(shù)據(jù),并將點(diǎn)陣數(shù)據(jù)更新為組合得到的數(shù)據(jù),執(zhí)行步驟213;
[0091]例如,傳入?yún)?shù)中的點(diǎn)陣數(shù)據(jù)為
[0092]0000 0000 0000
[0093]0000 0000 0000
[0094]0001 0000 0000
[0095]0011 1111 1110
[0096]0000 0000 0000
[0097]0000 0000 0000
[0098]0000 0000 0000
[0099]0000 0000 0000
[0100]0001 0000 0000
[0101]0011 1111 1110
[0102]0000 0000 0000
[0103]0000 0000 0000
[0104]0000 0000 0000
[0105]0001 1111 1100
[0106]0010 0000 0010
[0107]0010 0000 0010
[0108]0001 1111 1100
[0109]0000 0000 0000
[0110]0000 0000 0000
[0111]0001 1111 1100
[0112]0010 0000 0010
[0113]0010 0000 0010
[0114]0001 1111 1100
[0115]0000 0000 0000
[0116]傳入?yún)?shù)中的取模方式為橫向,LCD的顯示刷新方向?yàn)榭v向,則將傳入?yún)?shù)中的點(diǎn)陣數(shù)據(jù)按照IXD的顯示刷新方向重新組合后得到的數(shù)據(jù)為:
[0117]000000 000000
[0118]000000 000000
[0119]000100 000100
[0120]001100 001100
[0121]000100 000100
[0122]000100 000100
[0123]000100 000100
[0124]000100 000100
[0125]000100 000100
[0126]000100 000100
[0127]000100 000100
[0128]000000 000000
[0129]000000 000000
[0130]000000 000000
[0131]001100 001100
[0132]010010 010010
[0133]010010 010010
[0134]010010 010010
[0135]010010 010010
[0136]010010 010010
[0137]010010 010010
[0138]010010 010010
[0139]001100 001100
[0140]000000 000000
[0141]步驟213、根據(jù)當(dāng)前起始行和當(dāng)前結(jié)束行判斷是否存在相應(yīng)第二顯存,是則執(zhí)行步驟216,否則執(zhí)行步驟214;
[0142]例如,在初始化過(guò)程中,共開(kāi)辟了兩塊第二顯存,其中一塊第二顯存對(duì)應(yīng)的起始行和結(jié)束行分別為8和15,另一塊第二顯存對(duì)應(yīng)的起始行和結(jié)束行分別為32和39,當(dāng)前起始行為8,當(dāng)前結(jié)束行為11,則存在相應(yīng)第二顯存,相應(yīng)第二顯存為對(duì)應(yīng)的起始行和結(jié)束行分別為8和15的第二顯存。
[0143]步驟214、將點(diǎn)陣數(shù)據(jù)中的當(dāng)前起始行至當(dāng)前結(jié)束行部分拷貝到緩存區(qū);
[0144]例如,當(dāng)前起始行為0,當(dāng)前結(jié)束行為7,點(diǎn)陣數(shù)據(jù)為
[0145]000000 000000
[0146]000000 000000
[0147]000100 000100
[0148]001100 001100
[0149]000100 000100
[0150]000100 000100
[0151]000100 000100
[0152]000100 000100
[0153]000100 000100
[0154]000100 000100
[0155]000100 000100
[0156]000000 000000
[0157]000000 000000
[0158]000000 000000
[0159]001100 001100
[0160]010010 010010
[0161]010010 010010
[0162]010010 010010
[0163]010010 010010
[0164]010010 010010
[0165]010010 010010
[0166]010010 010010
[0167]001100 001100
[0168]000000 000000
[0169]則將點(diǎn)陣數(shù)據(jù)的第O至7行,即
[0170]000000 000000
[0171]000000 000000
[0172]000100 000100
[0173]001100 001100
[0174]000100 000100
[0175]000100 000100
[0176]000100 000100
[0177]000100 000100
[0178]拷貝到緩存區(qū)。
[0179]步驟215、將緩存區(qū)中的數(shù)據(jù)對(duì)應(yīng)顯示到IXD,執(zhí)行步驟218 ;
[0180]具體地,根據(jù)當(dāng)前起始行、當(dāng)前結(jié)束行和顯示起始列、顯示結(jié)束列將緩存區(qū)中的數(shù)據(jù)顯示到LCD的相應(yīng)位置;例如,當(dāng)前起始行為0,當(dāng)前結(jié)束行為7,傳入?yún)?shù)中的顯示起始列為0,顯示結(jié)束列為11,當(dāng)LCD頁(yè)高度為8時(shí),將緩存區(qū)中的數(shù)據(jù)顯示到LCD的第I頁(yè)的第O至11列。
[0181]步驟216、將點(diǎn)陣數(shù)據(jù)的當(dāng)前起始行至當(dāng)前結(jié)束行部分拷貝到相應(yīng)的第二顯存,執(zhí)行步驟217 ;
[0182]具體地,若當(dāng)前起始行=相應(yīng)的第二顯存的頁(yè)開(kāi)始坐標(biāo),則將點(diǎn)陣數(shù)據(jù)的當(dāng)前起始行至當(dāng)前結(jié)束行部分拷貝到相應(yīng)的第二顯存的O至(當(dāng)前結(jié)束行-當(dāng)前起始行)部分,若當(dāng)前結(jié)束行=相應(yīng)的第二顯存的頁(yè)結(jié)束坐標(biāo),則將點(diǎn)陣數(shù)據(jù)的當(dāng)前起始行至當(dāng)前結(jié)束行部分拷貝到相應(yīng)的第二顯存的(LCD頁(yè)高度-(當(dāng)前結(jié)束行-當(dāng)前起始行)-1)至(LCD頁(yè)高度-1)部分;
[0183]例如,當(dāng)前起始行為8,當(dāng)前結(jié)束行為11,則將點(diǎn)陣數(shù)據(jù)的第8至11行拷貝到相應(yīng)的第二顯存的第O至3行。
[0184]步驟217、將所述相應(yīng)的第二顯存中的數(shù)據(jù)對(duì)應(yīng)顯示到IXD ;
[0185]具體地,根據(jù)所述相應(yīng)的第二顯存對(duì)應(yīng)的起始行和結(jié)束行,以及傳入?yún)?shù)中的顯示起始列和顯示結(jié)束列將所述相應(yīng)的第二顯存中的數(shù)據(jù)顯示到LCD ;
[0186]例如,所述相應(yīng)的第二顯存對(duì)應(yīng)的起始行為8,結(jié)束行為15,傳入?yún)?shù)中的顯示起始列為0,顯示結(jié)束列為11,當(dāng)LCD頁(yè)高度為8時(shí),將所述相應(yīng)的第二顯存中的數(shù)據(jù)顯示到IXD的第2頁(yè)的第O至11列。
[0187]步驟218、更新當(dāng)前起始行為當(dāng)前結(jié)束行的下一行,將當(dāng)前結(jié)束行遞增LCD頁(yè)高度;
[0188]例如,當(dāng)前起始行為0,當(dāng)前結(jié)束行為7,則更新當(dāng)前起始行=8,更新當(dāng)前結(jié)束行
=15ο
[0189]步驟219、判斷當(dāng)前起始行和當(dāng)前結(jié)束行是否位于同一 LCD頁(yè),是則執(zhí)行步驟224,否則執(zhí)行步驟220 ;
[0190]具體地,判斷當(dāng)前起始行和當(dāng)前結(jié)束行是否位于同一 LCD頁(yè),可以具體包括:判斷當(dāng)前起始行/LCD頁(yè)高度I與I當(dāng)前結(jié)束行/LCD頁(yè)高度I是否相等,是則當(dāng)前起始行和當(dāng)前結(jié)束行位于同一 LCD頁(yè),否則當(dāng)前起始行和當(dāng)前結(jié)束行不位于同一 LCD頁(yè);
[0191]例如,當(dāng)前起始行為12,當(dāng)前結(jié)束行為19,則當(dāng)前起始行和當(dāng)前結(jié)束行部位與同一 LCD 頁(yè)。
[0192]步驟220、更新當(dāng)前結(jié)束行為當(dāng)前起始行所在LCD頁(yè)的結(jié)束行;
[0193]具體地,獲取當(dāng)前起始行所在LCD頁(yè)的結(jié)束行的方法可有多種:
[0194]例如,當(dāng)前起始行所在LCD頁(yè)具體為L(zhǎng)CD的第η頁(yè),其中,η = |當(dāng)前起始行/LCD頁(yè)高度I,當(dāng)前起始行所在LCD頁(yè)的結(jié)束行=(n+l)*LCD頁(yè)高度-1 ;
[0195]又例如,當(dāng)前起始行所在LCD頁(yè)的結(jié)束行=當(dāng)前結(jié)束行-當(dāng)前結(jié)束行% LCD頁(yè)高度_1 ;
[0196]本實(shí)施例中對(duì)如何獲得當(dāng)前起始行所在LCD頁(yè)的結(jié)束行不做具體限定。
[0197]例如,當(dāng)前結(jié)束行為19,則更新當(dāng)前結(jié)束行為15。
[0198]步驟221、判斷當(dāng)前行字符是否顯示完成,是則執(zhí)行步驟224,否則執(zhí)行步驟222 ;
[0199]本實(shí)施例中,判斷當(dāng)前行字符是否顯示完成可以具體包括:判斷當(dāng)前起始行是否小于當(dāng)前行字符的起始行+字符高度,是則當(dāng)前行字符未顯示完成,否則當(dāng)前行字符顯示完成;
[0200]例如,當(dāng)前起始行為12,當(dāng)前行字符的起始行為0,字符高度為12,則當(dāng)前行字符顯不完成。
[0201]