⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864.c

📁 gxm12864液晶模块的显示中文的简单程序!
💻 C
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define dataport P0
sbit di=P2^2;
sbit rw=P2^3;
sbit e=P2^4;
sbit cs1=P2^0;
sbit cs2=P2^1;
sbit rst=P2^5;
uchar code hzdot[256]={
/*--  文字:  光  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x42,0x44,0x5C,0xC8,0x40,0x7F,0x40,0xC0,0x50,0x4E,0x44,0x60,0x40,0x00,
0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,

/*--  文字:  电  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,

/*--  文字:  信  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x80,0x40,0x30,0xFC,0x07,0x0A,0xA8,0xA8,0xA9,0xAE,0xAA,0xA8,0xA8,0x08,0x08,0x00,
0x00,0x00,0x00,0x7F,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,

/*--  文字:  息  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0xFC,0x54,0x54,0x56,0x55,0x54,0x54,0x54,0xFC,0x00,0x00,0x00,0x00,
0x00,0x20,0x38,0x01,0x3D,0x41,0x41,0x45,0x59,0x41,0x41,0x71,0x00,0x08,0x30,0x00,

/*--  文字:  工  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,

/*--  文字:  程  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0xBF,0x80,0x00,0x00,
0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x40,0x00,

/*--  文字:  赵  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x48,0x48,0x48,0xFF,0x48,0x48,0x40,0x08,0x10,0x20,0xC0,0x30,0x0C,0x00,0x00,
0x40,0x30,0x0F,0x10,0x3F,0x42,0x42,0x42,0x48,0x44,0x43,0x40,0x43,0x4C,0x40,0x00,

/*--  文字:  波  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00,
};

void delay(uint v);
void reset();
void lcdinit();
void clear_disp();
void onoff(uchar on);
void wcode(uchar c,uchar a,uchar b);
void set_adr(uchar x,uchar y,uchar a,uchar b);
void set_startline(uchar z);
void wdata(uchar c,uchar a,uchar b);
void hzdot_disp();


void main(void)
{
 delay(10);
 reset();
 lcdinit();
 delay(10);
 hzdot_disp();
 while(1);
}


void delay(uint v)
{
  while(v--);
}


void reset()
{
 rst=0;
 delay(20);
 rst=1;
 delay(20);
}


void lcdinit()
{
 clear_disp();
 onoff(0);
 onoff(1);
 set_startline(0);
}


void clear_disp()
{
 uchar i,j,x;
 for(i=0;i<8;i++)
 {
 x=i+0xb8;
 wcode(x,1,1);
 wcode(0x40,1,1);
 for(j=0;j<64;j++)
 {wdata(0x00,1,1);}
 }
}


void wcode(uchar c,uchar a,uchar b)
{
 cs1=a;
 cs2=b;
 di=0;
 rw=0;
 dataport=c;
 e=0;
 delay(10);
 e=1;
 delay(10);
 e=0;
}


void onoff(uchar on)
{
 on=on+0x3e;
 wcode(on,1,1);
}


void set_adr(uchar x,uchar y,uchar a,uchar b)
{
 x=x+0xb8;y=y=0x40;
 wcode(x,a,b);
 wcode(y,a,b);
}


void set_startline(uchar z)
{
 z=z+0xc0;
 wcode(z,1,1);
}


void wdata(uchar c,uchar a,uchar b)
{
 cs1=a;
 cs2=b;
 di=1;
 rw=0;
 dataport=c;
 e=0;
 delay(10);
 e=1;
 delay(10);
 e=0;
}


void hzdot_disp()
{
 uchar h,order;
 set_adr(4,0,1,1);
 for(order=0;order<4;order++)
 {
 for(h=0;h<16;h++)
 {
  wdata(hzdot[order*32+h],1,0);
  wdata(hzdot[order*32+h+128],0,1);
 }
}
set_adr(5,0,1,1);
 for(order=0;order<4;order++)
 {
 for(h=0;h<16;h++)
 {
  wdata(hzdot[order*32+h+16],1,0);
  wdata(hzdot[order*32+h+16+128],0,1);
 }
}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -