Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты. Для компилятора 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)

Схема подключения индикатора в pdf



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


  • Бегущие огни (ch-bo-36)Бегущие огни (ch-bo-36)
    Проект на PIC-микроконтроллере PIC16F648A. Количество каналов 36. Для индикации используется подключение по матрице 6х6. Расположение светодиодов в одну линию. Все эффекты написаны для возможности увеличения количества светодиодов. Рекомендуется увеличивать кратно …
  • Простой цифровой регулятор мощностиПростой цифровой регулятор мощности
    Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью работы вентиляторов …
  • Тестирование модуля генератораТестирование модуля генератора
    Тестирование модуля генератора Настройка, запуск и проверка рабочей частоты на примере PIC18F26K40. PIC18F26K40 Чтобы понять из-за чего зависит производительность микроконтроллера просто надо понять как работает его задающий тактовый генератор. Для …
  • Проект с использованием MCC часть 05Проект с использованием MCC часть 05
    Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое таймер? Это …
  • Проект с использованием MCC часть 13Проект с использованием MCC часть 13
    Так как используя MCC мы можем его использовать со своими библиотеками, поэтому настало время и свое создать. Для начала откроем наш заголовочный файл в нем очень много букв: По этому. да …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований CAN 2.0B …
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001I2C MODULE – PIC18F25K42 Device ID Revision = A001
    I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все режимы этой …
  • Самый простой диммер для светодиодного освещенияСамый простой диммер для светодиодного освещения
    Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы приведем несколько …
  • Регулятор влажностиРегулятор влажности
    Регулятор ILLISSI-CH-1000 предназначен для контроля и регулировки относительной влажности в диапазоне от 0 до 100%. Регулятор позволяет работать как в режиме осушения, так и увлажнения. Для измерения возможно использовать аналоговые …
  • LED модуль P10 (1R) V706ALED модуль P10 (1R) V706A
    Это еще одно чудо от китайского брата. Это монохромные матрицы, называются они P10 (1R) V706A, ну типа  R-красные, но не верьте паяют светики и зеленые и синие, в общем любые какие …



Translate »

Copyright © Catcatcat 2013-2018. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com