一种分页式lcd的显示方法_3

文档序号:8473778阅读:来源:国知局
照IXD的显示刷新方向重新组合点阵数据,并将点阵数据更新为组合得到的数据,执行步骤213;
[0091]例如,传入参数中的点阵数据为
[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]传入参数中的取模方式为横向,LCD的显示刷新方向为纵向,则将传入参数中的点阵数据按照IXD的显示刷新方向重新组合后得到的数据为:
[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、根据当前起始行和当前结束行判断是否存在相应第二显存,是则执行步骤216,否则执行步骤214;
[0142]例如,在初始化过程中,共开辟了两块第二显存,其中一块第二显存对应的起始行和结束行分别为8和15,另一块第二显存对应的起始行和结束行分别为32和39,当前起始行为8,当前结束行为11,则存在相应第二显存,相应第二显存为对应的起始行和结束行分别为8和15的第二显存。
[0143]步骤214、将点阵数据中的当前起始行至当前结束行部分拷贝到缓存区;
[0144]例如,当前起始行为0,当前结束行为7,点阵数据为
[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]则将点阵数据的第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]拷贝到缓存区。
[0179]步骤215、将缓存区中的数据对应显示到IXD,执行步骤218 ;
[0180]具体地,根据当前起始行、当前结束行和显示起始列、显示结束列将缓存区中的数据显示到LCD的相应位置;例如,当前起始行为0,当前结束行为7,传入参数中的显示起始列为0,显示结束列为11,当LCD页高度为8时,将缓存区中的数据显示到LCD的第I页的第O至11列。
[0181]步骤216、将点阵数据的当前起始行至当前结束行部分拷贝到相应的第二显存,执行步骤217 ;
[0182]具体地,若当前起始行=相应的第二显存的页开始坐标,则将点阵数据的当前起始行至当前结束行部分拷贝到相应的第二显存的O至(当前结束行-当前起始行)部分,若当前结束行=相应的第二显存的页结束坐标,则将点阵数据的当前起始行至当前结束行部分拷贝到相应的第二显存的(LCD页高度-(当前结束行-当前起始行)-1)至(LCD页高度-1)部分;
[0183]例如,当前起始行为8,当前结束行为11,则将点阵数据的第8至11行拷贝到相应的第二显存的第O至3行。
[0184]步骤217、将所述相应的第二显存中的数据对应显示到IXD ;
[0185]具体地,根据所述相应的第二显存对应的起始行和结束行,以及传入参数中的显示起始列和显示结束列将所述相应的第二显存中的数据显示到LCD ;
[0186]例如,所述相应的第二显存对应的起始行为8,结束行为15,传入参数中的显示起始列为0,显示结束列为11,当LCD页高度为8时,将所述相应的第二显存中的数据显示到IXD的第2页的第O至11列。
[0187]步骤218、更新当前起始行为当前结束行的下一行,将当前结束行递增LCD页高度;
[0188]例如,当前起始行为0,当前结束行为7,则更新当前起始行=8,更新当前结束行
=15ο
[0189]步骤219、判断当前起始行和当前结束行是否位于同一 LCD页,是则执行步骤224,否则执行步骤220 ;
[0190]具体地,判断当前起始行和当前结束行是否位于同一 LCD页,可以具体包括:判断当前起始行/LCD页高度I与I当前结束行/LCD页高度I是否相等,是则当前起始行和当前结束行位于同一 LCD页,否则当前起始行和当前结束行不位于同一 LCD页;
[0191]例如,当前起始行为12,当前结束行为19,则当前起始行和当前结束行部位与同一 LCD 页。
[0192]步骤220、更新当前结束行为当前起始行所在LCD页的结束行;
[0193]具体地,获取当前起始行所在LCD页的结束行的方法可有多种:
[0194]例如,当前起始行所在LCD页具体为LCD的第η页,其中,η = |当前起始行/LCD页高度I,当前起始行所在LCD页的结束行=(n+l)*LCD页高度-1 ;
[0195]又例如,当前起始行所在LCD页的结束行=当前结束行-当前结束行% LCD页高度_1 ;
[0196]本实施例中对如何获得当前起始行所在LCD页的结束行不做具体限定。
[0197]例如,当前结束行为19,则更新当前结束行为15。
[0198]步骤221、判断当前行字符是否显示完成,是则执行步骤224,否则执行步骤222 ;
[0199]本实施例中,判断当前行字符是否显示完成可以具体包括:判断当前起始行是否小于当前行字符的起始行+字符高度,是则当前行字符未显示完成,否则当前行字符显示完成;
[0200]例如,当前起始行为12,当前行字符的起始行为0,字符高度为12,则当前行字符显不完成。
[0201]
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1