📄 c12864.c
字号:
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x04,0x04,0x3F,0x20,0x40,0xC0,0x00,0x00,0xC0,0x40,
/*-- 文字: I --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x20,0x3F,0x20,0x20,0x00,0x40,0x40,0xC0,0x40,0x40,0x00,
/*-- 文字: J --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x60,0x20,0x20,0xC0,0x00,0x00,
/*-- 文字: K --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x24,0x0B,0x30,0x20,0x40,0xC0,0x40,0x00,0xC0,0x40,
/*-- 文字: L --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x20,0x00,0x00,0x00,0x40,0xC0,0x40,0x40,0x40,0xC0,
/*-- 文字: M --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x3F,0x3C,0x03,0x3C,0x3F,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,
/*-- 文字: N --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x0C,0x23,0x3F,0x20,0x40,0xC0,0x40,0x00,0xC0,0x00,
/*-- 文字: O --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x1F,0x20,0x20,0x20,0x1F,0x00,0x80,0x40,0x40,0x40,0x80,0x00,
/*-- 文字: P --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x24,0x24,0x18,0x00,0x40,0xC0,0x40,0x00,0x00,0x00,
/*-- 文字: Q --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x1F,0x21,0x21,0x20,0x1F,0x00,0x80,0x40,0x40,0xE0,0xA0,0x00,
/*-- 文字: R --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x24,0x26,0x19,0x00,0x40,0xC0,0x40,0x00,0xC0,0x40,
/*-- 文字: S --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x18,0x24,0x24,0x22,0x31,0x00,0xC0,0x40,0x40,0x40,0x80,0x00,
/*-- 文字: T --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x30,0x20,0x3F,0x20,0x30,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,
/*-- 文字: U --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3F,0x00,0x00,0x3F,0x20,0x00,0x80,0x40,0x40,0x80,0x00,
/*-- 文字: V --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x3E,0x01,0x07,0x38,0x20,0x00,0x00,0xC0,0x00,0x00,0x00,
/*-- 文字: W --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x38,0x07,0x3C,0x07,0x38,0x00,0x00,0xC0,0x00,0xC0,0x00,0x00,
/*-- 文字: X --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x39,0x06,0x39,0x20,0x00,0x40,0xC0,0x00,0xC0,0x40,0x00,
/*-- 文字: Y --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x20,0x38,0x07,0x38,0x20,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,
/*-- 文字: Z --*/
/*-- 宋体9; 此字体下对应的点阵为:宽x高=6x12 --*/
/*-- 高度不是8的倍数,现调整为:宽度x高度=6x16 --*/
0x30,0x21,0x26,0x38,0x20,0x00,0x40,0xC0,0x40,0x40,0xC0,0x00,
};
//发送命令子函数
//========================================================
void sendcom(unsigned char da)
{
AO=0;
RW=0;
P_Data=da;
EP=1;
EP=0;
}
//========================================================
//写入数据子函数
//========================================================
void senddata(unsigned char da)
{
AO=1;
RW=0;
P_Data=da;
EP=1;
EP=0;
}
void InitGraphic(void)
{
RST=0;
EP=0;
delay_nms(50);
RST=1;
delay_nms(50);
sendcom(0xaf); //LCD_ON
sendcom(0x2f); //上电模式
sendcom(0x81); //电量设置模式(屏幕亮度)
sendcom(0x30); //指令数据
sendcom(0x27); //内部电压调节电阻设置
sendcom(0x08); //偏压设置
sendcom(0xc0); //Com 扫描方式设置(0xc8反向)
sendcom(0xa0); //Segment方向选择(0xa1反向)
sendcom(0xa4); //全屏变亮(0xa5变亮)
sendcom(0xa6); //正相反相显示控制指令,RAM中数据不变(0xa7)
sendcom(0xac); //静态指示器控制指令(0xad为on)
sendcom(0x00);
sendcom(0x40); //设置显示起始行对应RAM行号
}
//========================================================
//页设置子函数
//========================================================
void setpage(unsigned char a)
{
a|=0xb0;
sendcom(a);
}
//========================================================
//列设置子函数
//========================================================
void setaddr(unsigned char addr)
{
int b;
b=addr>>4;
b&=0x1f;
b|=0x10;
addr&=0x0f;
sendcom(addr);
sendcom(b);
}
//========================================================
//清屏子函数 fill ROM with 0 or 1
//========================================================
void ClearScreen(unsigned char a)
{
int z1,z2;
for(z1=0;z1<8;z1++)
{
setpage(z1);
setaddr(0);
for(z2=0;z2<128;z2++)
{
senddata(a);
}
}
}
//========================================================
//显示16*16汉字
//========================================================
void showhanzi(char x,char y,char n) //汉字
{
char i,*p=hanzi;
y=6-y;
p+=32*n;
setpage(y+1);
setaddr(x);
for(i=0;i<16;i++)
{
senddata(*p);
p++;
}
setpage(y);
setaddr(x);
for(i=0;i<16;i++)
{
senddata(*p);
p++;
}
}
//========================================================
//显示6*16字符
//========================================================
void showzifu(char x,char y,char *n)
{
char i,*p;
y=6-y;
while(*n!=0)
{
p=zifu;
p+=12*(*n-32);
setpage(y+1);
setaddr(x);
for(i=0;i<6;i++)
{
senddata(*p);
p++;
}
setpage(y);
setaddr(x);
for(i=0;i<6;i++)
{
senddata(*p);
p++;
}
x+=6;
n++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -