Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Вс окт 15, 2017 09:38:01

А вот еще вопрос на засыпку: возможно ли вывести несколько курсоров? Или подчеркнуть строку?

Нет. О таких возможностях не знаю. Аппаратно они не предусмотрены.
Моргать символом не обязательно - рядом с выбранным пунктом дорисовывай, например, стрелочку, и пусть она все время горит, пока не выберешь другой пункт.

Хочешь красоту - бери графический дисплей. Геморрою конечно побольше(если пишешь как я - на ассемблере), но зато куча возможностей!
Хотя мне уже хочется на цветные TFT перейти :) Совершенству нет предела!

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Вс окт 15, 2017 12:17:57

Хотя мне уже хочется на цветные TFT перейти :) Совершенству нет предела!

Да тоже слюну пускаю :)) Спасибо :)

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Вс окт 15, 2017 17:51:20

На али есть цветные дешёвые дисплеи с дип пинами, 320х240 и spi интерфейсом. Там всё достаточно просто.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Ср окт 25, 2017 18:28:12

Котаны, кто-нибудь сталкивался с таким дисплеем?

Изображение

Выковырнул из какого-то телефона. Распиновка - Gnd, 3v3, RS, E, RW, D7, D6, D5, D4. Т.е. стандартная для HD44780 (только нет управления контрастности)
Но как подобраться к двум верхним строчкам - не пойму, хоть убей
Да и на нижней строке нулевая позиция - на пятом столбце (см. рис)
Есть мысли, как победить его полностью?

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Ср окт 25, 2017 20:08:21

Записать что-то подлиннее, в идеале - во всю память (128 ячеек). Есть вероятность, что другие позиции могут соответствовать каким-то из адресов.
Также стоит проверить область пользовательских символов -возможно, она тоже как-то отображается на экран.
Последний раз редактировалось WiseLord Чт окт 26, 2017 19:10:01, всего редактировалось 1 раз.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 18:31:33

Спасибо тебе, добрый человек, я его победил.

Изображение

Управляются верхние строки именно пользовательскими символами, и именно за пределами основных адресов, с 40 по 47
Всё в цвет)

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 19:12:05

А мне вот чисто интересно. Один пользовательский символ - это 8 байтов. Получается, что один символ должен отображаться на несколько семисегментных мест. Верно?

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 20:01:49

А мне вот чисто интересно. Один пользовательский символ - это 8 байтов. Получается, что один символ должен отображаться на несколько семисегментных мест. Верно?

Нет. символ всегда отображается на 1 знакоместо(будь оно из 5х8 точек или из 7 сегментов). как происходит "занятие" - решает контроллер дисплея.
Мы же, общаясь с дисплеем, говорим лишь из какого места графической памяти считать этот символ. т.е.8 байт о которых вы говорите - это адрес в памяти.
Сам символ описывается большим количеством байт(по идее 8 байт для знакоместа 5х8 точек).

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 20:08:19

Нет, там мутная схема
Пользовательский символ является символом только в пределах стандартного куска памяти, от 0 до 39
когда его загружаешь по адресу 44-47 - это уже не символ, а коды для семисегментных индикаторов. Семь байтов символа, загруженные по адресу 44 отвечают за первые пять семисегментников второй строки, 45 - за вторые пять и т.д. А восьмой байт - за часть сегментов верхней строки.
День убил, чтоб методом перебора всё вычислить)

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 22:45:39

Ну, я как-то так и предполагал. Обычный символ состоит из 40 точек, хотя пользовательский описывается 64-мя точками (8 байтами). Логичнее всего было предположить, что такой пользовательский символ, будучи записан в определённый адрес, "размажется" по нескольким семисегментным цифрам. Технически возможно - по восьми, как на самом деле - уже другое дело.

Feklistov_as: Ваше предположение практически недопустимо. Если бы пользовательский символ (весь, целиком, все его 8 байтов) отображался лишь на один семисегментный разряд, а не на несколько сразу, было бы невозможно, например, вывести все цифры от 0 до 9.

64 байта пользовательских символов могут либо обеспечить до восьми "обычных" знакомест, либо до 64 семисегментников (вкупе с точкой).

Кстати, как я понял, коды 40-43 - это те самые первые три "графических" символа, а уже дальше пошло "размазывание" по сегментам?

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 22:55:47

Ваше предположение практически недопустимо.

У меня же не было на тот момент информации о ваших опытах
День убил, чтоб методом перебора всё вычислить)

Поэтому я и говорил, как это происходит в обычном серийном дисплее, а не в выдранном из телефона.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Чт окт 26, 2017 22:58:58

Ох, чувствую, придётся товарищу над #define-ами помучиться, чтобы потом можно было красиво и просто в коде цифры выводить.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт окт 27, 2017 10:57:06

WiseLord, 40-43 - вы имели в виду адреса DDRAM?
Это адреса первых четырёх знакомест на дисплее, только они выводятся в зеркальном отображении

Изображение

в данном случае пользовательский символ "размазывается" по пяти семисегментным цифрам + восьмой байт цепляет несколько сегментов верхней строки

Изображение

символ 13, 8, 23, 15, 3, 30, 13, 0 отправлен в ячейку 44 DDRAM

я его пока мучаю через LPT порт, с компа. Пока до #define не дошло)

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт окт 27, 2017 12:18:47

Получается, соответствие обычного символа тому, что на экране - что-то вроде этого:

Изображение

То есть, вместо пяти точек по горизонтали внутри символа мы имеет пять сегментов рядом. Остальные 7 рядов проходятся по другим сегментам. Притом, ряды 0..6 соответствуют сегментам d-e-c-g-f-b-a (снизу вверх справа налево по символу), а ряд 7 затрагивает что-то выше

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Вс окт 29, 2017 09:49:09

Именно такая картинка получается, если этот символ отправить в ячейку 0 DDRAM)
Ряд 7 затрагивает 5 сегментов выше. В первом случае - трубку, динамик, сегмент b, сегмент c, сегменты a, g, d, e одновременно.
В случае с адресом DDRAM 47 чуть по-другому. Там остаётся всего один семисегментник вместо пяти во втором ряду. Поэтому все ряды символа затрагивают что-то выше)

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт ноя 03, 2017 14:44:44

Подскажите, имеет ли значение как вводить в дисплей символы: по порядку двигая курсор последовательно слева направо, или можно в хаотичном порядке ставить курсор куда хочется? Сейчас у меня вывод в совершенно хаотичном порядке, вначале выводится 10 символ второй строки, потом первый первой, потом четвертый второй, и т.д. Работа полностью устраивает, никаких мерцаний и прочих артефактов нет. Но вообще это нормально для дисплея, переделывать не надо?

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт ноя 03, 2017 14:51:42

Не зная что вам требуется от готового изделия и насколько быстро нужно обновлять некие знакоместа - ответить на ваш вопрос не реально.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт ноя 03, 2017 14:55:15

Не зная что вам требуется от готового изделия и насколько быстро нужно обновлять некие знакоместа
Ничего не тербуется - я же говорю, все работает прекрасно. Скорости не нужно. Весь дисплей 1 раз в пол секунды обновляется. Иначе ничего не успеешь увидеть :)))

Вопрос в другом: контроллеру дисплея без разницы в каком порядке выводить символы, или разница есть и оптимизация может быть полезна, например снижением потребления или повышения отказоустойчивости?

Чисто с человеческой точки зрения не всегда удобно писать вывод символов последовательно, например когда есть элементы псевдографики.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт ноя 03, 2017 15:00:36

Лично вам (как автору программы), наверное, удобнее было бы сгруппировать "пакеты знакомест", что бы не не постоянно "долбить команду" выбор адреса.
В любом случае, выбор за вами, поскольку только вы видите работу вашего изделия и можете оценить время, затрачиваемое на обновление информации на ЖКИ.
----
P.S.
Что касается контроллера дисплея - что вы ему сказали, то он и выполнил (за некоторое время).

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Пт ноя 03, 2017 15:05:30

Спасибо. :beer:
Но время в моем случае не имеет значения. Его сколько хочешь.
А кроме времени других критериев нет? Ну например дисплей тупо не перегреется если дергать выбор адреса непрерывно то туда то сюда? :))
Ответить