Просмотров: 9124
Символьная библиотека. Вывод на дисплей символов и псевдографики, национальные шрифты.
Функции библиотеки, версия 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
537 downloads
Библиотека для OLED драйвера SSD1306 интерфейс I2C,...
Библиотека для OLED драйвера SSD1306 интерфейс I2C - схема подключения
11.28 KB
170 downloads
Библиотека для OLED драйвера SSD1306 интерфейс I2C...
Это может быть интересно
CCP – модуль в режиме Compare на примере PIC18
Просмотров: 3037 CCP – модуль можно использовать в трех режимах: Capture – позволяет захватывать входной сигнал и определять его параметры (длительность или частоту). Дополнительно управлять внутренними модулями. Compare – позволяет …Проект с использованием MCC часть 01
Просмотров: 2403 Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид …LED драйвер TM1639
Просмотров: 2095 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …Простой цифровой регулятор мощности
Просмотров: 6318 Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью …OLED RET012864E/REX012864J
Просмотров: 1417 RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как …Kitchen timer with contactless gesture control
Просмотров: 348 Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …PIC18 – модуль DMA
Просмотров: 1085 Введение Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной обработки …LCD драйвер – UC1601s
Просмотров: 1492 http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG. Метки: …MPLAB® Code Configurator and Encoder
Просмотров: 1365 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …JDY-62A Audio bluetooth module
Просмотров: 1554 Простой модуль для простого аудио блютуса. Встроенные подсказки на английском языке. Модуль включён, режим муте – после подачи питания. Контроль разряда батареи предупреждение что батарея разряжена и необходима …