📄 12864.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 + -