Библиотека для OLED драйвера SSD1306 интерфейс 6800 параллельный


Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты. Для компилятора Microchip MPLAB XC8 C Compiler V1.12.

ВНИМАНИЕ Библиотека предназначена для микроконтроллеров которые имеют, регистры портов LAT. Для использования с микроконтроллерами устаревших типов, необходимо добавить задержку в местах управления битами D_C_OLED и EN_OLED на больших тактовых частотах. В библиотеки они закомментированы.

Для подключения библиотеки необходимо будет выполнить конфигурирование интерфейса. Для вывода данных используется один любой пор микроконтроллера.

В библиотеки используются вариант с внутренним DC/DC преобразователем.

Для варианта демонстрационного примера использовалось подключение

* интерфейс
* D0-RB0 \
* D1-RB1   |
* D2-RB2  |
* D3-RB3   \ Данные
* D4-RB4  /
* D5-RB5  |
* D6-RB6  |
* D7-RB7 /
* E-RC7 – вывод активации операции переход с 1 на 0
* R/W-RC6 – Чтение/Запись 0 – режим записи 1 – режим чтения
* D/C-RC5 – Данные/Команда, 0 – передача команды, 1 – передача данных
* RES-RC4 – СБРОС индикатора 0- сброс, 1- нормальная работа


Схема подключения к плате ILLISSI-4B-PIC18F25K20.

CNK109630_6800_01


Функции для работы с SSD1306 в режиме интерфейса 6800

void OLEDint (void); // инициализация порта, инициализация драйвера SSD1306
void OLEDwrite_data (char datain);// запись данных
char OLEDread_data (void);// чтение данных
void OLEDwrite_comm (char datain);// запись команды
char OLEDread_comm (void);// чтение статуса


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

пример:
OLED_clear (0); // очистка всего дисплея


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

пример:
OLED_contrast (a);


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

пример:
OLED_curcor (11,4);


Вывод строк (текстовых сообщений)
void OLED_String(const char *str,char inv,char width,char height,char X,char Y);// , char строка, ширина, высота, центрирование (22 символа в строке)

пример:
OLED_String(“информационные”,0,0,0,-1,3);

void OLED_Stringp(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.

пример:
OLED_String(“информационные”,0,0,0);


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

пример:
OLED_symbol (‘*’,1,0,0,0);


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

пример:
OLED_ticker (“Единственная  известная мне роскошь – это роскошь человеческого общения. Антуан де Сент-Экзюпери.”,20,5,2);

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

пример:
OLED_tickerB (20,5,0);

Данные выводятся из массива char ca[] = “Бегущая строка данные в расположенные в ОЗУ –> 32.7С их можно оперативно изменять для вывода информации”;


Библиотека + демопример (MPLAB X IDE v1.80, XC8 C Compiler V1.12) [wpdm_file id=186 template=”link-template-calltoaction3.php”]Схема подключения индикатора в pdf [wpdm_file id=187 template=”link-template-calltoaction3.php”]



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


  • Мультизоновый индикатор-терморегулятор ch-c3010Мультизоновый индикатор-терморегулятор ch-c3010
    Часто возникает необходимость получить информацию по температуре с множества точек контроля. Вам необходимо знать температуру в комнате, в коридоре,  температуру на улице, а в погребе (или на балконе) не только …
  • MPLAB X IDE – управление проектамиMPLAB X IDE – управление проектами
    Среда  MPLAB X IDE позволяет оперативно работать с несколькими проектами, например, если у вас в работе несколько проектов: Для того чтобы переключиться достаточно выбрать другой проект: Для выбора проекта существует …
  • NeoPixel LED и PIC18NeoPixel LED и PIC18
      Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, но это …
  • 12-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA20412-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA204
    Введение. 12-битный модуль A/D Converter является усовершенствованной версией 10-битного модуля, предлагаемого на некоторых устройствах PIC24. Оба модуля являются преобразователями, в своих ядрах, с последовательным приближением (SAR), в окружении ряда аппаратных …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем тактовый генератор. …
  • OLED RET012864E/REX012864JOLED RET012864E/REX012864J
    RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как есть ошибки …
  • Проект с использованием MCC часть 05Проект с использованием MCC часть 05
    Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое таймер? Это …
  • Контроллер управления светодиодным освещением с дистанционным управлениемКонтроллер управления светодиодным освещением с дистанционным управлением
    Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще можно увидеть …
  • Цифровой спидометр для автомобиляЦифровой спидометр для автомобиля
     Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например,  для города и …
  • Часы + Календарь + Термометр + …Часы + Календарь + Термометр + …
    Часы + Календарь + Термометр + Индикатор влажности + Секундомер + Дистанционное управление на ИК лучах (пульты на RC-5 протоколе) + Автоматическая регулировка яркости + Возможность вывода данных через USB, на плате ILLISSI_B4_primum …



 

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