回头想想我弄12864也弄了很久才明白一点点,,不想让你也如此烦恼给你点代码吧
慢慢研究
int m,n,*pH=&LCD_Graph[0][0],*pL=&LCD_Graph[32][0];
/******上半屏**************/
for(m=0;m<32;m++)
{
LCD_Write(Command,0x80+m); //写纵(竖Y)坐标,00H--1FH
LCD_Write(Command,0x80); //写横坐标,00H--07H
for(n=0;n<16;n++)
{
LCD_Write(Data,*(pH+m*16+n));
}
}
/******下半屏**************/
for(m=0;m<32;m++)
{ //这里用了指针做数组的首地址
LCD_Write(Command,0x80+m); //写纵坐标,00H--1FH
LCD_Write(Command,0x88+n); //写横坐标,08H--0FH
for(n=0;n<16;n++)
{
LCD_Write(Data,*(pL+m*16+n));// *(p+32+m*16+n) 这样是不行的
}
}
LCD_Write(Command,0x3f); //扩展指令格式 开显示
LCD_Write(Command,0x36); //显示自定义图形
}
|