微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 12864液晶显示图片

12864液晶显示图片

时间:11-18 来源:互联网 点击:

writecode(unsigned char dat)//写命令
{ checkbusy();
EN=1;
RW=0;
RS=0;
LCD=dat;
EN=1;
EN=0;
}
writedata(unsigned char dat)//写数据
{ checkbusy();
EN=1;
RW=0;
RS=1;
LCD=dat;
EN=1;
EN=0;
}
//满屏显示图片函数
void LCDDisplay(unsigned char page,unsigned char lineaddress, unsigned char table[8][128])
{

for(i=0;i<8;i++)
{
if(lineaddress<0X80)
{
CS1=0;
CS2=0;
}
writecode(page+i);
writecode(lineaddress);
for(j=0;j<64;j++)
{
writedata(table[i][j]);
lineaddress+=1;
}

if(lineaddress>=0X80)
{
CS1=0;
CS2=1;
lineaddress=lineaddress-0X40;
}
writecode(page+i);
writecode(lineaddress);
for(j=64;j<128;j++)
{
writedata(table[i][j]);
lineaddress+=1;
}
if(lineaddress>=0X80)
{
lineaddress=lineaddress-0X40;
}
}
}
//半屏显示函数
void LCDDisplay12(unsigned char page,unsigned char lineaddress,unsigned char table[8][64])
{
if(lineaddress<0X80)
{
CS1=1;
CS2=0;
}

if(lineaddress>=0X80)
{
CS1=0;
CS2=1;
lineaddress=lineaddress-0X40;
}

for(i=0;i<8;i++)
{writecode(page+i);
writecode(lineaddress);
for(j=0;j<64;j++)
{
writedata(table[i][j]);
}
}

}

void lcdinti()
{writecode(0X3F);
writecode(0XC0);
writecode(0XB8);
writecode(0X40);
}
main()
{lcdinti();
//LCDDisplay12(0Xb8,0X40,&zi1);
LCDDisplay(0Xb8,0X40,&ch);
while(1);
}

半屏显示,protues仿真如图:

全屏显示,protues仿真如图

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top