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



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


  • Проект с использованием MCC часть 12-1Проект с использованием MCC часть 12-1
    Views: 1137 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
  • Часы-кухонный таймерЧасы-кухонный таймер
    Views: 2918 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
  • Униполярный шаговый двигательУниполярный шаговый двигатель
    Views: 2479     В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при …
  • Датчик контроля протечки воды ch-c0020Датчик контроля протечки воды ch-c0020
    Views: 2123 Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с …
  • Счетчики посетителейСчетчики посетителей
    Views: 1310 Вас сосчитали!? или счетчики посетителей.   Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое …
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    Views: 1836 http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG.
  • Проект с использованием MCC часть 06Проект с использованием MCC часть 06
    Views: 1505 Изменим схему следующим образом добавим две тактовые кнопки BT1 и BT2. Теперь переключимся на конфигурацию выводов, для этого сделаем двойной клик в окне Ресурсы проекта на Pin Module. …
  • Бегущие огни на WS2812BБегущие огни на WS2812B
    Views: 5055 В настоящее время большой популярностью стали пользоваться светодиоды со встроенным драйвером WS2812B. Текущий проект предназначен показать возможность использования и управления этими светодиодами. Это и проект и исследование по …
  • Проект с использованием MCC часть 09Проект с использованием MCC часть 09
    Views: 1070   Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая …
  • Проект с использованием MCC часть 05Проект с использованием MCC часть 05
    Views: 2234 Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое …



 

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