本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
请教个~~12864~~的问题~
我用 12864液晶 显示一张图片~~
只扫描一页~~
错误码: ‘DATA’:SEGMENT TOO LARGE
也就是: ‘DATA’:数据量太大
我用的是 89C51 片子~~我都不相信 连一张图片的~~数据都扫描不上去~~
我估计是程序问题~~~~
我的数据量是~~
const unsigned char qq1[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
...... //这个省略号表示 62 行
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/*主函数*/
void main( void )
{
Ini_Lcd();
Clear_GDRAM(); //清除液晶GDRAM中的随机数据
Draw_PM(qq1);
//Delay_1ms(); //在这里设置断点观察液晶屏幕显示
//Draw_PM(qq2);
}
/*******************************************
函数名称:Draw_PM
功 能:在整个液晶屏幕上画图
参 数:无
返回值 :无
********************************************/
void Draw_PM(const uchar *ptr)
{
uchar i,j,k;
Write_Cmd(0x34); //打开扩展指令集
i = 0x80;
for(j = 0;j < 32;j++)
{
Write_Cmd(i++);
Write_Cmd(0x80);
for(k = 0;k < 16;k++)
{
Write_Data(*ptr++); //写数据函数
}
}
i = 0x80;
for(j = 0;j < 32;j++)
{
Write_Cmd(i++);
Write_Cmd(0x88); //写命令函数
for(k = 0;k < 16;k++)
{
Write_Data(*ptr++);
}
}
Write_Cmd(0x36); //打开绘图显示
Write_Cmd(0x30); //回到基本指令集
} |