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

Views: 1564



Графическая библиотека для драйвера 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:



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


  • LED драйвер TM1639LED драйвер TM1639
    Views: 2471 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
  • УКВ – радиоприем, часть 2УКВ – радиоприем, часть 2
    Views: 6426 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
  • Проект с использованием MCC часть 03Проект с использованием MCC часть 03
    Views: 1706 Первым делом перенастроим регистры конфигурации, следующим образом: Отключим выход генератора (CLKOUT function is disabled. I/O function on the CLKOUT pin) Включим сторожевой таймер (WDT enabled) После этой настройки …
  • ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
    Views: 2499 На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11  самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств …
  • Acquaintance with audio-bluetooth modules F-6888 (BK3254).Acquaintance with audio-bluetooth modules F-6888 (BK3254).
    Views: 2386 Для проектов появилось необходимость познакомиться с недорогими модулями китайского производства, которые можно приобрести у нас в Украине и у китацев, на алиэкспрессе. Так как меня интересует не просто, …
  • AD9833 – Programmable Waveform GeneratorAD9833 – Programmable Waveform Generator
    Views: 3072 Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я  использовал советский Г3-112, но он себя давно изжил.  Все думал купить …
  • Проект с использованием MCC часть 07Проект с использованием MCC часть 07
    Views: 1207 Модуль PWM – широтно импульсная модуляция (ШИМ). ПИК контроллеры часто на борту имеют модули ШИМ. На их основе строятся многие узлы управления электро приводами. В нашем варианте мы …
  • Дисплей KD035C-3A подключение и управлениеДисплей KD035C-3A подключение и управление
    Views: 842 Дисплей KD035C-3A производиться компанией SHENZHEN STARTEK ELECTRONIC TECHNOLOGY CO.,LTD Характеристики Параметр Спецификация Единицы измерения Размер дисплея 70.08(H)*52.56(V) (3.5inch) mm Тип дисплея TFT active matrix Цветовая гамма 65K/262K colors Разрешение …
  • MCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМMCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМ
    Views: 1272 Во многих системах управления, для формирования управляющих сигналов требуется модуль ШИМ, он позволяет не только формировать импульсы заданной длительности, но и с применением обычного RC фильтра строить простые …
  • CCP модуль для декодирования ИК-кодов пультов ДУCCP модуль для декодирования ИК-кодов пультов ДУ
    Views: 1148 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …



 

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