📄 12864.c
字号:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/*------------------延时子程序-----------------------------*/
void delay(unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<10;j++)
;
}
/*------------------写命令到LCD------------------------------*/
void write_com(unsigned char cmdcode)
{
Di=0;RW=0;
Lcd_Bus=cmdcode;delay(0);
Enable=1;delay(0);
Enable=0;
}
/*-------------------写数据到LCD----------------------------*/
void write_data(unsigned char Dispdata)
{
Di=1;RW=0;
Lcd_Bus=Dispdata;delay(0);
Enable=1;delay(0);
Enable=0;
}
/*------------------------读LCD数据----------------------------
unsigned char read_data(void)
{
unsigned char tmpin;
Di=1;RW=1;delay(0);
Enable=1;delay(0);
Enable=0;
tmpin=Lcd_Bus;
return tmpin;
}
/*------------------------显示边框-------------------------------*/
void frame(void)
{
unsigned char i;
Mcs=1;Scs=1;
write_com(Page_Add+0);
write_com(Col_Add+0);
for(i=0;i<64;i++)
write_data(0x01);
write_com(Page_Add+7);
write_com(Col_Add+0);
for(i=0;i<64;i++)
write_data(0x80);
for(i=0;i<8;i++)
{
Mcs=0;Scs=1;
write_com(Page_Add+i);
write_com(Col_Add+63);
write_data(0xff);
Mcs=1;Scs=0;
write_com(Page_Add+i);
write_com(Col_Add+0);
write_data(0xff);
}
}
/*--------------------------清除内存------------------------------*/
void Clr_Scr(void)
{
unsigned char j,k;
Mcs=1;Scs=1;
write_com(Page_Add+0);
write_com(Col_Add+0);
for(k=0;k<8;k++)
{
write_com(Page_Add+k);
for(j=0;j<64;j++)
write_data(0x00);
}
}
/*--------------------------指定位置显示汉字16*16-----------------------*/
void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
{
unsigned char j=0,i=0;
for(j=0;j<2;j++)
{
write_com(Page_Add+pag+j);
write_com(Col_Add+col);
for(i=0;i<16;i++)
write_data(hzk[16*j+i]);
}
delay(2000);//延时,显示时有跳动感
}
/*----------------------指定位置显示字母或数字8*16-----------------------*/
void e_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk)
{
unsigned char j=0,i=0;
for(j=0;j<2;j++)
{
write_com(Page_Add+pag+j);
write_com(Col_Add+col);
for(i=0;i<8;i++)
write_data(hzk[8*j+i]);
}
delay(2000);//延时,显示时有跳动感
}
/*------------------显示128*64图片-------------------------------------*/
void Disp_Img(unsigned char code *img)
{
unsigned char j,k;
for(k=0;k<8;k++)
{
Mcs=1;Scs=0;delay(10);
write_com(Page_Add+k);
write_com(Col_Add+0);
for(j=0;j<64;j++) write_data(img[k*128+j]);
Mcs=0;Scs=1; delay(10);
write_com(Page_Add+k);
write_com(Col_Add+0);
for(j=64;j<128;j++) write_data(img[k*128+j]);
}
}
/*------------------显示64*64图片---------------------------------------
void Disp_Img2(unsigned char code *img)
{
unsigned char j,k;
for(k=0;k<8;k++)
{
Mcs=1;Scs=0;delay(10);
write_com(Page_Add+k);
write_com(Col_Add+0);
for(j=0;j<64;j++) write_data(img[k*64+j]);
}
}
/*-------------------------------初始化LCD屏---------------------------*/
void init_lcd(void)
{
Lcd_Rst=0;delay(100);
Lcd_Rst=1;delay(100);
Mcs=1;Scs=1;delay(100);
write_com(Disp_Off);
write_com(Page_Add+0);
write_com(Start_Line+0);
write_com(Col_Add+0);
write_com(Disp_On);
}
/*------------------------------信息显示-------------------------------*/
void Msg(void)
{
Clr_Scr(); //清除内存
frame(); //边框
Mcs=1;Scs=0;//显示欢迎光临
hz_disp16(1,32,huan);
hz_disp16(1,48,ying);
Mcs=0;Scs=1;
hz_disp16(1,0,guang);
hz_disp16(1,16,lin);
Mcs=1;Scs=0;//湘灵电子工作室
hz_disp16(3,0,xiang);
hz_disp16(3,16,ling);
hz_disp16(3,32,dian);
hz_disp16(3,48,zi);
Mcs=0;Scs=1;
hz_disp16(3,0,gong);
hz_disp16(3,16,zuo);
hz_disp16(3,32,shi);
Mcs=1;Scs=0;//显示www.mculover.net
e_disp16(5,0,w);
e_disp16(5,8,w);
e_disp16(5,16,w);
e_disp16(5,24,di);
e_disp16(5,32,m);
e_disp16(5,40,c);
e_disp16(5,48,u);
e_disp16(5,56,l);
Mcs=0;Scs=1;
e_disp16(5,0,o);
e_disp16(5,8,v);
e_disp16(5,16,e);
e_disp16(5,24,r);
e_disp16(5,32,di);
e_disp16(5,40,n);
e_disp16(5,48,e);
e_disp16(5,56,t);
}
/*------------------------------------------------------------------*/
void LED_on(void)
{
led = on;
}
/*------------------------------------------------------------------*/
void LED_off(void)
{
led = off;
}
/*---------------------------主程序---------------------------------*/
void main(void)
{
LED_on();//D点亮背光灯!
while(1)
{
init_lcd();
Disp_Img(logo);
delay(10000);
Clr_Scr(); //清除内存
Msg();
delay(10000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -