📄 oled12864.c
字号:
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R50
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S51
0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T52
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U53
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V54
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W55
0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X56
0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y57
0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z58
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[59
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\60
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//]61
0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^62
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_63
0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//`64
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a65
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b66
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c67
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d68
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e69
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f70
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g71
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h72
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i73
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j74
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k75
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l76
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m77
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
};
char beyond64x64[512] =
{
0x00,0xF0,0xF0,0x10,0x10,0x10,0x30,0xE0,0xC0,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,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7F,0x7F,0x42,0x42,0x42,0x67,0x3D,0x18,0x00,0x1C,0x3E,0x6B,0x49,0x49,0x4B,
0x6E,0x2C,0x00,0x01,0x0F,0x3E,0xF0,0xF0,0x3E,0x0F,0x01,0x00,0x1C,0x3E,0x63,0x41,
0x41,0x63,0x3E,0x1C,0x00,0x00,0x7F,0x7F,0x03,0x01,0x01,0x7F,0x7E,0x00,0x00,0x3E,
0x7F,0x41,0x41,0x63,0x7F,0x7F,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,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,0x28,0x2C,0xA7,0xE7,0x7C,0x7C,0xE4,0xF6,0xB2,0xFE,0xFE,0x84,0x84,0x84,
0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x18,0xDC,0xD6,0x53,0x51,0x54,0xDC,0xD8,0x18,
0x7F,0x7F,0x58,0x4C,0x46,0x66,0x60,0x40,0x00,0x00,0x00,0x04,0x04,0x04,0xC4,0xE4,
0x7C,0x1F,0x07,0xF5,0xF4,0x14,0x04,0x04,0x84,0x84,0x04,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x02,0x03,0x01,0xFF,0xFE,0x94,0x94,0x95,0x95,0x95,0x95,0x96,0xFE,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x0A,0x8A,0x8A,0xFF,0x7F,0x00,
0xFE,0xFE,0x98,0x8C,0x86,0xA6,0xE0,0xC0,0x00,0x00,0x00,0x00,0x10,0x10,0x11,0x11,
0x11,0x11,0x11,0xFF,0xFF,0x11,0x11,0x11,0x11,0x10,0x18,0x08,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x40,0x40,0x41,0x41,0xC0,0xF8,0x78,0x48,0x40,0x40,0x40,0x60,0x20,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0xF8,0xF9,0x29,0x20,0xA0,
0xF8,0x78,0x28,0x20,0x30,0x90,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,
0x20,0x20,0x20,0x29,0xF9,0xF8,0x20,0x20,0x20,0x20,0x30,0x30,0x20,0x00,0x00,0x00,
0x00,0x02,0x02,0x02,0x02,0x02,0x9A,0x9F,0x17,0x12,0x12,0x92,0xD2,0x72,0x32,0x32,
0x03,0x03,0x02,0x00,0x00,0x00,0x04,0x07,0x07,0x81,0xBD,0xBD,0xA5,0xA5,0xA5,0xA5,
0xA5,0xA5,0xBD,0xFD,0xC7,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,
0xE0,0xE0,0x20,0x20,0x3F,0x3F,0x22,0x22,0x22,0xE2,0xE2,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x07,0x06,0x04,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x07,0x03,0x00,0x00,
0x07,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x07,0x07,0x00,0x00,0x00,0x00,0x00,
};
//数据水平,字节垂直
char beyond96x64[512] = {
/*-- 宽度x高度=64x64 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,
0x40,0x20,0x60,0x20,0x00,0x00,0x00,0xF8,0xFC,0x84,0x04,0x04,0xFC,0xD8,0x00,0x00,
0xF8,0xF8,0x0C,0x44,0xCC,0xD8,0x10,0x00,0x80,0x80,0x80,0xC0,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,0xE0,0xF0,0xF8,0xFC,0xF8,0xF1,0xE1,
0xCB,0x19,0x09,0x09,0x07,0x02,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
0x00,0x01,0x01,0x01,0x03,0x00,0x00,0x06,0x07,0x03,0x12,0x3C,0xCD,0xF7,0xF0,0xF8,
0xFC,0xF8,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x03,
0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0xF8,0xF8,0xF8,0xFC,0xFC,0xFC,0xC0,
0xFC,0xFC,0xFC,0xFC,0xF8,0xF8,0xF8,0xF0,0xF0,0xE0,0xC0,0x80,0x00,0x07,0x5F,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFC,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,
0x00,0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x0F,0x07,0x07,0x03,0x03,
0x03,0x03,0x07,0x07,0x0F,0x0F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFE,
0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xF4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,
0x0F,0x1F,0x3F,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xFE,
0xC0,0xC4,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x30,0x7C,0xFC,0xFC,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0xC0,0xC0,
0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xE0,0xE1,0xF8,0xF9,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x7F,0x3F,0x1F,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,0x07,0x3F,0x7F,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0x70,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x0F,0x0F,0x1F,0x1F,0x1F,
0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,0x03,
0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x03,0x03,0x03,0x07,0x03,0x07,0x07,0x03,0x03,0x03,0x01,0x00,0x00,0x00
};
void LCD_WrDat(byte data)
{
byte i=8;
//LCD_CS=0;;
LCD_DC_1;;
LCD_SCL_0;;
//asm("nop");
while(i--)
{
if(data&0x80){LCD_SDA_1;}
else{LCD_SDA_0;}
LCD_SCL_1;
asm("nop");;
//asm("nop");
LCD_SCL_0;;
data<<=1;
}
//LCD_CS=1;
}
void LCD_WrCmd(byte cmd)
{
byte i=8;
//LCD_CS=0;;
LCD_DC_0;;
LCD_SCL_0;;
//asm("nop");
while(i--)
{
if(cmd&0x80){LCD_SDA_1;}
else{LCD_SDA_0;;}
LCD_SCL_1;;
asm("nop");;
//asm("nop");
LCD_SCL_0;;
cmd<<=1;;
}
//LCD_CS=1;
}
void LCD_Set_Pos(byte x, byte y)
{
LCD_WrCmd(0xb0+y);
LCD_WrCmd(((x&0xf0)>>4)|0x10);
LCD_WrCmd((x&0x0f)|0x01);
}
void LCD_Fill(byte bmp_data)
{
byte 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)
{
byte 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 delay_ms(uint ms)
{
uint ii,jj;
for(ii=0;ii<ms;ii++)
for(jj=0;jj<2000;jj++);
}
void adjust(byte a)
{
LCD_WrCmd(a); //指令数据0x0000~0x003f
}
void SetStartColumn(unsigned char d)
{
LCD_WrCmd(0x00+d%16); // Set Lower Column Start Address for Page Addressing Mode
// Default => 0x00
LCD_WrCmd(0x10+d/16); // Set Higher Column Start Address for Page Addressing Mode
// Default => 0x10
}
void SetAddressingMode(unsigned char d)
{
LCD_WrCmd(0x20); // Set Memory Addressing Mode
LCD_WrCmd(d); // Default => 0x02
// 0x00 => Horizontal Addressing Mode
// 0x01 => Vertical Addressing Mode
// 0x02 => Page Addressing Mode
}
void SetColumnAddress(unsigned char a, unsigned char b)
{
LCD_WrCmd(0x21); // Set Column Address
LCD_WrCmd(a); // Default => 0x00 (Column Start Address)
LCD_WrCmd(b); // Default => 0x7F (Column End Address)
}
void SetPageAddress(unsigned char a, unsigned char b)
{
LCD_WrCmd(0x22); // Set Page Address
LCD_WrCmd(a); // Default => 0x00 (Page Start Address)
LCD_WrCmd(b); // Default => 0x07 (Page End Address)
}
void SetStartLine(unsigned char d)
{
LCD_WrCmd(0x40|d); // Set Display Start Line
// Default => 0x40 (0x00)
}
void SetContrastControl(unsigned char d)
{
LCD_WrCmd(0x81); // Set Contrast Control
LCD_WrCmd(d); // Default => 0x7F
}
void Set_Charge_Pump(unsigned char d)
{
LCD_WrCmd(0x8D); // Set Charge Pump
LCD_WrCmd(0x10|d); // Default => 0x10
// 0x10 (0x00) => Disable Charge Pump
// 0x14 (0x04) => Enable Charge Pump
}
void Set_Segment_Remap(unsigned char d)
{
LCD_WrCmd(0xA0|d); // Set Segment Re-Map
// Default => 0xA0
// 0xA0 (0x00) => Column Address 0 Mapped to SEG0
// 0xA1 (0x01) => Column Address 0 Mapped to SEG127
}
void Set_Entire_Display(unsigned char d)
{
LCD_WrCmd(0xA4|d); // Set Entire Display On / Off
// Default => 0xA4
// 0xA4 (0x00) => Normal Display
// 0xA5 (0x01) => Entire Display On
}
void Set_Inverse_Display(unsigned char d)
{
LCD_WrCmd(0xA6|d); // Set Inverse Display On/Off
// Default => 0xA6
// 0xA6 (0x00) => Normal Display
// 0xA7 (0x01) => Inverse Display On
}
void Set_Multiplex_Ratio(unsigned char d)
{
LCD_WrCmd(0xA8); // Set Multiplex Ratio
LCD_WrCmd(d); // Default => 0x3F (1/64 Duty)
}
void Set_Display_On_Off(unsigned char d)
{
LCD_WrCmd(0xAE|d); // Set Display On/Off
// Default => 0xAE
// 0xAE (0x00) => Display Off
// 0xAF (0x01) => Display On
}
void SetStartPage(unsigned char d)
{
LCD_WrCmd(0xB0|d); // Set Page Start Address for Page Addressing Mode
// Default => 0xB0 (0x00)
}
void Set_Common_Remap(unsigned char d)
{
LCD_WrCmd(0xC0|d); // Set COM Output Scan Direction
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -