Графическая библиотека для драйвера SSD1306

Views: 1568



Графическая библиотека для драйвера SSD1306.

Демонстрация работы

 


В работе с драйвером используется параллельный интерфейс 8080 (на 6800 не удалось получить стабильное чтение данных с индикатора).

Схема подключения

Catcatcat_electronics_CNK109630_8080


Функции библиотеки

 SSD1306_8080_01 SSD1306_8080_02 SSD1306_8080_03


void OLEDint (void); // инициализация порта

void OLEDwrite_data (char datain);// запись данных
char OLEDread_data (void);// чтение данных
void OLEDwrite_comm (char datain);// запись команды
char OLEDread_comm (void);// чтение статуса

void ENAB_VCC (char enable_disable); // выключение/включение внешнего DC/DC преобразователя/off / on the external DC / DC converter
// для работы с индикатором

void OLED_clear (char tip); // очистка всего дисплея
// регулировка контрастности
void OLED_contrast (char Y);
// поворот дисплея на 180 грд
void OLED_rotation (char R);


// установка курсора/positioning of the cursor

void OLED_curcor (char X,char Y);
// вывод строк/output character strings
void OLED_String(const char *str,char inv,char width,char height,char X,char Y);// , char cстрока, ширина, высота, центрирование (22 символа в строке)
void OLED_Stringp(const char *str,char inv,char width,char height);
// вывод символа//the output symbol
void OLED_symbol (unsigned char cod,unsigned char tip,unsigned char inv,unsigned char shi,unsigned char vis);

// бегущая строка/ / Ticker
//при вызове функции в окно бегущей строки выводиться 1 следующий символ.
//в цикле вывода информации должна быть одна строка OLED_ticker
//строка выезжает в окно, провегает окно, и начинается заново
//[строка] – max 255 символов
//[dlinok] ширина окна вывода в символах, один символ 6 точек
//[столбец начала] начало окна вывода по х в точках 0-127
//[строка 0-7] высота по Y (кратная 8 точкам) только по строкам дисплея
void OLED_ticker (const char *str,char start,char ends,char Y); //с ПЗУ
void OLED_tickerB (char dlinok,char start,char Y);// с озу

// декларация массива данные хранящиеся в озу/Declaration of array data stored in RAM
char ca[];


// рисование точки

//[тип]0-белая тоска,1-черная
//[координата по X] 0-127
//[координата по Y] 0-63
void point(unsigned char tip, unsigned char X, unsigned char Y);
// рисование линии алгоритм Брезенхема
// tip тип линии 0-стирание 1-сплошная, 2-255 рисунок
// x0 y0 x1 y1 – координаты линии
void line(unsigned char tip, unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1);
// рисование прямоугольника (есть ограничение на задание координат – задание координаты верхний левый угол + ширина и высота)
//1-[тип углов]0-прямые, 1-скругленные
//2-[тип линии]0-черная 1- белая, от 2 и более варианты прорисовки
//3-[толщина бордюра] 0- нет (заливка все равно будет делать 1 пиксель отступа), 1,2,3 толщина
//4-[тип заливки]0-нет заливки,1-белая,2-черная, 3 и более варианты
//5-[x0][y0] – координата нижнего левого угла
//6-[ширина] – ширина прямоугольника
//7-[высота] – высота прямоугольника
void rectangle(unsigned char ugl, unsigned char tip, unsigned char bor, unsigned char tipzal, unsigned char x0, unsigned char y0, unsigned char sh, unsigned char vs);

// полоса загрузки индикатор линейный (есть ограничение на задание координат – задание координата нижнего левый угол + ширина и высота)
//[тип углов]0-прямые, 1-скругленные
//[тип линии]0-белая 1- сплошная, от 2 и более варианты
//[тип заливки]0-белая,1-черная, 2 и более варианты
//[x0][y0] – координата нижнего левого угла
//[ширина] – ширина прямоугольника
//[высота] – высота прямоугольника
//[vol] – уровень 0-100%
void strip(unsigned char ugl, unsigned char tip, unsigned char tipzal, unsigned char x0, unsigned char y0, unsigned char sh, unsigned char vs, unsigned char vol);


Дополнительная функция (в примере) – ввод изображения.

Xn – Yn установка верхнего левого угла картинки
Xr – Yr – размер картинки в пикселях ширина, высота

void imag(char Xn, char Yn, char Xr, char Yr);


Обновление Версия 1,1 добавлено управление по шине CS выбор кристалла  без него было иногда некорректность чтения с индикатора данных, которая важна для настоящей библиотеки.

Схема подключения

Catcatcat_electronics_CNK109630_8080_v1.1


Файлы для загрузки

Библиотека + демопример v1.0(MPLAB X IDE v1.80, XC8 C Compiler V1.12)

Значок

Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 417.93 KB 67 downloads

Графическая библиотека для OLED драйвера SSD1306...
Login Required Message:
Схема подключения индикатора в pdf
Значок

Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 - схема подключения 9.93 KB 49 downloads

Графическая библиотека для OLED драйвера SSD1306...
Login Required Message:
Библиотека + демопример v1.1 (MPLAB X IDE v1.80, XC8 C Compiler V1.12)
Значок

Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 v1.1 417.17 KB 101 downloads

Графическая библиотека для OLED драйвера SSD1306...
Login Required Message:
Схема подключения индикатора в pdf v1.1
Значок

Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 v1.1 - схема подключения 9.94 KB 58 downloads

Графическая библиотека для OLED драйвера SSD1306...
Login Required Message:



Это может быть интересно


  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Views: 2980 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
  • Moving average – скользящее среднееMoving average – скользящее среднее
    Views: 2458 Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны среднему значению исходной функции за предыдущий период. Скользящие средние обычно используются с данными временных рядов для сглаживания …
  • Pogo Pin Connector LibPogo Pin Connector Lib
    Views: 38 У своїх проектах почав застосовувати з’єднувачі та контакти типу Pogo Pin. Для цього до своєї існуючої БД додав нову бібліотеку. Огляд від ІІ Pogo Pin (погопін) – це …
  • Часы-кухонный таймерЧасы-кухонный таймер
    Views: 2917 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
  • Development board based on MCU PIC18F47Q84Development board based on MCU PIC18F47Q84
    Views: 2811 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production.
  • Development Boards PIC18F47Q84Development Boards PIC18F47Q84
    Views: 8470 Microchip тішить новими мікроконтролерами. Особливістю цього MCU – це багата інтелектуальна периферія, що дозволяє вирішувати такі завдання на 8 бітних MCU, які неможливо реалізувати на деяких навіть 32 …
  • DS18B20 – удаленный контроль температурыDS18B20 – удаленный контроль температуры
    Views: 3249 Контроль температуры с использованием датчиков температуры DS18B20 и платы ILLISSI-4B-09-primum Проект позволяет подключать к плате ILLISSI-4B-09-primum до 16 датчиков температуры DS18B20, удаленных более 300 метров,  и выводить информацию …
  • My libraries for Altium DesignerMy libraries for Altium Designer
    Views: 4473 Attention, this version of the database is outdated today. See updates in articles https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure  and https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure-v23-2/    My libraries for Altium designer  (Updated V – 29/05/2022) (c) 2021 …
  • Просто о структурах и объединениях в СиПросто о структурах и объединениях в Си
    Views: 2391 Какие задачи нам позволяют решать структуры и объединения? Для разработчика встроенных систем эффективность и компактность кода всегда на первом месте. Если программировании на Ассемблере ты сам определяешь как …
  • Простой цифровой регулятор мощностиПростой цифровой регулятор мощности
    Views: 7836 Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью …



 

Поделись этим!