最近终于找到了合适的讲解12864液晶的资料,不过在讲解显示图片是看的不是很明白,里面是这么说的,液晶是先显示左半屏,再显示右半屏, 但是取数组中的元素是逐个往下取出的, 所以是对于一个半屏而言, 每隔一行取数组中的元素 ,而隔去的那一行是另一个半屏要取的数据!,对应的程序是这样的
- void display_BMP(uchar a[][64])//显示图形的左边部分
- {
- uchar i,j;
- for(j=0;j<8;j++)
- {
- SelectScreen(1);//选左屏命令
- Set_page(j);//设置页数
- Set_column(0);设置初始行为0行
- for(i=0;i<64;i++) //显示左屏
- {
- write_LCD_data(a[2*j][i]);//每隔一行取一次数组中的数据
- }
- SelectScreen(2);//选右屏命令
- Set_page(j);
- Set_column(0);
- for(i=0;i<64;i++) //显示右屏
- {
- write_LCD_data(a[2*j+1][i]);//每隔一行取一次数组中的数据
- }
- }
- }
复制代码图片是128*64大小,对应的是纵向取模和字节倒序。我知道他讲的是左半屏显示前64位数据,右半屏显示隔一行的64位数据,然而这是为什么呢?虽然是显示左屏的一页然后再显示右屏的一页,但是这样也没什么不同嘛,正常来说不也是先打印左右,然后再下一行嘛,为什么就不能依次显示数据呢?偏偏要右屏隔一行再显示。求各位前辈指教。ps:学习资料的大海橡树的资料,12864液晶型号是AMPIRE128*64
具体看一下你的液晶的手册
看一下驱动IC的型号,对应找一下芯片手册看一下就明白了
一周热门 更多>