Графическая библиотека для драйвера SEPS114A интерфейс SPI

Просмотров: 167


Функции Библиотеки


Схема подключения индикатора по интерфейсу SPI.

Catcatcat_electronics_SEPS114A_01


void SPI2_ON (void); // инициализация SPI2


void OledInt (void); // инициализация драйвера дисплея
void OledFic_read (void); // фиктивное чтение данных, для эмуляции автоприращения
void OledWriteCom (int IR, int datain); // запись команды управления драйвером
void OledEnVcc (int enable_disable); // выключение/включение внешнего DC/DC преобразователя/off / on the external DC / DC converter

void OledData (void); // установка обращению к регистру данных изображения
void OledPict (void); // запись точки в DDRAM (цветом установленным для рисунка)
void OledFon (void); // запись точки фона в DDRAM (цветом установленным для фона)


расширенная задание рабочих цветов
необходимо ввести цвет рисунка, и фона в формате RGB (0-255)
void OledColorSet (unsigned char Rr, unsigned char Gr, unsigned char Br,unsigned char Rf, unsigned char Gf, unsigned char Bf);


Компактная настройка цвета

необходимо ввести цвет рисунка, и фона в формате 0-15
номер цвета R G B R G B
0-Black (черный) #000000 (000,000,000)
1-Maroon (темно-бордовый) #800000 (128,000,000)
2-Red (красный) #FF0000 (255,000,000)
3-Green (зеленый) #008000 (000,128,000)
4-Lime (ярко-зеленый) #00FF00 (000,255,000)
5-Olive (оливковый) #808000 (128,128,000)
6-Yellow (желтый) #FFFF00 (255,255,000)
7-Navy (темно-синий) #000080 (000,000,128)
8-Blue (голубой) #0000FF (000,000,255)
9-Purple (фиолетовый) #800080 (128,000,128)
10-Fuchsia (фуксин) #FF00FF (255,000,255)
11-Teal (серо-зеленый) #008080 (000,128,128)
12-Aqua (морская волна) #00FFFF (000,255,255)
13-Gray (серый) #808080 (128,128,128)
14-Silver (серебряный) #C0C0C0 (192,192,192)
15-White (белый) #FFFFFF (255,255,255)

void OledColorFast (unsigned char colP, unsigned char colF);// установить цвет выводимой точки


Быстрая очистка в черный цвет
void OledClearAll (void);// быстрая очистка в черный цвет


Установка курсора/positioning of the cursor X-(0,95),Y-(0,95)
void OledCursor (char Xp, char Yp);


Закраска прямоугольной области
XS – начало левый нижний угол (0-95)
YS – начало левый нижний угол (0-95)
XE – конец правый верхний угол (0-95)
YE – конец правый верхний угол (0-95)
tip – тир заливки 0-сплошная, 1-градиентная, 2-градиентная серая
NAP – направление градиента (0-7)
colorN – цвет 1 (0-15)
colorS – цвет 2 (0-15)

void OledFillRect (unsigned char XS,unsigned char YS,unsigned char XE,unsigned char YE,unsigned char tip,unsigned char NAP,unsigned char colorN,unsigned char colorS);


Вывод символа//the output symbol
Прорисовка символа
X – 0-132; Y – 0-64
cod – символ
tip – расстояние после символа
sti – тип наложения на фон 0-наложение 1 – стирание фона
shi – ширина 0/1-стандартная 7-максимальная.
vis – высота 0/1-стандартная, 7-максимальная
void OledSymbol (unsigned char cod,unsigned char tip,unsigned char inv,unsigned char shi,unsigned char vis);


Вывод строк/output character strings
OledString – вывод на дисплей строк c любой точки дисплея
str строка символов или указатель на строку в ПЗУ
prop – расстояние между символами
nalo – тип наложения на фон 0-наложение 1 – стирание фона
width-[ширина символа] 0-нормальное до 7
height-[высота символа] 0-нормальное, 1-двойная высота
X-[координата по X][-1 = центрирование строки Х 0-dispX]
Y-[координата по Y][координата Y 0-62]

void OledString(const char *str,char prop,char nalo,char width,char height,char X,char Y);
/*вывод строки с текущей позиции*/
void OledStringCur(const char *str,char prop,char inv,char width,char height);


Бегущая строка/ Ticker
при вызове функции в окно бегущей строки выводиться 1 следующий символ.
в цикле вывода информации должна быть одна строка OledTicker
строка выезжает в окно, пробегает окно, и начинается заново
str – символьная строка – max 255 символов
tipvy – тип вывода информации 0- нормальный, 1- в начале наложение
shiS – ширина символа 0-2 (0,1 == 1)
vysS – высота символа 0-3 (0,1 == 1)
X – положение по X
Y – высота строки (низ)
dlinokna – длина окна в пикселях (ширина будет подогнана к размеру символов)

void OledTicker (const char *str,char tipvy,char shiS,char vysS,char X,char Y,char dlinokna);


Рисование точки
[тип] 0-цвет рисунка,1-цвет фона
[координата по X] 0-127
[координата по Y] 0-63
void point(unsigned char tip, unsigned char X, unsigned char Y);


Рисование линии алгоритм Брезенхема
// tip тип линии 0-цвет рисунка 1-цвет фона, 2-варианты пунктиров
// x0 y0 x1 y1 – координаты линии
void line(unsigned char tip, unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1);


Рисование прямоугольника (есть ограничение на задание координат – задание координаты верхний левый угол + ширина и высота)
1-[тип углов]0-прямые, 1-скругленные
2-[тип линии] 0-отсутствует 1- сплошная, от 2 и более варианты прорисовки
3-[толщина бордюра] 0- нет (заливка все равно будет делать 1 пиксель отступа), 1,2,3 толщина
4-[тип заливки]0-нет заливки,1-цвет рисунка,2-цвет фона, 3 и более варианты
5-[x0][y0] – координата нижнего левого угла
6-[ширина] – ширина прямоугольника
7-[высота] – высота прямоугольника
void rectangle(unsigned char ugl, unsigned char tip, unsigned char bor, unsigned char tipzal, unsigned char x0, unsigned char y0, unsigned char sh, unsigned char vs);


Полоса загрузки индикатор линейный (есть ограничение на задание координат – задание координата нижнего левый угол + ширина и высота)
[тип углов]0-прямые, 1-скругленные
[тип линии]0-белая 1- сплошная, от 2 и более варианты
[тип заливки]0-белая,1-черная, 2 и более варианты
[x0][y0] – координата нижнего левого угла
[ширина] – ширина прямоугольника
[высота] – высота прямоугольника
[vol] – уровень 0-100%
void strip(unsigned char ugl, unsigned char tip, unsigned char tipzal, unsigned char x0, unsigned char y0, unsigned char sh, unsigned char vs, unsigned char vol);


[box title=”Файлы для загрузки” color=”#521BDE”] Библиотека + демопример v1.0(MPLAB X IDE v1.80, XC16 C Compiler V1.11) [wpdm_file id=199]Схема подключения индикаторов на драйвере SEPS114A[wpdm_file id=194][/box]


Это может быть интересно


  • Одноканальный емкостной сенсор – AT42QT1012Одноканальный емкостной сенсор – AT42QT1012
    Просмотров: 2190 Описание сенсора [wpdm_file id=242] Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая …
  • LED модуль P10 (1R) V706ALED модуль P10 (1R) V706A
    Просмотров: 6441 Это еще одно чудо от китайского брата. Это монохромные матрицы, называются они P10 (1R) V706A, ну типа  R-красные, но не верьте паяют светики и зеленые и синие, в общем …
  • Цифровой спидометр для автомобиляЦифровой спидометр для автомобиля
    Просмотров: 10019  Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например,  для …
  • Оптосимистор и его применениеОптосимистор и его применение
    Просмотров: 18433 Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf[wpdm_file id=129 template=”link-template-calltoaction3.php”] Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую …
  • NS108-5050-16bit от NewstarNS108-5050-16bit от Newstar
    Просмотров: 459 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
  • MCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналовMCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналов
    Просмотров: 520 При проектировании простых устройств автоматики, часто необходимо иметь механизм звукового оповещения. Самый верхний уровень, это формирование голосовых сообщений, но об этом, как то по позже… В самом примитивном …
  • Мультимедийная сеть – AVC-LAN TOYOTAМультимедийная сеть – AVC-LAN TOYOTA
    Просмотров: 5454 AVC LAN – протокол обмена данными мультимедийных систем автомобиля. Кодирование данных. При кодировании различаться три типа данных : преамбула – её назначение, это сообщение устройствам на шине, что начинается передача данных. …
  • ESP8266 применение в проектахESP8266 применение в проектах
    Просмотров: 3242 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
  • BMP280 – температура и атмосферное давление – учебный проектBMP280 – температура и атмосферное давление – учебный проект
    Просмотров: 1815 Учебный проект на PIC32 и светодиодной панели P5 (2121)-168-6432-80 (32*64). Проект позволяет ознакомиться с простой графикой и с чтением давления и температуры с датчика BMP280. Для тестирования необходимо …
  • Мониторинг температурыМониторинг температуры
    Просмотров: 1231 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …



OLED дисплей CNK111063

Просмотров: 866


Catcatcat_electronics_SEPS114A_07

SEPS114A_03


Схемы подключения.

Напряжение VCC_C=12V.

SPI – последовательный

Catcatcat_electronics_SEPS114A_01

6800-8080 – параллельный

Catcatcat_electronics_SEPS114A_02 ВНИМАНИЕ. перед подключением дисплея проверьте напряжение на DC/DC преобразователе, оно должно быть не более 12 вольт. Для коррекции используйте R4, если напряжение выше 12 вольт R4 надо увеличить и наоборот.

Catcatcat_electronics_SEPS114A_13



Это может быть интересно


  • Дифференциальный терморегуляторДифференциальный терморегулятор
    Просмотров: 3760 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
  • Система AT команд версии V2.0 для ESP8266 и ESP32Система AT команд версии V2.0 для ESP8266 и ESP32
    Просмотров: 6153 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …
  • Защита датчиков температуры DS18B20 от статического электричестваЗащита датчиков температуры DS18B20 от статического электричества
    Просмотров: 1511 Статья перепечатана с сайта http://svetomuzyka.narod.ru При удалении датчика на большие расстояния возникает опасность наведения импульсов высокого напряжения на кабель, который соединяет датчик с контролером. Если не принимать меры защиты, …
  • Одноканальный емкостной сенсор – AT42QT1012Одноканальный емкостной сенсор – AT42QT1012
    Просмотров: 2190 Описание сенсора [wpdm_file id=242] Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Просмотров: 2030 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
  • Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)
    Просмотров: 2959 Солнечные коллекторы для отопления в Европе используют в более 50% от общего количества установленных гелиосистем. Однако следует понимать, что гелиосистемы предназначены лишь для поддержки отопления и экономии затрат на основную …
  • PIC18 – System ArbitrationPIC18 – System Arbitration
    Просмотров: 456 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
  • Оптосимистор и его применениеОптосимистор и его применение
    Просмотров: 18433 Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf[wpdm_file id=129 template=”link-template-calltoaction3.php”] Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую …
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001I2C MODULE – PIC18F25K42 Device ID Revision = A001
    Просмотров: 906 I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все …
  • Просто о внешних переменныхПросто о внешних переменных
    Просмотров: 679  Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как …



Драйвер OLED SEPS114A

Просмотров: 189


SEPS114A – 96 x 96 Dots, 65K Colors OLED Display Driver

Значок

SEPS114A – 96 x 96 Dots, 65K Colors OLED Display Driver - страница в PDF 865.43 KB 2396 downloads

SEPS114A – 96 x 96 Dots, 65K Colors OLED Display Driver - страница в PDF ...

Catcatcat_electronics_SEPS114A_07Основные характеристики драйвера

  • 65 тыс. цветов OLED
  • Интерфейс передачи данных
    • Параллельный интерфейс: 68/80series MPU (8/16/6 (RGB)/6(BGR)-разрядная версия)
    • Последовательный интерфейс: SPI 4-проводной интерфейс
    • RGB Интерфейс: 8/16/6 (RGB)/6 (BGR)-битный
  • Характеристики драйвера
    • 96 × RGB колонки (288), 96 строк
  • Отображаемая RAM память
    • 96 × 16 (RGB) × 96 = 147 456 бит
  • Функции управления
    • Режим энергосбережения
    • Управление током стабилизации тока светодиодной матрицы
    • Оконный режим
    • Частичное отображение: программируемый размер отображаемого дисплея
    • Хранитель экрана (вертикальная, горизонтальная прокрутка, панорамирование, исчезновение)
  • Настройка тока управления: 8-bit, 0uA ~ 1020uA by 4uA step control
  • OLED драйвер
    • ток потребления: Макс 50mA
  • Тактовый генератор
    • Внутренний/внешний генератор – выбор
    • Частота кадров: 95 кадров/сек (80,0 ~ 140,0 кадров/сек регулируемая)
  • Напряжение питания
    • VDDIO: 1,65 В ~ 3,3 В
    • VDD: 2,4 ~ 3,3 В
    • VCC: 8.0V ~ 18.0V

Блок схема SEPS114A_01


Распиновка, габаритные размеры, схема подключения дисплея CNK111063 на драйвере SEPS114A

SEPS114A_03

 

Распиновка дисплея CNK111063 (UG-9696TDDCG02)SEPS114A_02

Название
вывода
Номер Подключение к Описание
VSSH 2,33 VSS Земля DC/DC преобразователя
VCC_R 3,32 Фильтрующие
конденсаторы
Питание логики
VCC_C 4,31 Напряжение
8-12 вольт
Питание драйвера OLED матрицы
VDDR 5 Фильтрующие
конденсаторы
Питание логики
VDD 6 +3.3V Напряжение питания
PSEL 7 VDD Включение/выключение регулятора напряжение логики
VDDIO 8 VDD Питание MPU I/F PAD (1.65V ~ 3.3V)
RSTB 9 к контроллеру сброс
WRB 10 к контроллеру Режим чтение/запись для 6800 и 8080 интерфейса, для SPI подключен к VSS
RDB/E 11 к контроллеру Для 8080 интерфейса шины, Строб сигнала чтения (активный низкий) для 6880 интерфейса стров активности шины данных (активный высокий), для SPI подключен к VSS
CSB 12 к контроллеру Выбор кристалла – низкий активный, высокий – отключение драйвера от всех управляющих сигналов шины
A0 13 к контроллеру тип передаваемых данных 0-команда/1-данные
D0-D7 14-21 к контроллеру шина данных для 8080-6800
D0 13 к контроллеру SCL : Serial clock input (SPI)
D1 14 к контроллеру SDI : Serial data input (SPI)
D2 15 к контроллеру SDO : Serial data output (SPI)
D3 16 к контроллеру R/W : Serial Read/Write (SPI)
PS 22 VDD или VSS выбор типа интерфейса 0 – последовательный, 1-параллельный
C80 23 VDD или VSS выбор типа параллельного интерфейса 0-8080, 1-6800
OSC1 24 Resister Резистор генератора 27 кОм подключить между этими выводами
OSC2 25 Resister
IREF 26 Resister Подключить резистор 39 кОм на VSS
VSS 27 VSS общий
BPRE 28 Zener or VSSH Напряжение предварительной зарядки (синий) подключаем к стабилитрону 2,7 вольта
GPRE 29 Zener or VSSH Напряжение предварительной зарядки (зеленый) подключаем к стабилитрону 2,7 вольта
RPRE 30 Zener or VSSH Напряжение предварительной зарядки (красный) подключаем к стабилитрону 2,7 вольта

 


Интерфейс

   SEPS114A имеет три высокоскоростных интерфейса системы: параллельные –  68-Serise, 80-Serise 8/16/6 (RGB/BGR) бит и синхронный последовательный SPI (Serial Peripheral Interface). Контактом PS выбирается вид интерфейса,  а регистров CPU_IF система передачи байт параллельного интерфейса (0Dh). SEPS114A имеет три типа регистров: индексный регистр (IR) 8 битов, регистр записи данных (WDR), а также регистр чтения данных (RDR). Индекс IR​​хранит информацию для регистров управления и DDRAM. WDR временно хранит данные для записи в регистры управления и DDRAM. RDR временно хранит данные, считанные из DDRAM. Данные, записанные в DDRAM от MPU сначала записывается в регистр WDR, а потом они автоматически записываются в DDRAM внутренними функциями. Данные считываются из DDRAM через регистр RDR , при этом первый считанный байт данных является недействительным, а второй и следующие данные действительны.


Схема подключения  см. сдесь


Таблица истинности для параллельного интерфейса

8080 6800 A0 C80 Операция
WRB RDB RW E
0 1 0 0 Запись команды (индекс) в IR
1 0 0 0 Чтение внутреннего состояния
0 1 1 0 Запись в регистры управления и DDRAM через WDR
1 0 1 0 Чтение регистров управления и DDRAM через WDR
0 1 0 1 Запись команды (индекс) в IR
1 1 0 1 Чтение внутреннего состояния
0 1 1 1 Запись в регистры управления и DDRAM через WDR
1 1 1 1 Чтение DDRAM через WDR

В нашем дисплее используется 8 битная передача.

SEPS114A_05

Передача команд

SEPS114A_06Обмен данными

SEPS114A_07

Последовательный интерфейс SPI

Установка PS в ‘0’ позволяет выполнить передачу данных по последовательному интерфейсу SPI, выбор драйвера осуществляется сигналом CSB, тип передачи данных (команда/данные) уровень на входе – A0, синхронизация данных – SCL и передача данных в драйвер SDI.
Когда выполнен сброс, внутренний регистр сдвига и счетчик сбрасывается в начальное значение. Входные данные на входе SDI фиксируются на нарастающем фронте тактовые импульсов SCL. Последовательные данные передаются (MSB) старшим битом в перед и преобразуются в 8-битные параллельные данные и обрабатывается на передним фронте последнего тактового импульса. Последовательные данные идентифицируются как данные или команда по первому тактовому импульсу в зависимости от состояния входа A0.

A0 Функция
0 Команда
1 Параметр/Данные

После 16-битная передача данных, тактовый (SCL) должно быть на высоком уровне в отсутствие доступа период. SDI и SCL сигналы чувствительны к внешним электромагнитным шумам. Для предотвращения некорректных операция вывод выбора микросхемы, должен быть в состоянии (CSB =”1″) после 16-битные передачи данных, как показано в следующем.
* Примечание: Если режим выбран SPI, DB[2]-SDO вывод должен быть не подключен.

Catcatcat_electronics_SEPS114A_03

Catcatcat_electronics_SEPS114A_04

Отношения между Адрес DDRAM и положения отображения дисплея

SEPS114A_08

Функция окна Функция адресации для записи DDRAM

Когда данные записываются в DDRAM, окна-адрес диапазона, который определяется горизонтальной адресный регистр (Начало: XS [6:00] Конец: XE [6:00]) или вертикальная адресный регистр (Начало: YS [6:00] конец: YE [6:00]) можно записать в подряд. Данные записываются в адреса в направлении, указанном MDIR1, MDIR0 (увеличение / уменьшение), а VH бит (V или H направлении). Когда изображение данные записываются, данные могут быть записаны последовательно, не думая о данных обертку, делая это. Окно должно быть указано в зоне DDRAM адрес описано ниже, адреса должны быть установлены в пределах окна адресу.

Окно-адрес параметрам.
XS [6:00] = 10h, XE [6:00] = 2Fh                           MDIR1, MDIR0 = 0,0 (шаг)
YS [6:00] = 20h, YE [6:00] = 3Fh                          VH = 0 (горизонтальная запись)

Пример формирования окна записи.

SEPS114A_09

Понимание позиционирования курсора.

Командами DISPLAY_X1, DISPLAY_X2, DISPLAY_Y1, DISPLAY_Y2 задается физический размер дисплея у нас 96х96 точек, это значение по умолчанию, Его в принципе трогать не следует для реального дисплея.

Catcatcat_electronics_SEPS114A_08

Командами DISPLAYSTART_X и DISPLAYSTART_Y указывается смещение с какой точки будет начало вывода информации на дисплей их памяти контроллера, по умолчанию данные выводятся с нулевой ячейки.

Catcatcat_electronics_SEPS114A_09

Команды MEM_X1, MEM_X2, MEM_Y1, MEM_Y2 предназначены для установки указателя, в какую точку памяти (экрана если верхние параметры установлены по умолчанию) будет производиться запись или чтение данных изображения.

Catcatcat_electronics_SEPS114A_10


Условие начальной инициализации драйвера.

1. Режим ожидания: ON
2. Кадровая частота: 95Гц
3. Режим генаратора: внутренние OSC
4. Внутренний OSC: OFF
5. DDRAM запись горизонтальный адресу: XS = 00h, XE = 5Fh
6. DDRAM запись вертикальный адрес: YS = 00h, YE = 5Fh
7. ОЗУ данных записи: MDIR1 = 0, = 0 MDIR0, VH = 0
8. Сканирование по строкам: R0, R1, …, R94, R95
9. Сканирование по калонкам: C0, C1, …, C286, C287
10. Дисплей ON/OFF : OFF
11. Размер панели дисплея: FX = 00h, TX = 5Fh, FY = 00h, Ту = 5Fh (96х96)
12. Данные ОЗУ чтение столбец/строка адреса: DX = 00h, DY = 00h
13. Время разряда: 8 тактов
14. Пик задержки импульса: 5 тактов
15. Пик времени длительности импульса (R/G/B): 5 тактов
16. Зарядный ток (R/G/B): 0 мкА
17. Ток управления (R/G/B): 0 мкА

Последовательность подачи и снятия питания драйвера.

Последовательность включения.

  1. Включить VDD, VDDIO.
  2. После того когда VDD, VDDIO станет стабильным и выждать 100 мс(t1), перевести RSTB вход в низкий логический уровень на время по крайней мере 1 мс (t2), после чего перевести в высокий логический уровень.
  3. После установки RSTB высокий логический уровень, выждать 50 мс (T3). Затем включите VCC_C
  4. После VCC_C стать стабильным, регистр 0x02 записать значение 0x01 включить дисплей.

Data/Scan будет ON после 200 мс (tAF).

Последовательность выключения.

  1. Подать команду 0x02 0x00 Выключить дисплей.
  2. Питание выключено VCC_C
  3. Дождаться TOff. Отключение питания VDD, VDDIO (где минимальный TOff = 0 мс, типичное TOff = 100 мс)

SEPS114A_10

Поскольку ESD замыкания подключается между VDD, VDDIO и VCC_C, VCC_C становится ниже, чем всякий раз, когда VDD VDD, VDDIO включен и VCC_C выключен. VCC_C должна быть отключить, когда он выключен.


 Система команд

ADDR RW IB7 IB6 IB5 IB4 IB3 IB2 IB1 IB0 Инструкция По
умолчанию
0x01 W IDX[7] IDX[6] IDX[5] IDX[4] IDX[3] IDX[2] IDX[1] IDX[0] SOFT_RESET 0x00
0x02 R/W DON DISP_ON_OFF 0x00
0x0F R/W SELEXP SELRES SELCLK IREF ANALOG_CONTROL 0x80
0x14 R/W STB STANDDY_ON_OFF 0x01
0x1A R/W FR[3] FR[2] FR[1] FR[0] OSC_ADJUST 0x03
0x09 R/W SCAND[1] SCAND[0] ROW_SCAN_DIRECTION 0x00
0x30 R/W  – FX[6] FX[5] FX[4] FX[3] FX[2] FX[1] FX[0] DISPLAY_X1 0x00
0x31 R/W  – TX[6] TX[5] TX[4] TX[3] TX[2] TX[1] TX[0] DISPLAY_X2 0x5F
0x32 R/W  – FY[6] FY[5] FY[4] FY[3] FY[2] FY[1] FY[0] DISPLAY_Y1 0x00
0x33 R/W TY[6] TY[5] TY[4] TY[3] TY[2] TY[1] TY[0] DISPLAY_Y2 0x5F
0x38 R/W DX[6] DX[5] DX[4] DX[3] DX[2] DX[1] DX[0] DISPLAYSTART_X 0x00
0x39 R/W DY[6] DY[5] DY[4] DY[3] DY[2] DY[1] DY[0] DISPLAYSTART_Y 0x00
0x0D R/W CIF[1] CIF[0] CPU_IF 0x00
0x34 R/W XS[6] XS[5] XS[4] XS[3] XS[2] XS[1] XS[0] MEM_X1 0x00
0x35 R/W XE[6] XE[5] XE[4] XE[3] XE[2] XE[1] XE[0] MEM_X2 0x5F
0x36 R/W YS[6] YS[5] YS[4] YS[3] YS[2] YS[1] YS[0] MEM_Y1 0x00
0x37 R/W YE[6] YE[5] YE[4] YE[3] YE[2] YE[1] YE[0] MEM_Y2 0x5F
0x1D R/W VH MDIR[1] MDIR[0] MEMORY_WRITE/READ 0x00
0x08 R/W DDRAM[15:0] DDRAM_DATA_ACCESS_PORT 0x00
0x18 R/W DIS[4] DIS[3] DIS[2] DIS[1] DIS[0] DISCHARGE_TIME 0x08
0x16 R/W PDLY[3] PDLY[2] PDLY[1] PDLY[0] PEAK_PULSE_DELAY 0x05
0x3A R/W  – PWR[4] PWR[3] PWR[2] PWR[1] PWR[0] PEAK_PULSE_WIDTH_R 0x05
0x3B R/W  –  – PWG[4] PWG[3] PWG[2] PWG[1] PWG[0] PEAK_PULSE_WIDTH_G 0x05
0x3C R/W  – PWB[4] PWB[3] PWB[2] PWB[1] PWB[0] PEAK_PULSE_WIDTH_B 0x05
0x3D R/W PCR[7] PCR[6] PCR[5] PCR[4] PCR[3] PCR[2] PCR[1] PCR[0] PRECHARGE_CURRENT_R 0x00
0x3E R/W PCG[7] PCG[6] PCG[5] PCG[4] PCG[3] PCG[2] PCG[1] PCG[0] PRECHARGE_CURRENT_G 0x00
0x3F R/W PCB[7] PCB[6] PCB[5] PCB[4] PCB[3] PCB[2] PCB[1] PCB[0] PRECHARGE_CURRENT_B 0x00
0x40 R/W DCR[7] DCR[6] DCR[5] DCR[4] DCR[3] DCR[2] DCR[1] DCR[0] COLUMN_CURRENT_R 0x00
0x41 R/W DCG[7] DCG[6] DCG[5] DCG[4] DCG[3] DCG[2] DCG[1] DCG[0] COLUMN_CURRENT_G 0x00
0x42 R/W DCB[7] DCB[6] DCB[5] DCB[4] DCB[3] DCB[2] DCB[1] DCB[0] COLUMN_CURRENT_B 0x00
0x48 R/W ROW[1] ROW[0] ROW_OVERLAP 0x00
0x49 R/W SOFF[3] SOFF[2] SOFF[1] SOFF[0] SCAN_OFF_LEVEL 0x04
0x17 R/W SC_ON ROW_SCAN_ON/OFF 0x00
0x13 R/W SCM[0] ROW_SCAN_MODE 0x00
0xD0 R/W SMON SLON SCREEN_SAVER_CONTROL 0x00
0xD1 R/W STIM[7] STIM[6] STIM[5] STIM[4] STIM[3] STIM[2] STIM[1] STIM[0] SS_SLEEP_TIMER 0x00
0xD2 R/W SM[2] SM[1] SM[0] SCREEN_SAVER_MODE 0x00
0xD3 R/W SSUT[7] SSUT[6] SSUT[5] SSUT[4] SSUT[3] SSUT[2] SSUT[1] SSUT[0] SS_UPDATE_TIMER 0x00
0xE0 R/W RIM[1] RIM[0] EIM RGB_IF 0x00
0xE1 R/W VSOEN VSOP VSP HSP ENP DOTP RGB_POL 0x00
0xE5 R/W SWAP RC[1] RC[0] DC[1] DC[0] DISPLAY_MODE_CONTROL 0x00

Описание команд (команды будут описываться по мере моего интереса к ним)

Функции управления скроллингом, эффектами и таймером отключения дисплея. Таймер отключения активируется, только когда активен скроллинг.

// взаимозависимые функции управления скроллингом изображения + функция таймера перехода в спящий режим
    /*SCREEN_SAVER_CONTEROL (D0h)*/
    OLEDwrite_comm(0xD0, 0x90); //SMON -0x80 - включение режима скроллинга SLON=1 включение режима сна (только в режиме скроллинга) задержка по таймеру D1
    /*SS_SLEEP_TIMER (D1h)*/
    OLEDwrite_comm(0xD1, 0x015); // время задержки до включения режима сна (по 2 секунды), совместно с командой 0xD0 бит SLON
    /*SCREEN_SAVER_MODE (D2h)*/
    OLEDwrite_comm(0xD2, 0x00); // тип скроллинга 7 вариантов, совместно с командой 0xD0 бит SMON
    /*SS_UPDATE_TIMER (D3h)*/
    OLEDwrite_comm(0xD3, 0x05); // задается задержка скроллинга. влияет на скорость 0 самая быстрая
//----------------------------------------------------

Доступные эффекты, команда SCREEN_SAVER_MODE (D2h).

SM1 SM2 SM0 Saver1 режим
0 0 0 скроллинг влево
0 0 1 скроллинг вправо
0 1 0 скроллинг вниз
0 1 1 скроллинг вверх
1 0 0 Появление
1 0 1 Постепенное исчезновение
1 1 0 Плавное мигание
1 1 1 Дрожание изображения

Вывод данных производиться в окно описанными командами 0x34 – 0x37, направление вывода, описывается командой 0x1D. Важно при выполнять следующую последовательность. Сначала установить направление потом координаты.

//-----------------------------------------------------------------------------
//-Важно сначала установить направление, потом координаты
    OLEDwrite_comm(0x1D, NAP); // принцип заполнения выделенной области

    OLEDwrite_comm(0x34, XS);//начало левый нижний угол
    OLEDwrite_comm(0x35, XE);//верхний правый угол
    OLEDwrite_comm(0x36, YS);
    OLEDwrite_comm(0x37, YE);
//-----------------------------------------------------------------------------

коды направлений

Catcatcat_electronics_SEPS114A_11

*******


Последовательности инициализации дисплея UG-9696TDDCG02 (рекомендую для драйвера SEPS114A)

Последовательность включения и настройки дисплея для работы (установка индикатора соединитель вверху).

    ENAB_VCC (0);           // отключить VCC_C
 //   __delay_ms (11);      // задержка
    OLED_DATA = 0;          //
    OLED_TRIS = 0;          // настройка порта

    A0_OLED = 1;            // данные/команда
    CSB_OLED = 1;           // выбор микросхемы
    RDB_OLED = 1;           // чтение
    WRB_OLED = 1;           // запись
    RSTB_OLED = 1;          // сброс
    VCC_C_OLED = 0;         // вывод управления работой повышающего преобразователя для OLED

    A0_TRIS = 0;            //
    CSB_TRIS = 0;           //
    RDB_TRIS = 0;           //
    WRB_TRIS = 0;           //
    RSTB_TRIS = 0;          //
    VCC_C_TRIS = 0;         //

    __delay_us (5);         // задежка на выполнение сброса 5 мксек
    RSTB_OLED = 1;          // нормальная работа

//    OLEDwrite_comm(0x01, 0x00);
    /* Standby off */
    OLEDwrite_comm(0x14, 0x00);
    __delay_ms(1); // wait for 1ms
    /* Set Oscillator operation */
    OLEDwrite_comm(0x0F, 0x00); // using external resistor and internal OSC
    /* Set frame rate */
    OLEDwrite_comm(0x1A, 0x02); // frame rate : 90Hz
    /* Set MCU Interface */
    OLEDwrite_comm(0x0D, 0x00); // MPU External interface mode, 8bits
    /* Set display mode control порядок цвета SWAP - 1-RGB/0-BGR и яркость RC, DC - непонятно что*/
    OLEDwrite_comm(0xE5, 0x80); //SWAP:RGB, Reduce current : Normal, DC[1:0] : Normal
    /* Set row overlap */
    OLEDwrite_comm(0x48, 0x00); // Band gap only

    /* Set discharge time */
    OLEDwrite_comm(0x18, 0x08); // Discharge time : normal discharge
    /* Set peak pulse delay */
    OLEDwrite_comm(0x16, 0x05);
    /* Set peak pulse width */
    OLEDwrite_comm(0x3A, 0x05);
    OLEDwrite_comm(0x3B, 0x05);
    OLEDwrite_comm(0x3C, 0x05);
    /* Set precharge current */
    OLEDwrite_comm(0x3D, 0x1F);
    OLEDwrite_comm(0x3E, 0x1F);
    OLEDwrite_comm(0x3F, 0x1F);
    /* Set column current */
    OLEDwrite_comm(0x40, 0x5F);
    OLEDwrite_comm(0x41, 0x5F);
    OLEDwrite_comm(0x42, 0x5F);

    /* Set scan off level */
    OLEDwrite_comm(0x49, 0x04); //VCC_C*0.75
 //-----------------------------------------------
    /* Set row scan direction */
    OLEDwrite_comm(0x09, 0x00); // 2/0 переворот изображения на дисплее во вертикали
    /* Set row scan mode */
    OLEDwrite_comm(0x13, 0x00); // Alternate scan mode 0 - 0,1,2,…,94,95,0,1,2,.../1 - 1,0,3,2,5,4…
    /* Set Memory Read/Write mode Режим приращения указателя и направление движения*/
    OLEDwrite_comm(0x1D, 0x00); // принцип заполнения выделенной области
//---------------------------------------------
    /* Set memory area(address) to write a display data Установить область памяти (адрес), чтобы писать данные отображения*/
    OLEDwrite_comm(0x34, 0);
    OLEDwrite_comm(0x35, 95);
    OLEDwrite_comm(0x36, 0);
    OLEDwrite_comm(0x37, 95);
    /* Set memory access point Установите точку НАЧАЛА развертки памяти */
    OLEDwrite_comm(0x38, 0);
    OLEDwrite_comm(0x39, 0);
    /* Set active display area of panel, Установить активную область экрана, задается область индикации памяти на экране*/
    OLEDwrite_comm(0x30, 0);
    OLEDwrite_comm(0x31, 95);
    OLEDwrite_comm(0x32, 0);
    OLEDwrite_comm(0x33, 95);
//------------------------------------------

    /* Display ON Включить дисплей*/
    OLEDwrite_comm(0x02, 0x01);

    ENAB_VCC (1);           // включить VCC_C
//------------------------------

Если случайно из-за помех произошло в нарушение отображения, выполните сброс для того, чтобы восстановить функции дисплея.

Выключение питания

Normal Operation

  1. Set STANDBY_ON_OFF 0x14, 0x01 
  2. Power down VCC_C (100ms Delay Recommended)
  3. Power down VDD/VDDIO

VDD/VDDIO/VCC_C off State

Режим сон

Normal Operation

  1. Set STANDBY_ON_OFF
  2. 0x14, 0x01
  3. Power down VBCC_CB

Sleep Mode

Возвращение из режима сна

Sleep Mode

  1. Power up VBCC_CB (100ms Delay Recommended)
  2. Set STANDBY_ON_OFF 0x14, 0x00
  3. (1ms Delay Minimum)
  4. Set DISP_ON_OFF 0x02, 0x01

Normal Operation


Значок

OLED дисплеи - описание SEPS114A-Revision-1.3 496.12 KB 1776 downloads

OLED дисплеи - описание SEPS114A-Revision-1.3 ...
Значок

OLED дисплеи - SEPS114A-Revision 1.8 988.97 KB 15 downloads

Описание OLED дисплеи - SEPS114A-Revision 1.8 (EN) ...
Login Required Message:
Значок

OLED дисплеи - SEPS114A(kr) 412.03 KB 6 downloads

Описание OLED дисплеи - SEPS114A(kr) (EN) ...
Login Required Message:


Это может быть интересно


  • Проект с использованием MCC часть 12-1Проект с использованием MCC часть 12-1
    Просмотров: 782 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
  • Универсальный терморегулятор ch-c3000Универсальный терморегулятор ch-c3000
    Просмотров: 2780 Терморегулятор ch-c3000 предназначен для управления системами регулирования температуры в пределах от – (минус) 55 до + 125 С. Регулятор может использоваться как в системах отопления, так и в …
  • ch-светомузыка и AK4113ch-светомузыка и AK4113
    Просмотров: 1135 Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это …
  • Контроллер управления светодиодным освещением с дистанционным управлениемКонтроллер управления светодиодным освещением с дистанционным управлением
    Просмотров: 1843 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще …
  • Analog-to-Digital Converter with Computation Technical BriefAnalog-to-Digital Converter with Computation Technical Brief
    Просмотров: 1018 Аналого-цифровой преобразователь с вычислительным модулем. ВВЕДЕНИЕ Аналого-цифровой преобразователь (ADC) с вычислительным модулем (ADC2) в 8-разрядном микроконтроллере Microchip имеет встроенные вычислительные функции, которые обеспечивают функции пост-обработки, такие как передискретизация, …
  • Емкостной сенсорЕмкостной сенсор
    Просмотров: 2763 Изучаем изготовление емкостных сенсоров на PIC-микроконтроллере. Конструкция емкостных сенсоров имеет вид: Емкостные сенсоры строятся по схеме высокочастотного генератора, сам принцип основан на измерение частоты этого генератора. Частота зависит …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Просмотров: 2030 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
  • Проект с использованием MCC часть 14Проект с использованием MCC часть 14
    Просмотров: 648 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
  • Проект с использованием MCC часть 06Проект с использованием MCC часть 06
    Просмотров: 1111 Изменим схему следующим образом добавим две тактовые кнопки BT1 и BT2. Теперь переключимся на конфигурацию выводов, для этого сделаем двойной клик в окне Ресурсы проекта на Pin Module. …
  • Простой сенсорный регулятор светаПростой сенсорный регулятор света
    Просмотров: 2202 Простой сенсорный регулятор. Проект – 2007 года. Регулятор выполнена на микроконтроллере PIC12F683 и имеет минимальное количество элементов. Выполняет стандартные функции, включение выключение света, изменение яркости, запоминание последнего установленного уровня …



Библиотеки

Просмотров: 15456

text-x-csrc


Все библиотеки рассчитаны для работы компиляторами HI-TECH  и XC.


Библиотека работы с датчиками температуры DS18B20.
Перейти


Библиотека работы с LCD индикаторами производства ООО “Гамма” на драйвере UC1601s (RDX0032, RDX0048, RDX0077,RDX0120, RDX0154) v-2.0.1.
Перейти


Библиотека работы с семисегментными индикаторами на драйвере MAX7219-MAX7221 (4/8 разрядов) v-1.1.0. (обновление от 02/01/13)
Перейти


Библиотека работы с семисегментными индикаторами (без использования драйвера) от 2 до 4 разрядов. v4.10.
Перейти


Библиотека “Декодирование RC-5 Protocol Philips” для создания устройств дистанционного управления на ИК-лучах v-2.0.
Перейти


Библиотека для работы с LCD индикаторами на драйвере HD44780 или KS0066U.
Перейти


Библиотека для работы с LCD индикаторами на драйвере UC1601s, для компилятора MPLAB XC16 v1.11. [v1.0 – 1.1]
Перейти


Графическая библиотека для работы с OLED (монохромный) индикаторами на драйвере SSD1306, параллельный интерфейс 8080, для компилятора XC8 v1.0.
Перейти


Символьная библиотека для работы с OLED (монохромный) индикаторами на драйвере SSD1306, I2C интерфейс, для компилятора XC8 v1.0.0.
Вывод на дисплей символов и псевдографики, национальные шрифты.
Перейти

Символьная библиотека для OLED драйвера SSD1306 интерфейс 6800 параллельный.
Вывод на дисплей символов и псевдографики, национальные шрифты. Для компилятора Microchip MPLAB XC8 C Compiler V1.12.
Перейти


Библиотека для работы с OLED (монохромный) индикаторами на драйвере SSD1306, SPI интерфейс, для компилятора XC v.
Тема в разработке


Библиотека для работы с OLED (цветной) индикаторами на драйвере SSD1331, параллельный интерфейс, для компилятора XC v.
Тема в разработке


Библиотека для работы с OLED (цветной) индикаторами на драйвере SSD1331, SPI интерфейс, для компилятора XC v.
Тема в разработке


Графическая библиотека для работы с OLED (цветной) индикаторами на драйвере SEPS114A, параллельный интерфейс 6800, для компилятора XC8 v1.0.
Перейти

Графическая библиотека для работы с OLED (цветной) индикаторами на драйвере SEPS114A, SPI интерфейс, для компилятора MPLAB XC16 v1.11, v1.0 PIC24.
Перейти


Библиотека I2C интерфейс, для компилятора MPLAB XC16 v1.11, v1.0 PIC24.
Перейти


Библиотека для работы с датчиком влажности и температуры v 3.0 датчики DHT11/DHT22/AM2302, для компилятора MPLAB® XC8 Compiler, v1.0 PIC12-16-18.
Перейти


Библиотека для PCAD-2006
Перейти


Библиотека для работы с шиной CAN шиной для PIC18
Перейти


PIC32 – графическая библиотека для OLED дисплея
Перейти


PIC24 – графическая библиотека для дисплея KD035C-3A
Перейти


Moving average – скользящее среднее
Перейти


 

 

 

продолжение следует…


Это может быть интересно


  • Емкостной сенсорЕмкостной сенсор
    Просмотров: 2763 Изучаем изготовление емкостных сенсоров на PIC-микроконтроллере. Конструкция емкостных сенсоров имеет вид: Емкостные сенсоры строятся по схеме высокочастотного генератора, сам принцип основан на измерение частоты этого генератора. Частота зависит …
  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Просмотров: 2469 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
  • ch-4050 – дифференциальный терморегуляторch-4050 – дифференциальный терморегулятор
    Просмотров: 1654 ch-4050 – это не новая модель, это расширенная версия универсального терморегулятора ch-4000. Различия коснулись в появлении новой функции дифференциального регулирования. Это вид регулирования по разности температур измеренного двумя …
  • MPLAB® Harmony – или как это просто! Часть 1.MPLAB® Harmony – или как это просто! Часть 1.
    Просмотров: 3316 Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации …
  • Часы-кухонный таймерЧасы-кухонный таймер
    Просмотров: 3460 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
  • Простой оптический сенсор приближенияПростой оптический сенсор приближения
    Оптический сенсор, назначение оптический концевик, для автоматики, бесконтактный выключатель с функцией автоматического отключения...
  • Проект с использованием MCC часть 03Проект с использованием MCC часть 03
    Просмотров: 1379 Первым делом перенастроим регистры конфигурации, следующим образом: Отключим выход генератора (CLKOUT function is disabled. I/O function on the CLKOUT pin) Включим сторожевой таймер (WDT enabled) После этой настройки …
  • Индикатор кода – RC-5 Protocol PhilipsИндикатор кода – RC-5 Protocol Philips
    Просмотров: 897 Индикатор кода – RC-5 Protocol Philips При конструировании дистанционного управления на инфракрасных лучах для контроля удобно иметь индикатор кодов передаваемых пультом. Плата ch-c3000 позволяет изготавливать устройства с возможностью …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Просмотров: 688 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
  • Цифровой тахометр для автомобиля CH-С3300Цифровой тахометр для автомобиля CH-С3300
    Просмотров: 1705  Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …