Views: 806
Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты. Для компилятора 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”]
Это может быть интересно
NS108-5050-16bit от NewstarViews: 722 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
NeoPixel LED and PIC24Views: 781 Популярность однопроводной шины для управления светодиода типа WS2812 не ослабевает, а новые типы светодиодов в корпусах 3,5*3,5мм, 2,0*2,0мм становяться все больше привлекательными. Построение дисплеев для анимации требуют все …
Четырех канальный терморегулятор ch-4000Views: 3432 Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
MCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналовViews: 847 При проектировании простых устройств автоматики, часто необходимо иметь механизм звукового оповещения. Самый верхний уровень, это формирование голосовых сообщений, но об этом, как то по позже… В самом примитивном …
Проект с использованием MCC часть 02Views: 2464 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
Дифференциальный терморегуляторViews: 4161 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
Проект с использованием MCC часть 01Views: 2732 Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид …
Development Boards PIC18F47Q84Views: 8467 Microchip тішить новими мікроконтролерами. Особливістю цього MCU – це багата інтелектуальна периферія, що дозволяє вирішувати такі завдання на 8 бітних MCU, які неможливо реалізувати на деяких навіть 32 …
DS18B20 – удаленный контроль температурыViews: 3249 Контроль температуры с использованием датчиков температуры DS18B20 и платы ILLISSI-4B-09-primum Проект позволяет подключать к плате ILLISSI-4B-09-primum до 16 датчиков температуры DS18B20, удаленных более 300 метров, и выводить информацию …
BMP280 – температура и атмосферное давление – учебный проектViews: 2292 Учебный проект на PIC32 и светодиодной панели P5 (2121)-168-6432-80 (32*64). Проект позволяет ознакомиться с простой графикой и с чтением давления и температуры с датчика BMP280. Для тестирования необходимо …
