📄 lq12864.c
字号:
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n78
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o79
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p80
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q81
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r82
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s83
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t84
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u85
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v86
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w87
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x88
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y89
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z90
0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{91
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//|92
0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//}93
0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~94
};
//数据水平,字节垂直
const U8 longqiu96x64[768] = {
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,0X80,0X80,0X80,0XC0,0XC0,0XC0,
0XC0,0XC0,0X60,0X60,0X60,0X60,0X60,0X70,0X70,0X70,0X30,0X30,0X30,0X30,0X30,0X30,
0X30,0X30,0X30,0X30,0X30,0X30,0X30,0X70,0X70,0X60,0X60,0X60,0X60,0X60,0XE0,0XC0,
0XC0,0XC0,0XC0,0X80,0X80,0X80,0X80,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,0X80,0X80,0XC0,0XE0,0X60,0X30,
0X38,0X18,0X1C,0X0C,0X0E,0X06,0X06,0X03,0X03,0X03,0X01,0X01,0X01,0X01,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X80,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,0XE0,0XE0,0X60,0X60,
0XE0,0XE0,0XC0,0X81,0X01,0X01,0X03,0X03,0X03,0X07,0X06,0X0E,0X0C,0X1C,0X18,0X38,
0X30,0X70,0X60,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X80,0XC0,0XF0,0X38,0X9C,0X8E,0XC7,0XC3,0XE1,0XF1,0XB0,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XE0,0XF0,0X70,0X78,0XF0,0XF0,0XE0,
0X80,0X30,0XF8,0XF8,0XF8,0XF8,0X1C,0X3C,0XFC,0XF8,0XF0,0X00,0XF0,0XF8,0XFC,0XFC,
0XCF,0XCF,0XFF,0XFF,0XFC,0XF8,0X70,0XFC,0XFF,0XFF,0XFF,0X0F,0X01,0X70,0X70,0X30,
0X00,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0XE0,0XE0,0XEE,0XEE,0X0E,0X00,0XC0,0XC0,0X80,
0X80,0X00,0X00,0X00,0X01,0X03,0X03,0X06,0X0C,0X3C,0X70,0XE0,0XC0,0X00,0X00,0X00,
0X00,0XF0,0XFE,0X1F,0X03,0X00,0X00,0X01,0X01,0X01,0X03,0X0F,0X1F,0X7F,0XFE,0XFC,
0XF0,0XE0,0X80,0X80,0X86,0XFE,0XFC,0XF0,0X87,0X1F,0X1E,0X78,0XF8,0XF8,0X7D,0X7F,
0X1F,0X20,0X3F,0X3F,0X3F,0X3F,0X30,0X00,0X3F,0X3F,0X3F,0X7C,0XF0,0XF9,0XFF,0XFF,
0XFF,0XCF,0X9F,0XFF,0XFB,0XF8,0X70,0X03,0X0F,0X1F,0X1F,0X3E,0X3C,0X36,0X76,0X7E,
0X7E,0XFF,0XFF,0XEF,0X47,0X61,0XFC,0XFF,0XFF,0XCF,0XE3,0XF8,0XFE,0XFF,0X9F,0X87,
0XE3,0XF0,0XFE,0XFC,0X3C,0X0C,0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X7F,0XFC,0X80,
0X00,0X1F,0XFF,0XF0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X03,
0X1F,0X1F,0X0F,0X0F,0X07,0X03,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XC0,
0X00,0X00,0X00,0XC0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X03,
0X03,0X03,0X03,0X01,0X01,0X00,0X00,0X80,0X00,0X00,0X00,0X00,0X00,0X80,0X80,0XC0,
0XC0,0X80,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X03,0X03,0X07,0X0F,
0X0F,0X0F,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XFE,0X7F,0X03,
0X00,0X00,0X00,0X03,0X07,0X1E,0X38,0X70,0XE0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X06,0X86,0X82,0XC2,0X62,0X3A,0X8F,0X43,
0XFA,0XEE,0X32,0X3A,0X1A,0X02,0X02,0X02,0X00,0X00,0X00,0X00,0X00,0X1C,0X1C,0X1C,
0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XFF,0XFF,0X09,0X09,0X09,0X09,0XF9,0XF9,0X09,
0X08,0X08,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XC0,0X60,0X38,0X1C,0X0F,0X07,0X01,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X03,0X07,0X0E,0X0C,0X18,
0X18,0X30,0X30,0X60,0X60,0XC0,0XC2,0XC3,0X83,0X83,0X81,0X00,0X00,0X00,0X00,0X00,
0X01,0X03,0X03,0X07,0X07,0X06,0X0E,0X06,0X07,0X03,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,0X03,
0X03,0X07,0X07,0X07,0X06,0X06,0X80,0X80,0X80,0XC0,0XC0,0XE0,0X60,0X70,0X30,0X38,
0X18,0X1C,0X0E,0X06,0X07,0X03,0X01,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,0X01,0X01,0X01,0X03,0X03,0X03,0X07,0X06,0X06,
0X06,0X06,0X0E,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X1C,0X1C,0X1C,0X18,0X18,0X18,0X18,
0X18,0X18,0X18,0X18,0X1C,0X1C,0X1C,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X06,0X06,
0X06,0X06,0X06,0X03,0X03,0X03,0X01,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
};
const U8 LIBLOGO60x58[480] = {
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,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0XC0,0XE0,0XF8,0XFC,0XFE,0X7F,0X3F,0X0F,0X0F,0X07,0X07,0X07,0X87,0XC7,
0XC7,0XC7,0XE7,0XEF,0XFF,0XFF,0XFF,0XEF,0XE7,0XE7,0XE7,0XE7,0XE7,0XEF,0XFF,0XFF,
0XFF,0XEF,0XE7,0XE7,0XE7,0XE7,0XE7,0XF7,0X07,0X0F,0X3F,0X7F,0XFF,0XFE,0XFC,0XF0,
0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XD8,0XDC,0XDF,0XDF,0XDF,
0XDF,0XD7,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X3E,0X7F,0XFF,0XFF,0XE3,0XE1,0XE1,
0XFF,0XFF,0XFF,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XFF,0XFF,0XFF,0XE0,0XE0,0XE0,
0XE0,0XC1,0X83,0X07,0X00,0X00,0X00,0X00,0X01,0XD7,0XDF,0XDF,0XDF,0XDF,0XDC,0XD8,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X0F,0X1F,0X3F,0XFF,0XFF,0XFE,0XF8,
0XF0,0XE0,0XC0,0X80,0X00,0X00,0XF8,0XF0,0XE0,0XC0,0XC0,0XC0,0XFF,0XFF,0XFF,0XC0,
0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XFF,0XFF,0XFF,0XC0,0XE0,0XE1,0XF3,0XFF,0X7F,0X3F,
0X00,0XC0,0XE0,0XF8,0XFE,0XFF,0XFF,0XFF,0X3F,0X1F,0X07,0X01,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X0F,0X3F,0X7F,0XFF,
0XFE,0XFC,0XF9,0XF3,0XC1,0X81,0X01,0X01,0XFF,0XFF,0XFF,0X01,0X01,0X01,0X01,0X01,
0X01,0X01,0XFF,0XFF,0XFF,0X03,0X01,0X81,0XC0,0XF0,0XFC,0XFE,0XFF,0XFF,0X7F,0X3F,
0X0F,0X07,0X03,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,0X03,0X07,0X0F,0X3F,
0X7F,0XFF,0XFF,0XFF,0XFB,0XF3,0XE3,0XC3,0X03,0X03,0X03,0X03,0X03,0X83,0XC3,0XF3,
0XF3,0XFB,0XFF,0XFF,0XFF,0X7F,0X3F,0X0F,0X03,0X01,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,0X03,0X07,
0X07,0X1F,0X3F,0X7F,0XFF,0XFE,0XFC,0XFC,0XFE,0XFF,0XFF,0X7F,0X3F,0X0F,0X07,0X03,
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,
0X00,0X03,0X07,0X0F,0X0F,0X07,0X01,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 LCD_WrDat(U8 data)
{
U8 i=8;
LCD_Data_Out &= ~LCD_CS;
LCD_Data_Out |= LCD_CD;
LCD_Data_Out&=~LCD_SCL;
//asm("nop");
while(i--)
{
if(data&0x80){LCD_Data_Out|=LCD_SDA;}
else{LCD_Data_Out&=~LCD_SDA;}
LCD_Data_Out|=LCD_SCL;
asm("nop");
//asm("nop");
LCD_Data_Out&=~LCD_SCL;
data<<=1;
}
LCD_Data_Out |= LCD_CS;
}
void LCD_WrCmd(U8 cmd)
{
U8 i=8;
LCD_Data_Out &= ~LCD_CS;
LCD_Data_Out &= ~LCD_CD;
LCD_Data_Out&=~LCD_SCL;
//asm("nop");
while(i--)
{
if(cmd&0x80){LCD_Data_Out|=LCD_SDA;}
else{LCD_Data_Out&=~LCD_SDA;}
LCD_Data_Out|=LCD_SCL;
asm("nop");
//asm("nop");
LCD_Data_Out&=~LCD_SCL;
cmd<<=1;
}
LCD_Data_Out |= LCD_CS;
}
void LCD_Set_Pos(U8 x, U8 y)
{
LCD_WrCmd(0xb0+y);
LCD_WrCmd(((x&0xf0)>>4)|0x10);
LCD_WrCmd((x&0x0f)|0x01);
}
void LCD_Fill(U8 bmp_data)
{
U8 y,x;
for(y=0;y<8;y++)
{
LCD_WrCmd(0xb0+y);
LCD_WrCmd(0x01);
LCD_WrCmd(0x10);
for(x=0;x<X_WIDTH;x++)
LCD_WrDat(bmp_data);
}
}
void LCD_CLS(void)
{
U8 y,x;
for(y=0;y<8;y++)
{
LCD_WrCmd(0xb0+y);
LCD_WrCmd(0x01);
LCD_WrCmd(0x10);
for(x=0;x<X_WIDTH;x++)
LCD_WrDat(0);
}
}
void LCD_DLY_ms(U16 ms)
{
U16 a;
while(ms)
{
a=1335;
while(a--);
ms--;
}
return;
}
void LCD_Init(void)
{
LCD_Data_Dir |= 0xff;
LCD_Data_Out |= LCD_SCL+LCD_CS; //预制SLK和SS为高电平
LCD_Data_Out &= ~LCD_RST;
LCD_DLY_ms(50);
LCD_Data_Out |= LCD_RST;
LCD_DLY_ms(20);
LCD_WrCmd(0xaf); //0xaf LCD On
LCD_WrCmd(0x2f); //0x2f 设置上电控制模式
LCD_WrCmd(0x81); //0x81 电量设置模式(显示亮度)
LCD_WrCmd(0x1a); //指令数据0x0000~0x003f
LCD_WrCmd(0x24); //0x24 V5内部电压调节电阻设置
LCD_WrCmd(0xa2); //0xa2 5V,0xa1 3V3 LCD偏压设置
LCD_WrCmd(0xc8); //0xc8 正常,0xc0 倒置 Com 扫描方式设置
LCD_WrCmd(0xa0); //0xa0 正常,0xa1 反向 Segment方向选择
LCD_WrCmd(0xa4); //0xa4 全屏点亮/变暗指令
LCD_WrCmd(0xa6); //0xa6 正向反向显示控制指令
LCD_WrCmd(0xac); //0xac 关闭静态指示器
LCD_WrCmd(0x00); //指令数据
LCD_WrCmd(0x40+32); //0x40+32 设置显示起始行对应RAM
LCD_Fill(0x00); //初始清屏
LCD_Set_Pos(0,0);
}
//==============================================================
//函数名: void LCD_PutPixel(U8 x,U8 y)
//功能描述:绘制一个点(x,y)
//参数:真实坐标值(x,y),x的范围0~127,y的范围0~64
//返回:无
//==============================================================
void LCD_PutPixel(U8 x,U8 y)
{
U8 data1; //data1当前点的数据
LCD_Set_Pos(x,y);
data1 = 0x01<<(y%8);
LCD_WrCmd(0xb0+(y>>3));
LCD_WrCmd(((x&0xf0)>>4)|0x10);
LCD_WrCmd((x&0x0f)|0x00);
LCD_WrDat(data1);
}
//==============================================================
//函数名: void LCD_Rectangle(U8 x1,U8 y1,
// U8 x2,U8 y2,U8 color,U8 gif)
//功能描述:绘制一个实心矩形
//参数:左上角坐标(x1,y1),右下角坐标(x2,y2)
// 其中x1、x2的范围0~127,y1,y2的范围0~63,即真实坐标值
//返回:无
//==============================================================
void LCD_Rectangle(U8 x1,U8 y1,U8 x2,U8 y2,U8 gif)
{
U8 n;
LCD_Set_Pos(x1,y1>>3);
for(n=x1;n<=x2;n++)
{
LCD_WrDat(0x01<<(y1%8));
if(gif == 1) LCD_DLY_ms(50);
}
LCD_Set_Pos(x1,y2>>3);
for(n=x1;n<=x2;n++)
{
LCD_WrDat(0x01<<(y2%8));
if(gif == 1) LCD_DLY_ms(5);
}
}
//==============================================================
//函数名:LCD_P6x8Str(U8 x,U8 y,U8 *p)
//功能描述:写入一组标准ASCII字符串
//参数:显示的位置(x,y),y为页范围0~7,要显示的字符串
//返回:无
//==============================================================
void LCD_P6x8Str(U8 x,U8 y,U8 ch[])
{
U8 c=0,i=0,j=0;
while (ch[j]!='\0')
{
c =ch[j]-32;
if(x>127){x=0;y++;}
LCD_Set_Pos(x,y);
for(i=0;i<6;i++)
LCD_WrDat(F6x8[c][i]);
x+=6;
j++;
}
}
//==============================================================
//函数名:LCD_P8x16Str(U8 x,U8 y,U8 *p)
//功能描述:写入一组标准ASCII字符串
//参数:显示的位置(x,y),y为页范围0~7,要显示的字符串
//返回:无
//==============================================================
void LCD_P8x16Str(U8 x,U8 y,U8 ch[])
{
U8 c=0,i=0,j=0;
while (ch[j]!='\0')
{
c =ch[j]-32;
if(x>127){x=0;y++;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -