Библиотека для OLED драйвера SSD1306 интерфейс I2C

Views: 9589


Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты.


 


Функции библиотеки, версия 1.0.0.

Библиотека написана для шины I2C для 8 разрядных микроконтроллеров Microchip.

Компилятор – Microchip MPLAB MPLAB XC8 v1.12, среда – MPLAB® X


Встроенные функции для работы с I2C

(Для модуля MSSP PIC18 (тестирование проводилось на PIC18F25K20), замените их для своего контроллера)
Настройка MSSP модуля для режима I2C
void I2C_Open (unsigned int FCLOCK);

FCLOCK – 100 -700… задает частоту шины.

Проверка на готовность I2C к работе
void i2c_idle (void); // проверка на готовность I2C к работе
void i2c_stop (void); // формирование стоп
char i2c_start (char adres, char R_W); // адрес устройства и бит
// adres = полные 8 бит например: 011110 SA0 R/W#, записать (если SA0=0) 0b01111000 =0x78

Следующие функции в библиотеки не используются (оставление для использования для другого назначения)

char i2c_restart (char adres, char R_W);
char i2c_write (char data); //запись байта
char i2c_read_ack (void); //чтение с подтверждением
char i2c_read_noack (void); //чтение без подтверждения

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


Функции для работы с индикатором
void int_OLED (void); // инициализация драйвера SSD1306
void clear_OLED (char tip); // очистка всего дисплея
tip-положение по Y 0-2, 0- черный, 1- белый, 2-серый.


Схема подключения примененная для работы библиотеки.

catcatcat_oled14


Регулировка контрастности
void contrast_OLED (char Y);
Y-положение по Y 0-255.


Установка курсора
void curcor_OLED (char X,char Y);
X – положение по X 0-127,
Y-положение по Y 0-7.


Вывод строк (текстовых сообщений)
void String_OLED(const char *str,char inv,char width,char height,char X,char Y);// , char строка, ширина, высота, центрирование (22 символа в строке)
void Stringp_OLED(const char *str,char inv,char width,char height);
*str – строка должна быть не более 255 символов,
inv – 0 нормальная прорисовка, 1 – инверсное,
width – ширина символа 0 – 7 (0-1 –>0),
height – высота 0 – 7 (0-1 –>0),
X – положение по X 0-127,
Y-положение по Y 0-7.


Вывод символа на дисплей в позиции курсора
void symbol_OLED (unsigned char cod,unsigned char tip,unsigned char inv,unsigned char shi,unsigned char vis);
cod – символ
tip – функция 0-делать один пробел между символами 1 – не делать для рисования псевдографики
inv – инверсия
shi – ширина символа
vis – высота символа











Title1
Title2



Бегущие строки

void ticker_OLED (const char *str,char start,char ends,char Y); //с ПЗУ
вывод строк – сообщений сохраненных в ПЗУ

void tickerB_OLED (char dlinok,char start,char Y);// с озу
вывод строк массив которых сохранено в ОЗУ и могут динамически менять свое содержание.

Библиотека содержит полный знакогенератор со псевдографикой и национальным шрифтом (русский – по умолчанию). Символы псевдографики можно изменить на необходимые символы размером 5х8. Драйвер устойчиво работает даже на частоте шинs I2C 700 кГц !!! Выше не тестировал, не потянул контроллер, хотя рекомендую использовать стандартную тактовую 400 или 100 кГц.


Библиотека + демопример

Значок

Библиотека для OLED драйвера SSD1306 интерфейс I2C 627.77 KB 664 downloads

Библиотека для OLED драйвера SSD1306 интерфейс I2C,...
Схема подключения индикатора в pdf
Значок

Библиотека для OLED драйвера SSD1306 интерфейс I2C - схема подключения 11.28 KB 171 downloads

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


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


  • PIC18 – System ArbitrationPIC18 – System Arbitration
    Views: 736 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
  • Одноканальный емкостной сенсор – AT42QT1012Одноканальный емкостной сенсор – AT42QT1012
    Views: 2445 Описание сенсора [wpdm_file id=242] Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая …
  • Униполярный шаговый двигательУниполярный шаговый двигатель
    Views: 2441     В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при …
  • Цифровой тахометр для автомобиля CH-С3300Цифровой тахометр для автомобиля CH-С3300
    Views: 2046  Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …
  • CLUBBEST-50-LightCLUBBEST-50-Light
    Views: 459 CLUBBEST-50-LIGHT   Зміст Короткий опис проекту. 1 Опис схемотехніки візуалізатора музики. 2 Аудіо вхід. 3 MCU. 4 Цифровий вихід. 5 Схема живлення MCU. 6 Складання пристрою. 7 Список …
  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Views: 2928 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
  • Датчик контроля протечки воды ch-c0020Датчик контроля протечки воды ch-c0020
    Views: 2080 Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с …
  • Temperature measurement with NTC thermistor.Temperature measurement with NTC thermistor.
    Views: 664 Проекты в которых присутствовало измерение температуры начинал с цифровых датчиков, т.к. в них все просто и не надо ничего преобразовывать и вычислять. При использовании цифровых датчиков ты получаешь …
  • Бегущие огни на WS2812BБегущие огни на WS2812B
    Views: 5027 В настоящее время большой популярностью стали пользоваться светодиоды со встроенным драйвером WS2812B. Текущий проект предназначен показать возможность использования и управления этими светодиодами. Это и проект и исследование по …
  • REFERENCE CLOCK OUTPUT MODULEREFERENCE CLOCK OUTPUT MODULE
    Views: 595 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …



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