Графическая библиотека для драйвера SEPS114A интерфейс SPI
Visits: 219
Функции Библиотеки
Схема подключения индикатора по интерфейсу SPI.
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)
Вывод символа//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]
Бегущая строка/ 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 – длина окна в пикселях (ширина будет подогнана к размеру символов)
Рисование точки
[тип] 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]
Visits: 2651 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …
Visits: 1650 Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, …
Visits: 2657 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
Visits: 805 Введение. 12-битный модуль A/D Converter является усовершенствованной версией 10-битного модуля, предлагаемого на некоторых устройствах PIC24. Оба модуля являются преобразователями, в своих ядрах, с последовательным приближением (SAR), в окружении …
Visits: 215 TDA7294 має унікальні дані для створення підсилювачів звукової частоти HI-FI класу. Варіант застосування є конфігурація BRIDGE (мостова схема включення), де використовуються два TDA7294, як показано на схематичній діаграмі …
Visits: 1063 Controller Area Network (CAN) первоначально был создан немецким поставщиком автомобильных систем Робертом Бош в середины 1980-х для автомобильной промышленности как метод для обеспечения возможности надежной последовательной связи. Целью было сделать автомобили более надежными, …
Visits: 961 Проект – VU Meter Tower ART получил продолжение в своем развитии. Теперь можно заказать набор деталей из акрила для самостоятельной сборки. В проект корпуса внесено целый ряд доработок, …
Visits: 5796 Эта функция доступна уже в версии 1.6.1. Для многих приложений, необходимо часы реального времени, если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом. …
Visits: 4034 Простой цифровой вольтметр постоянного тока. Три диапазона измерений с автоматическим переключением 1 – 0,001 – 0,999 V, 2 – 0,01-9,99 V, 3 – 0,1-99,9. Четыре управляемых выхода с возможностью задания функции контроля …
Visits: 2323 Описание сенсора [wpdm_file id=242] Незаконченный проект, так-как сенсор не оправдал своего назначения, не рекомендую, просто выброшенные деньги. Особенности. • Количество сенсоров – один, режим переключения ( touch-on/touch-off ), а также программируемая …
OLED дисплей CNK111063
Visits: 966
Схемы подключения.
Напряжение VCC_C=12V.
SPI – последовательный
6800-8080 – параллельный
ВНИМАНИЕ. перед подключением дисплея проверьте напряжение на DC/DC преобразователе, оно должно быть не более 12 вольт. Для коррекции используйте R4, если напряжение выше 12 вольт R4 надо увеличить и наоборот.
Visits: 10142 Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например, для …
Visits: 579 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
Visits: 1936 Как здорово летом под теплым дождем с тобою вдвоем оказаться. Как классно по лужам бежать босиком, с тобою играть и смеяться! Но совсем грустно оказаться под таким дождем, который течет с …
Visits: 1490 EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, …
Visits: 6185 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
Visits: 6338 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
Visits: 7643 Это еще одно чудо от китайского брата. Это монохромные матрицы, называются они P10 (1R) V706A, ну типа R-красные, но не верьте паяют светики и зеленые и синие, в общем …
Visits: 447 Виды формирования запоминая контекста при входе в прерывания. Компилятор представляет три варианта AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот …
Visits: 516 Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
Visits: 3513 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
Распиновка, габаритные размеры, схема подключения дисплея CNK111063 на драйвере SEPS114A
Распиновка дисплея CNK111063 (UG-9696TDDCG02)
Название вывода
Номер
Подключение к
Описание
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 , при этом первый считанный байт данных является недействительным, а второй и следующие данные действительны.
Установка 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 вывод должен быть не подключен.
Отношения между Адрес DDRAM и положения отображения дисплея
Функция окна Функция адресации для записи DDRAM
Когда данные записываются в DDRAM, окна-адрес диапазона, который определяется горизонтальной адресный регистр (Начало: XS [6:00] Конец: XE [6:00]) или вертикальная адресный регистр (Начало: YS [6:00] конец: YE [6:00]) можно записать в подряд. Данные записываются в адреса в направлении, указанном MDIR1, MDIR0 (увеличение / уменьшение), а VH бит (V или H направлении). Когда изображение данные записываются, данные могут быть записаны последовательно, не думая о данных обертку, делая это. Окно должно быть указано в зоне DDRAM адрес описано ниже, адреса должны быть установлены в пределах окна адресу.
Командами DISPLAY_X1, DISPLAY_X2, DISPLAY_Y1, DISPLAY_Y2 задается физический размер дисплея у нас 96х96 точек, это значение по умолчанию, Его в принципе трогать не следует для реального дисплея.
Командами DISPLAYSTART_X и DISPLAYSTART_Y указывается смещение с какой точки будет начало вывода информации на дисплей их памяти контроллера, по умолчанию данные выводятся с нулевой ячейки.
Команды MEM_X1, MEM_X2, MEM_Y1, MEM_Y2 предназначены для установки указателя, в какую точку памяти (экрана если верхние параметры установлены по умолчанию) будет производиться запись или чтение данных изображения.
Условие начальной инициализации драйвера.
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 мкА
Последовательность подачи и снятия питания драйвера.
Последовательность включения.
Включить VDD, VDDIO.
После того когда VDD, VDDIO станет стабильным и выждать 100 мс(t1), перевести RSTB вход в низкий логический уровень на время по крайней мере 1 мс (t2), после чего перевести в высокий логический уровень.
После установки RSTB высокий логический уровень, выждать 50 мс (T3). Затем включите VCC_C
После VCC_C стать стабильным, регистр 0x02 записать значение 0x01 включить дисплей.
Поскольку 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);
//-----------------------------------------------------------------------------
коды направлений
*******
Последовательности инициализации дисплея 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
//------------------------------
Если случайно из-за помех произошло в нарушение отображения, выполните сброс для того, чтобы восстановить функции дисплея.
Visits: 252 Це друга частина проекту TDA7294, початок дивись тут. Тут ви знайдете повністю проект високоякісного підсилювача на TDA7294, схема, 3D моделі, гербер файли для виготовлення друкованої плати. І звичайно …
Visits: 1265 Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это …
Visits: 6411 Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью …
Visits: 19410 Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf[wpdm_file id=129 template=”link-template-calltoaction3.php”] Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую …
Visits: 5796 Эта функция доступна уже в версии 1.6.1. Для многих приложений, необходимо часы реального времени, если в вашем проекте есть модуль WiFI ESP8266, то легко можно сделать следующим образом. …
Visits: 93 Music visualization technology in real time (RTMV-technology). Я не музикант і я не маю спеціальної музичної освіти, я інженер розробник вбудованих систем. Але моє хобі розроблення технології візуалізації …
Visits: 1035 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …
Visits: 5005 AT команды связанные с функцией TCP/IP В этом разделе описаны команды которые позволяют устанавливать соединения между серверами и клиентами в сети. Приведено описание команд и примеры их выполнения. …
Visits: 3020 Контроль температуры с использованием датчиков температуры DS18B20 и платы ILLISSI-4B-09-primum Проект позволяет подключать к плате ILLISSI-4B-09-primum до 16 датчиков температуры DS18B20, удаленных более 300 метров, и выводить информацию …
Visits: 2035 Учебный проект на PIC32 и светодиодной панели P5 (2121)-168-6432-80 (32*64). Проект позволяет ознакомиться с простой графикой и с чтением давления и температуры с датчика BMP280. Для тестирования необходимо …
Библиотеки
Visits: 16002
Все библиотеки рассчитаны для работы компиляторами 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. Перейти
Библиотека для работы с датчиком влажности и температуры v 3.0 датчики DHT11/DHT22/AM2302, для компилятора MPLAB® XC8 Compiler, v1.0 PIC12-16-18. Перейти
Visits: 1400 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …
Visits: 489 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …
Visits: 995 На смену устаревшей плате ch-3000, пришла новая ch-4000. Плату уже можно приобрести в магазине Ворон. Схема. Плата позволяет создавать таймеры, часы реального времени, регуляторы температуры, регуляторы влажности, вольтметры, …
Visits: 3816 Attention, this version of the database is outdated today. See updates in articles https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure and https://catcatcat.d-lan.dp.ua/altium-designer-my-setup-system-and-project-structure-v23-2/ My libraries for Altium designer (Updated V – 29/05/2022) (c) 2021 …
Visits: 1404 И еще один проект на плате ch-c3xxx – универсальный регулятор влажности ch-3800. Регулятор позволяет работать как в режиме индикатора влажности, так и в режиме регулятора. Рабочий диапазон …
Visits: 19410 Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf[wpdm_file id=129 template=”link-template-calltoaction3.php”] Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую …
Visits: 2651 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …
Visits: 2251 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
Visits: 1642 Простой модуль для простого аудио блютуса. Встроенные подсказки на английском языке. Модуль включён, режим муте – после подачи питания. Контроль разряда батареи предупреждение что батарея разряжена и необходима …