这个简单,你在当前菜单下设置一个下翻的按键,按一下时,重新写入后面的显示内容,也就是将前三行的内容删除掉,重新写入。
if(KEY_NEXT)
{
delate(page1);
write(page2);
}
void delate(unsigned char page)
{
}
void write(unsigned char page)
{
}
首先说几点:
1、关于点阵型LCD(如128×64),一般汉字显示出来所占点阵为1616点,考虑LCD driver的1页是8行,所以写一个汉字要拆成两页来写。16×16的汉字字模一般要拆分成上下两部分,都为16(列)×8(行/1页);
2、字模需要16×16个点,即162=32个byte,前16byte为上半个字,后16byte为下半个字;
lcd_cmd_wr(0xb8+2posx,0); 是定位偶数页地址,如第一个8行,上半个字
lcd_cmd_wr(0xb8+2posx+1,0); 就定位奇数页地址,如第二个8行,下半个字
lcd_cmd_wr(0x40+16posy,0); 其中posy应该是LCD的列地址(x、y坐标表示好象反了) 16是半个字的列宽度,可作为相邻两个字的列地址偏移量
for(i=0;i<16;i++) 中的i的取值是0~15(16个),汉字字模变量hanzi[i]可以逐一读取上半个汉字的16byte;
for(i=16;i<32;i++) 中i的取值是16~31(16个),汉字字模变量hanzi[i]可以逐一读取下半个汉字的16byte;
; 1、LCD第一行显示: >
死循环是为了程序一直呆在这儿,LCD就一直保持原有的内容了。
你也可以这样处理。
while(1){
lcd(puzhi)
。。。。。
}
否则后边的指令是不确定的,程序不知道执行到哪儿去了。
要判断可能有3个方面:
1显卡问题
(重新插,清洁金手指,风扇是否正常
更新驱动,可以下载驱动精灵
再不行的话保修期间要求免费换)
2连接线问题(重新插,检查vga或者dvi接口)
3显示器问题(检查电插座是否通电方便的话,接在其他电脑上看是不是正常)
还不行一键还原如果没有准备系统光盘,光驱可以使用启动电脑按del键,在bios里设置成光盘启动,插入系统盘然后重启,基本是按步骤自动完成
以上就是关于单片机液晶翻页显示的程序全部的内容,包括:单片机液晶翻页显示的程序、用AT89C52,使其在128*64点阵LCD屏幕上显示“河南理工大学”,并向上滚动显示,一下是部分程序,帮忙解释、求一个1602液晶显示最简单的汇编程序(在屏上显示一个数字就行了,过程完整)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)