#define command_oled 0x00 //==================================== OSRAM INIT ============================================ // Set Column Address WriteCommand(0x15); WriteCommand(0x00); WriteCommand(0x3F); // Set Row Address WriteCommand(0x75); WriteCommand(0x00); WriteCommand(0x3F); // Set Current Range WriteCommand(0x86); // Set Contrast Control WriteCommand(0x81); WriteCommand(0x66); // Set Re-map WriteCommand(0xA0); WriteCommand(0x40); // Set Display Start Line WriteCommand(0xA1); WriteCommand(0x00); // Set Display Offset WriteCommand(0xA2); WriteCommand(0x44); // Set Display Mode WriteCommand(0xA4); // Set Multiplex ratio WriteCommand(0xA8); WriteCommand(0x3F); // Set Phase Length WriteCommand(0xB1); WriteCommand(0x22); // Set Row Period WriteCommand(0xB2); WriteCommand(0x46); // Set Clock Divide WriteCommand(0xB3); WriteCommand(0x91); // Set VSL WriteCommand(0xBF); WriteCommand(0x0D); // Set VcomH WriteCommand(0xBE); WriteCommand(0x02); // Set Vp WriteCommand(0xBC); WriteCommand(0x04); // Set Gray Scale Table WriteCommand(0xB8); WriteCommand(0x01); WriteCommand(0x11); WriteCommand(0x22); WriteCommand(0x32); WriteCommand(0x43); WriteCommand(0x54); WriteCommand(0x65); WriteCommand(0x76); // Set DC-DC-Converter WriteCommand(0xAD); WriteCommand(0x02); // Display ON WriteCommand(0xAF); ClearDisplay(0); CS_n =0; WR_n = 1; } // =================== Ende InitOLED() ========================== // ============================================================== //====================================WRITE COMMAND ============================================= void WriteCommand(unsigned char command) { DC_n = command_oled; RD_n = 1; WR_n = 1; p0 = command; // Ausgabe auf PORT WR_n=0; WR_n=1; } //========================== CLEAR DISPLAY ============================================== void ClearDisplay(unsigned char grayScale) { int index; // Column Address WriteCommand(0x15); WriteCommand(0x00); WriteCommand(0x3F); // Row Address WriteCommand(0x75); WriteCommand(0x00); WriteCommand(0x3F); DC_n =1; CS_n =0; for(index =0; index < 4096; index++) { p0 = grayScale; WR_n=0; WR_n=1; } DC_n = 0; }