Views: 9614
Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты.
Функции библиотеки, версия 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
665 downloads
Библиотека для OLED драйвера SSD1306 интерфейс I2C,...
Библиотека для OLED драйвера SSD1306 интерфейс I2C - схема подключения
11.28 KB
171 downloads
Библиотека для OLED драйвера SSD1306 интерфейс I2C...
Это может быть интересно
УКВ – радиоприем, часть 2Views: 6444 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
Сумеречное релеViews: 1664 Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока …
Pogo Pin Connector LibViews: 36 У своїх проектах почав застосовувати з’єднувачі та контакти типу Pogo Pin. Для цього до своєї існуючої БД додав нову бібліотеку. Огляд від ІІ Pogo Pin (погопін) – це …
Development Boards PIC18F47Q84Views: 8467 Microchip тішить новими мікроконтролерами. Особливістю цього MCU – це багата інтелектуальна периферія, що дозволяє вирішувати такі завдання на 8 бітних MCU, які неможливо реалізувати на деяких навіть 32 …
Electronic Speed Controller for FPV droneViews: 39 Другий проект цієї серії, це контролер швидкості або контролер управління BLCD мотором. Для аналізу було вибрано плату SpeedyBee BLS 55A 4-in-1 ESC із комплекту SpeedyBee F405 V4 BLS …
Проект с использованием MCC часть 07Views: 1248 Модуль PWM – широтно импульсная модуляция (ШИМ). ПИК контроллеры часто на борту имеют модули ШИМ. На их основе строятся многие узлы управления электро приводами. В нашем варианте мы …
Arduino LCD + STONE STVI056WT-01 + Strain gaugeViews: 680 Author li grey email: greyli1987@outlook.com The strain assessment instrument is used to assess the degree of corresponding muscle strain by obtaining the muscle surface action potential through silver …
LCD индикаторы на драйвере ML1001Views: 2056 ML1001 – статический LCD GOG (чип в стекле) драйвер для 40-сегментного LCD в позолоченном противоударном исполнении. На них можно каскадно строить цельные из 80 или 120 сегментов LCD индикаторы. …
Проект с использованием MCC часть 11Views: 1030 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
MPLAB® Code Configurator and EncoderViews: 1679 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …





