Views: 9605
Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты.
Функции библиотеки, версия 1.0.0.
Библиотека написана для шины I2C для 8 разрядных микроконтроллеров Microchip.
Компилятор – Microchip MPLAB MPLAB XC8 v1.12, среда – MPLAB® X
Встроенные функции для работы с I2C
(Для модуля MSSP PIC18 (тестирование проводилось на PIC18F25K20), замените их для своего контроллера)
Настройка MSSP модуля для режима I2C
void I2C_Open (unsigned int FCLOCK);
FCLOCK – 100 -700… задает частоту шины.
Проверка на готовность I2C к работе
void i2c_idle (void); // проверка на готовность I2C к работе
void i2c_stop (void); // формирование стоп
char i2c_start (char adres, char R_W); // адрес устройства и бит
// adres = полные 8 бит например: 011110 SA0 R/W#, записать (если SA0=0) 0b01111000 =0x78
Следующие функции в библиотеки не используются (оставление для использования для другого назначения)
char i2c_restart (char adres, char R_W);
char i2c_write (char data); //запись байта
char i2c_read_ack (void); //чтение с подтверждением
char i2c_read_noack (void); //чтение без подтверждения
void ENAB_VCC (char enable_disable); // выключение/включение внешнего DC/DC преобразователя/off / on the external DC / DC converter
Функции для работы с индикатором
void int_OLED (void); // инициализация драйвера SSD1306
void clear_OLED (char tip); // очистка всего дисплея
tip-положение по Y 0-2, 0- черный, 1- белый, 2-серый.
Схема подключения примененная для работы библиотеки.
Регулировка контрастности
void contrast_OLED (char Y);
Y-положение по Y 0-255.
Установка курсора
void curcor_OLED (char X,char Y);
X – положение по X 0-127,
Y-положение по Y 0-7.
Вывод строк (текстовых сообщений)
void String_OLED(const char *str,char inv,char width,char height,char X,char Y);// , char строка, ширина, высота, центрирование (22 символа в строке)
void Stringp_OLED(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.
Вывод символа на дисплей в позиции курсора
void symbol_OLED (unsigned char cod,unsigned char tip,unsigned char inv,unsigned char shi,unsigned char vis);
cod – символ
tip – функция 0-делать один пробел между символами 1 – не делать для рисования псевдографики
inv – инверсия
shi – ширина символа
vis – высота символа
Бегущие строки
void ticker_OLED (const char *str,char start,char ends,char Y); //с ПЗУ
вывод строк – сообщений сохраненных в ПЗУ
void tickerB_OLED (char dlinok,char start,char Y);// с озу
вывод строк массив которых сохранено в ОЗУ и могут динамически менять свое содержание.
Библиотека содержит полный знакогенератор со псевдографикой и национальным шрифтом (русский – по умолчанию). Символы псевдографики можно изменить на необходимые символы размером 5х8. Драйвер устойчиво работает даже на частоте шинs I2C 700 кГц !!! Выше не тестировал, не потянул контроллер, хотя рекомендую использовать стандартную тактовую 400 или 100 кГц.
Библиотека + демопример
Библиотека для OLED драйвера SSD1306 интерфейс I2C
627.77 KB
664 downloads
Библиотека для OLED драйвера SSD1306 интерфейс I2C,...
Библиотека для OLED драйвера SSD1306 интерфейс I2C - схема подключения
11.28 KB
171 downloads
Библиотека для OLED драйвера SSD1306 интерфейс I2C...
Это может быть интересно
Стабилизатор тока для светодиодов SN3350Views: 2780 SN3350 ближайший аналог ZXLD1350 Как собрать готовый вариант, читайте во второй части – http://catcatcat.d-lan.dp.ua/stabilizator-toka-na-sn3350-chast-2/ 40V драйвер светодиодов с внутренним ключом SN3350 – импульсный понижающий преобразователь, разработанный для того, чтобы эффективно управлять одним или …
Простой сенсорный регулятор светаViews: 2515 Простой сенсорный регулятор. Проект – 2007 года. Регулятор выполнена на микроконтроллере PIC12F683 и имеет минимальное количество элементов. Выполняет стандартные функции, включение выключение света, изменение яркости, запоминание последнего установленного уровня …
Проект с использованием MCC часть 11Views: 1025 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
ESP32-первое знакомствоViews: 7249 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
Flight controller for FPV drone.Views: 33 Reverse engineering of a flight controller (SpeedyBee F405 V4 55A 30×30 Stack). Мене зацікавила конструкція основних компонентів FPV-дрона. Першим варіантом, який я розглянув, був контролер польоту від китайської …
Самый простой индикатор уровня звукового сигналаViews: 6695 Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на …
Мониторинг температурыViews: 1486 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
Датчик контроля протечки воды ch-c0020Views: 2095 Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с …
Простой цифровой вольтметр ch-c3200Views: 2660 В этой статье рассмотрен пример создания простого вольтметра постоянного тока на основе печатной платы ch-c0030pcb, а при возможности использования внешнего делителя и вольтметр переменного тока. Дан краткий принцип …
Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0Views: 282 Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0 Here I want to share how I configure Altium Designer and how I use the DXPPreferences1.DXPPrf …





