Visits: 668
Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты. Для компилятора Microchip MPLAB XC8 C Compiler V1.12.
ВНИМАНИЕ Библиотека предназначена для микроконтроллеров которые имеют, регистры портов LAT. Для использования с микроконтроллерами устаревших типов, необходимо добавить задержку в местах управления битами D_C_OLED и EN_OLED на больших тактовых частотах. В библиотеки они закомментированы.
Для подключения библиотеки необходимо будет выполнить конфигурирование интерфейса. Для вывода данных используется один любой пор микроконтроллера.
В библиотеки используются вариант с внутренним DC/DC преобразователем.
// описание управляющих сигналов #define EN_OLED LATC7 // #define R_W_OLED LATC6 // #define D_C_OLED LATC5 // #define RES_OLED LATC4 // #define TRISEN TRISCbits.RC7 // #define TRISR_W TRISCbits.RC6 // #define TRISD_C TRISCbits.RC5 // #define TRISRES TRISCbits.RC4 // // описания 8 битного порта #define OLED_DATA PORTB // определение порта #define OLED_TRIS TRISB //
Для варианта демонстрационного примера использовалось подключение
* интерфейс
* 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.
Функции для работы с 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”]
Это может быть интересно
- Стабилизатор тока на SN3350, часть 2Visits: 1125 Если вам необходимо разработать устройство с применением мощных светодиодов, то никак не обойтись без применения стабилизатора тока. На настоящий момент стабилизаторы тока являются самым эффективным механизмом, для питания светодиода в течение всего …
- Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)Visits: 3162 Солнечные коллекторы для отопления в Европе используют в более 50% от общего количества установленных гелиосистем. Однако следует понимать, что гелиосистемы предназначены лишь для поддержки отопления и экономии затрат на основную …
- Регулятор влажностиVisits: 1351 Регулятор ILLISSI-CH-1000 предназначен для контроля и регулировки относительной влажности в диапазоне от 0 до 100%. Регулятор позволяет работать как в режиме осушения, так и увлажнения. Для измерения возможно …
- Проект с использованием MCC часть 04Visits: 1092 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
- Toyota Auto Fader – Модуль включения усилителяVisits: 1899 Toyota Auto Fader – Модуль включения усилителя. Часто автолюбители прибегают к замене штатного головного устройства на универсальное мультимедийное, в котором значительно расширены функциональные возможности. Если возникает желание оставить …
- Модуль CAN в микроконтроллерах PIC18Visits: 5678 Введение CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …
- AD9833 – Programmable Waveform Generator – part twoVisits: 1638 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
- Самый простой диммер для светодиодного освещенияVisits: 2953 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …
- Analog-to-Digital Converter with Computation Technical BriefVisits: 1208 Аналого-цифровой преобразователь с вычислительным модулем. ВВЕДЕНИЕ Аналого-цифровой преобразователь (ADC) с вычислительным модулем (ADC2) в 8-разрядном микроконтроллере Microchip имеет встроенные вычислительные функции, которые обеспечивают функции пост-обработки, такие как передискретизация, …
- DS18B20 – удаленный контроль температурыVisits: 3007 Контроль температуры с использованием датчиков температуры DS18B20 и платы ILLISSI-4B-09-primum Проект позволяет подключать к плате ILLISSI-4B-09-primum до 16 датчиков температуры DS18B20, удаленных более 300 метров, и выводить информацию …