液晶显示在嵌入式系统中的应用
CSC Place On List?&firstlcdLine 1?&lcdLine?1???
CSC Place On List ?&firstlcdLine 1? &lcdLine?2???
CSC Place On List ?&firstlcdLine 1? &lcdLine?3???由于四行即可组成一个循环队列,其中lcdLine?0?指定为第一页的第一个入口行,FirstlcdLine 1与lcdLine为同一行,lcdPage?0?页的入口行为firstlcd-Line;lcdPage?0?.firstLine=firstlcdLine 1?lcdPage?0?.pageID =1001,这样,依据该方法便可以生成任意多的页。具体方法如下:
lcdpage 1=NULL?
lcdPage Place On List?&lcdpage 1? &lcdpage?0???
lcdPage Place On List?&lcdpage 1? &lcdpage?1???
lcdPage Place On List?&lcdpage 1? &lcdpage?2???
lcdPage Place On List?&lcdpage 1? &lcdpage?3???
lcdPage Place On List?&lcdpage 1? &lcdpage?4???
lcdPage Place On List?&lcdpage 1? &lcdpage?5???
这样,用五页即可组成一个循环队列,其中lcd-page_1与lcdpage?0?为同一页。
对于行的显示,最基础的行显示方法如下:
void disp lcd Line?lcdMenu *lcdm?unsigned char start? //START为行号
{
unsigned char i?loop?
unsigned char zt?zt1?
unsigned char sign?
unsigned char offset?
unsigned char offlen?
unsigned char *phz?
unsigned char z0?
phz=?unsigned char *?&hz code table?
/汉字代码初地址
offset=start*16? //显示的位置 行号 *列号
offlen =0?
loop=0?
z0=0x00?
sign=lcdm->showflag? //是否为汉字
while?loop<16? //在同一行中从0列到15列
{
zt=lcdm->lcdseg?loop?? //取第一个代码
if?zt<=0x7F? /小于0X80为ASCII代码
《液晶显示在嵌入式系统中的应用(第4页)》