void Set_Charge_Pump(unsigned char d) { LED_WrCmd(0x8D); // Set Charge Pump LED_WrCmd(0x10|d); // Default => 0x10 // 0x10 (0x00) => Disable Charge Pump // 0x14 (0x04) => Enable Charge Pump }
void Set_Common_Config(unsigned char d) { LED_WrCmd(0xDA); // Set COM Pins Hardware Configuration LED_WrCmd(0x02|d); // Default => 0x12 (0x10) // Alternative COM Pin Configuration // Disable COM Left/Right Re-Map }
void SetAddressingMode(unsigned char d) { LED_WrCmd(0x20); // Set Memory Addressing Mode LED_WrCmd(d); // Default => 0x02 // 0x00 => Horizontal Addressing Mode // 0x01 => Vertical Addressing Mode // 0x02 => Page Addressing Mode }
void Set_Display_Clock(unsigned char d) { LED_WrCmd(0xD5); // Set Display Clock Divide Ratio / Oscillator Frequency LED_WrCmd(d); // Default => 0x80 // D[3:0] => Display Clock Divider // D[7:4] => Oscillator Frequency }
void SetStartColumn(unsigned char d) { LED_WrCmd(0x00+d%16); // Set Lower Column Start Address for Page Addressing Mode // Default => 0x00 LED_WrCmd(0x10+d/16); // Set Higher Column Start Address for Page Addressing Mode // Default => 0x10 }
void Set_Precharge_Period(unsigned char d) { LED_WrCmd(0xD9); // Set Pre-Charge Period LED_WrCmd(d); // Default => 0x22 (2 Display Clocks [Phase 2] / 2 Display Clocks [Phase 1]) // D[3:0] => Phase 1 Period in 1~15 Display Clocks // D[7:4] => Phase 2 Period in 1~15 Display Clocks }
void LED_Fill(u8 bmp_data) { u8 y, x; for (y = 0; y < 8; y++) { LED_WrCmd(0xb0 + y); LED_WrCmd(0x00); LED_WrCmd(0x10); for (x = 0; x < 130; x++) LED_WrDat(bmp_data); } }
void LED_CLS(void) { u8 y, x; for (y = 0; y < 8; y++) { LED_WrCmd(0xb0 + y); LED_WrCmd(0x00); LED_WrCmd(0x10); for (x = 0; x < 130; x++) LED_WrDat(0); } }
void LED_CLS(void) { unsigned char y,x; for(y=0;y<8;y++) { LED_WrCmd(0xb0+y); LED_WrCmd(0x00); LED_WrCmd(0x10); for(x=0;x<128;x++) LED_WrDat(0); } }
void LED_Fill(unsigned char bmp_data) { unsigned char y,x; for(y=0;y<8;y++) { LED_WrCmd(0xb0+y); LED_WrCmd(0x00); LED_WrCmd(0x10); for(x=0;x<128;x++) LED_WrDat(bmp_data); } }
void Set_Segment_Remap(unsigned char d) { LED_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_Common_Remap(unsigned char d) { LED_WrCmd(0xC0|d); // Set COM Output Scan Direction // Default => 0xC0 // 0xC0 (0x00) => Scan from COM0 to 63 // 0xC8 (0x08) => Scan from COM63 to 0 }
void Set_Display_On_Off(unsigned char d) { LED_WrCmd(0xAE|d); // Set Display On/Off // Default => 0xAE // 0xAE (0x00) => Display Off // 0xAF (0x01) => Display On }
void Set_Inverse_Display(unsigned char d) { LED_WrCmd(0xA6|d); // Set Inverse Display On/Off // Default => 0xA6 // 0xA6 (0x00) => Normal Display // 0xA7 (0x01) => Inverse Display On }
void Set_Entire_Display(unsigned char d) { LED_WrCmd(0xA4|d); // Set Entire Display On / Off // Default => 0xA4 // 0xA4 (0x00) => Normal Display // 0xA5 (0x01) => Entire Display On }
void LED_Set_Pos(unsigned char x, unsigned char y) { LED_WrCmd(0xb0+y); LED_WrCmd(((x&0xf0)>>4)|0x10); LED_WrCmd((x&0x0f)|0x00); }
void Set_Display_Offset(unsigned char d) { LED_WrCmd(0xD3); // Set Display Offset LED_WrCmd(d); // Default => 0x00 }
void SetStartPage(unsigned char d) { LED_WrCmd(0xB0|d); // Set Page Start Address for Page Addressing Mode // Default => 0xB0 (0x00) }
void Set_Multiplex_Ratio(unsigned char d) { LED_WrCmd(0xA8); // Set Multiplex Ratio LED_WrCmd(d); // Default => 0x3F (1/64 Duty) }
void Set_VCOMH(unsigned char d) { LED_WrCmd(0xDB); // Set VCOMH Deselect Level LED_WrCmd(d); // Default => 0x20 (0.77*VCC) }
void SetContrastControl(unsigned char d) { LED_WrCmd(0x81); // Set Contrast Control LED_WrCmd(d); // Default => 0x7F }
void SetStartLine(unsigned char d) { LED_WrCmd(0x40|d); // Set Display Start Line // Default => 0x40 (0x00) }
void SetPageAddress(unsigned char a, unsigned char b) { LED_WrCmd(0x22); // Set Page Address LED_WrCmd(a); // Default => 0x00 (Page Start Address) LED_WrCmd(b); // Default => 0x07 (Page End Address) }
void SetColumnAddress(unsigned char a, unsigned char b) { LED_WrCmd(0x21); // Set Column Address LED_WrCmd(a); // Default => 0x00 (Column Start Address) LED_WrCmd(b); // Default => 0x7F (Column End Address) }
void Set_NOP(void) { LED_WrCmd(0xE3); // Command for No Operation }
void LED_Set_Pos(u8 x, u8 y) { LED_WrCmd(0xb0 + y); LED_WrCmd(((x & 0xf0) >> 4) | 0x10); LED_WrCmd((x & 0x0f) | 0x00); }