8(495) 662-59-14

Главная / Форум
  • РУС / ENG
(495) 662-59-14 Многоканальный телефон Не дозвонились?
Форумы >>ЖК индикаторы >>MT-20S2M-2YLG не работает
MT-20S2M-2YLG не работает

Aleksorik
Пользователи

Сообщений: 2
Регистрация: 16.02.2021

Подскажите пожалуйста. Для отображения нескольких тестовых символов использую следующую комбинацию входных данных.

vTaskDelay(50);
Set(0b0011'0000, 0/*A0*/);
UsDelay(1000);
Set(0b0011'0000, 0/*A0*/);
UsDelay(1000);
Set(0b0011'0000, 0/*A0*/);
UsDelay(1000);


Set(0b0011'1000, 0/*A0*/);
UsDelay(1000);

Set(0b0000'1000, 0/*A0*/); //off
UsDelay(1000);

Set(0b0000'0001, 0/*A0*/); //clear
UsDelay(1000);

Set(0b0000'0011, 0/*A0*/); //mode
UsDelay(1000);

Set(0b0000'1111, 0/*A0*/); //on
UsDelay(1000);

Set(0x6D, 1); //write
UsDelay(1000);

Set(0x69, 1); //write
UsDelay(1000);

Set(0x61, 1); //write
UsDelay(1000);

Set(0x62, 1); //write
UsDelay(1000);

Set(0x63, 1); //write
UsDelay(1000);

Set(0x64, 1); //write
UsDelay(1000);

С помощью логического анализатора убедился, что данные передаются согласно инструкции (с соблюдением таймингов, на спаде "E", RW = 0). Никаких данных на дисплей не выводится. Возможно какая-то ошибка в логике? Питание 3,3В, Нога U0 висит в воздухе. Подключение ее к земле не меняет ничего. Подскажите пожалуйста верная ли последовательность на входе и что вы бы рекомендовали проверить? Как можно убедиться в работоспособности устройства?

Имя Для добавления сообщений Вы должны зарегистрироваться или авторизоваться Цитировать Получить ссылку на сообщение

Петухов_Дмитрий
Пользователи

Сообщений: 1351
Регистрация: 25.11.2009

После команды 0x01 (clear) задержка должна быть не менее 1.52мс, а лучше даже 2мс. Скорее всего из-за этого и не работает (не проходит команда 0x0F on).
Неправильный код команды mode, он не 0x3, а 0x06 должен быть.
После подачи питания перед первой командой задержка должна быть 40мс (по идее 20мс, но её хватает не всегда), лучше даже ещё чуть больше. Возможно vTaskDelay(50) она и есть, не знаю.

Остальное на работу не влияет, но ...
1мс после каждой команды многовато, достаточно 40мкс (это уже с небольшим запасом).
Команду off подавать смысла мало, индикатор погаснет лишь на пару мс пока будет очищаться, глазом это незаметно, потом всё равно придёт команда on. Можно или убрать off, или заменить её сразу на on (убрав или оставив повторную on), как Вам удобнее.
UsDelay(40) можно интегрировать сразу в Set().

Имя Для добавления сообщений Вы должны зарегистрироваться или авторизоваться Цитировать Получить ссылку на сообщение

Aleksorik
Пользователи

Сообщений: 2
Регистрация: 16.02.2021

Проблему удалось решить.
MT-20S2M-2YLG
Экран с питанием 5 Вольт. Подавалось 3.3. Из документации не очевидно, что устройство предполагает разные модели для разных напряжений питания.

Имя Для добавления сообщений Вы должны зарегистрироваться или авторизоваться Цитировать Получить ссылку на сообщение

Петухов_Дмитрий
Пользователи

Сообщений: 1351
Регистрация: 25.11.2009

На странице индикатора под заголовком "Технические характеристики" прямо указано "U_пит.: 5V".
В документации есть жирный намёк: в таблице параметров не одна колонка с диапазоном питания 2.7В-5.5В, а две колонки отдельно для Ucc=5В и для Ucc=3В.
На самом деле ни то ни другое не совсем правда: можно и 5В индикатор включить от 3В (подав ему внешнее отрицательное напряжение на контрастность) и 3В индикатор от 5В (уменьшив контрастность описанным в документации способом). Но модели да, разные.

PS. Надеюсь программу Вы всё же поправили.

Имя Для добавления сообщений Вы должны зарегистрироваться или авторизоваться Цитировать Получить ссылку на сообщение
Сейчас на форуме (гостей: 17, пользователей: 0 , из них : 0 )