
Views: 1542
Графическая библиотека для драйвера SSD1306.
Демонстрация работы
В работе с драйвером используется параллельный интерфейс 8080 (на 6800 не удалось получить стабильное чтение данных с индикатора).
Схема подключения
Функции библиотеки
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 выбор кристалла без него было иногда некорректность чтения с индикатора данных, которая важна для настоящей библиотеки.
Схема подключения
Файлы для загрузки
Библиотека + демопример v1.0(MPLAB X IDE v1.80, XC8 C Compiler V1.12)

Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 417.93 KB 67 downloads
Графическая библиотека для OLED драйвера SSD1306...
Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 - схема подключения 9.93 KB 49 downloads
Графическая библиотека для OLED драйвера SSD1306...
Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 v1.1 417.17 KB 101 downloads
Графическая библиотека для OLED драйвера SSD1306...
Графическая библиотека для OLED драйвера SSD1306 интерфейс 8080 v1.1 - схема подключения 9.94 KB 58 downloads
Графическая библиотека для OLED драйвера SSD1306...Это может быть интересно
Простой сенсорный регулятор света
Views: 2473 Простой сенсорный регулятор. Проект – 2007 года. Регулятор выполнена на микроконтроллере PIC12F683 и имеет минимальное количество элементов. Выполняет стандартные функции, включение выключение света, изменение яркости, запоминание последнего установленного уровня …OLED RET012864E/REX012864J
Views: 1566 RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как …Часы + Календарь + Термометр + …
Views: 2765 Часы + Календарь + Термометр + Индикатор влажности + Секундомер + Дистанционное управление на ИК лучах (пульты на RC-5 протоколе) + Автоматическая регулировка яркости + Возможность вывода данных через USB, …DS18B20 – удаленный контроль температуры
Views: 3201 Контроль температуры с использованием датчиков температуры DS18B20 и платы ILLISSI-4B-09-primum Проект позволяет подключать к плате ILLISSI-4B-09-primum до 16 датчиков температуры DS18B20, удаленных более 300 метров, и выводить информацию …Тестирование модуля генератора
Views: 921 Тестирование модуля генератора Настройка, запуск и проверка рабочей частоты на примере PIC18F26K40. PIC18F26K40 Чтобы понять из-за чего зависит производительность микроконтроллера просто надо понять как работает его задающий тактовый …Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)
Views: 3383 Солнечные коллекторы для отопления в Европе используют в более 50% от общего количества установленных гелиосистем. Однако следует понимать, что гелиосистемы предназначены лишь для поддержки отопления и экономии затрат на основную …LCD индикаторы на драйвере ML1001
Views: 1963 ML1001 – статический LCD GOG (чип в стекле) драйвер для 40-сегментного LCD в позолоченном противоударном исполнении. На них можно каскадно строить цельные из 80 или 120 сегментов LCD индикаторы. …Часы-кухонный таймер
Views: 2843 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …Kitchen timer with contactless gesture control
Views: 686 Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …Altium Designer my setup system and project structure
Views: 898 Используйте только последнее обновление!!! Updates https://catcatcat.d-lan.dp.ua/altium-designer-my-libraries-project-templates-system-settings-by-catcatcat-v23-09/ Тут хочу поделиться как я настраиваю Altium Designer и как я использую файлы DXPPreferences.DXPPrf для быстрой конфигурации и получения …