C library for SSD1306 OLED Driver
Go to file
2020-10-13 13:04:33 +02:00
lib Add files via upload 2020-10-13 10:48:15 +02:00
LICENSE Initial commit 2020-10-13 10:44:23 +02:00
main.c Add files via upload 2020-10-13 10:45:09 +02:00
Makefile Add files via upload 2020-10-13 10:45:09 +02:00
README.md Update README.md 2020-10-13 13:04:33 +02:00

SSD1306 0.96" OLED display

SSD1306 Description

Detailed information are described in Datasheet SSD1306.

Library

C library is aimed for driving SSD1306 0.96" OLED display 128x64 through TWI's Atmega16.

Dependencies

Usage

Prior defined for MCU Atmega16 / Atmega8. Need to be carefull with TWI ports definition.

PORT Atmega16 Atmega8
SCL PC0 PC5
SDA PC1 PC4

Tested

Library was tested and proved on a SSD1306 0.96″ OLED Dispay with Atmega16.

Init OLED Sequence

Init sequence OLED display was defined according to page 64 (next to last page) of Datasheet SSD1306.

// +---------------------------+
// |      Set MUX Ratio        |
// +---------------------------+
// |        0xA8, 0x3F         |
// +---------------------------+
//              |
// +---------------------------+
// |    Set Display Offset     |
// +---------------------------+
// |        0xD3, 0x00         |
// +---------------------------+
//              |
// +---------------------------+
// |  Set Display Start Line   |
// +---------------------------+
// |          0x40             |
// +---------------------------+
//              |
// +---------------------------+
// |     Set Segment Remap     |
// +---------------------------+
// |       0xA0 / 0xA1         |
// +---------------------------+
//              |
// +---------------------------+
// |   Set COM Output Scan     |
// |        Direction          |
// +---------------------------+
// |       0xC0 / 0xC8         |
// +---------------------------+
//              |
// +---------------------------+
// |   Set COM Pins hardware   |
// |       configuration       |
// +---------------------------+
// |        0xDA, 0x02         |
// +---------------------------+
//              |
// +---------------------------+
// |   Set Contrast Control    |
// +---------------------------+
// |        0x81, 0x7F         |
// +---------------------------+
//              |
// +---------------------------+
// | Disable Entire Display On |
// +---------------------------+
// |          0xA4             |
// +---------------------------+
//              |
// +---------------------------+
// |    Set Normal Display     |
// +---------------------------+
// |          0xA6             |
// +---------------------------+
//              |
// +---------------------------+
// |    Set Osc Frequency      |
// +---------------------------+
// |       0xD5, 0x80          |
// +---------------------------+
//              |
// +---------------------------+
// |    Enable charge pump     |
// |        regulator          |
// +---------------------------+
// |       0x8D, 0x14          |
// +---------------------------+
//              |
// +---------------------------+
// |        Display On         |
// +---------------------------+
// |          0xAF             |
// +---------------------------+

Demonstration