Visits: 682
Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты. Для компилятора 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”]
Это может быть интересно
- Trimax – кодирование и декодирование ИК-командVisits: 2143 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
- WiFi ESP8266 – AT команды связанные с функцией Wi-FiVisits: 5229 AT команды связанные с функцией Wi-Fi Функции Wi-Fi подключения, запускаться из командной строки Команда Описание 1 AT+CWMODE Проверка, настройка режима работы Wi-Fi (sta/AP/sta+AP), (не рекомендуется для новых проектов). 2 …
- ESP32-первое знакомствоVisits: 6336 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
- УКВ – радиоприем, часть 1Visits: 9532 Музыкальная тема к статье, слушаем: Первый мой радиоприемник, выглядел так. Использовал исключительно в школе на уроках, держась за одно ухо и преданно смотря на училку и сладко улыбаясь. …
- Часы-кухонный таймерVisits: 3924 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
- TM1650 драйвер LED семисегментного индикатораVisits: 17702 Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd. Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только …
- HVLD модуль на примере PIC24FJ128GA204Visits: 618 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …
- Altium Designer my setup system and project structureVisits: 619 Используйте только последнее обновление!!! Updates https://catcatcat.d-lan.dp.ua/altium-designer-my-libraries-project-templates-system-settings-by-catcatcat-v23-09/ Тут хочу поделиться как я настраиваю Altium Designer и как я использую файлы DXPPreferences.DXPPrf для быстрой конфигурации и получения …
- CCP – модуль в режиме Compare на примере PIC18Visits: 3068 CCP – модуль можно использовать в трех режимах: Capture – позволяет захватывать входной сигнал и определять его параметры (длительность или частоту). Дополнительно управлять внутренними модулями. Compare – позволяет …
- Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Visits: 257 September 2023 component base update. Release updates V. – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …