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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

В "0".
СпойлерИзображение
С Уважением, Альберт (Albert_V).
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Это я видел. А дальше, после того, как послал команду, RW понятно, его можно все время на земле держать, а RS надо после отсылки команды поднимать?
И еще строб. у меня работает так.:
1. Изначально он хрен знает в каком состоянии... (ну вообще опущен после инициализации) :oops: :facepalm:
2. Потом выставились данные в порту
3. Дернули строб, т.е. подняли его, подождали, отпустили, подождали.
4. Потом задержка на время медитации ЖКИ над принятой командой.

Итого, строб остался опущенным... :oops:
Станислав
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

СКАЗОЧНИК писал(а):... RS надо после отсылки команды поднимать?....

Ни в коем случае (если, только не хотите читать флаг занятости или данные из индикатора).
Это так на диаграмме обозначено начало чтения флага занятости.
/До начала INIT-а индикатора (20ms) все управляющие линии удерживайте в "0"!!!/
С Уважением, Альберт (Albert_V).
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Делал чтение флага занятости... У меня вообще все отказывается работать. ))) Впрочем, как и без него тоже уже. Иногда думаю, что я своими экспериментами спалил дисплей уже... :))) Жалко будет 400 рублев...
Да и вообще, грешу на сам дисплей. Какой-то он NO-name... Может у него вообще какая-нибудь своя инициализация?
Вообще-то делал самую универсальную для всех видов дисплеев.

АААААААААА!!!!!!!11 :kill: :kill: :kill: :kill: :))) :))) :))) :))) :)))
ПОБЕДИЛ!!!

Ребята! Огромное Вам спасибо! (вопросы, конечно еще будут!)
Альберт, именно Ваше "все управляющие линии удерживайте в "0"!!!", повело меня в этом направлении.

А ошибка была банальная! Просмотрел, что не выставил направление на выход управляющих портов! и всего лишь!
Станислав
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Поздравляю!!!
Только не забывайте, что время выполнения команды "Clear Display" = 1,5ms!
Удачи!!! :beer:
С Уважением, Альберт (Albert_V).
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Да, эти команды медленные, очистка дисплея и еще переход на начало координат тоже. (где-то прочитал), поэтому там у меня задержки более 1,6 мс стоят. ))))
Станислав
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Команду "Clear Display" я не использую (за исключением INIT-а), что бы не было заметно "мерцания".
Обычно я делаю так: вначале "Return Home" > чтение флага занятости (BS) > вывод информации (с проверкой BS).
Если надо отобразить "изменение параметра" (возможно, "мигающего"): "Установка адреса" > чтение флага занятости (BS) > вывод информации (с проверкой BS). Это, просто, перезапись некоторого количества знакомест (не весь экран!).
С Уважением, Альберт (Albert_V).
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Изображение

Я пока еще особо не планировал, как использовать этот дисплей... :dont_know: Просто подключил. Сейчас допишу эту библиотеку, чтобы флаг занятости все таки проверяла. Приведу в порядок малость и выложу.
Как вот ужать ее до безумного придела не знаю. Хотелось бы чтобы поменьше места занимала в памяти. А если сейчас еще этот флаг добавлю, то она еще больше станет...
Станислав
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

раздели библиотеку на две части - одна часть с неизменными функциями, вторая часть - самая элементарная работа непосредственно с железом. тогда любой кто захочет адаптировать библиотеку к своему проекту просто перепишет вторую часть под свои нужды/желания/ограничения и делов-то. Писать нечто совсем-совсем универсальное и так чтобы мало места занимало - дело довольно таки бесполезное и неблагодарное, лучше усилия потратить на проработку способов адаптации под необходимые требования. Например через макросы, директивы условной компиляции и т.д. не нужна пользователю часть функций - так пусть они и не компилируются вовсе.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Возможно, кому-то поможет:
Обычно, на индикаторе отображается некая, достаточно "статичная" информация со значениями параметров...
Я, обычно, делаю так (возможно, кто-то делает проще):
К примеру, заготовленную фразу пишу в формате
db "Addr:$1h$2kbs",'`'
При выводе информации (символ "$" взят условно) идёт сравнение выводимого символа с "$". Как только произошло совпадение - это значит что по сдедующему параметру (цифра или символ) нужно вывести на индикатор "нечто".
Последний раз редактировалось Albert_V Сб янв 10, 2015 20:30:46, всего редактировалось 2 раза.
С Уважением, Альберт (Albert_V).
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Ну здесь особо не разгуляешься.. Если делать чтение флага занятости, тогда задержки после инициализации отпадут.... А если кто захочет без этого флага, тогда надо думать как и куда задержки втыкать... С флагом надежнее.
Чтение данных и команды из дисплея... не думаю что сильно нужная фича. А Флаг занятости для меня прочитать - это просто один пин прозвонить в старшей тетраде, вторую "типа" читаем, на самом деле только строба достаточно будет. (На этом можно сэкономить памяти).
А макросы. Там да. Уже есть несколько написанных. Вывод символа из прошитой памяти дисплея, переход на любую позицию знакоместа в любой строке. Надо еще доделать, чтобы свои символы можно было рисовать. Может быть еще сдвиг самого экрана можно сделать. По поводу курсоров не знаю надо или нет.

Самое главное для меня было, чтобы на любой АВР контроллер и к любым пинам портов, которые удобнее подключать при разводке платы, абсолютно не заморачиваясь с последовательностью.

Albert_V писал(а):db "Addr:$1h$2kbs",

Простите, не понял... :dont_know:
Станислав
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

Имелось ввиду, как сделать вывод фраз/слов с параметрами на индикатор.
"Заготовка"
db "Addr:$1h$2kbs",'`'
будет отображена на индикаторе как, к примеру,
Addr:52h
57.6kbs

Символ "`" - окончание строки.
P.S.
/"db" - это для ASM PIC/
Последний раз редактировалось Albert_V Сб янв 10, 2015 18:57:56, всего редактировалось 5 раз.
С Уважением, Альберт (Albert_V).
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

Задержки оградить директивой условной компиляции, или теми же директивами вставлять вместо них ожидание бита готовности и управлять этим всем делом лишь одним переключателем там же где задается конфигурация пинов. Установку управляющих бит тоже заменить на макрос, чтобы при необходимости его можно было изменить и можно было подключить индикатор через расширитель портов не переписывая большие куски кода.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Albert_V писал(а):вывод фраз/слов с параметрами на индикатор

Интересненько! ВЫ читаете с индикатора, то что на нем отображается в данный момент? И заменяете то, что изменилось?

Alexeyslav писал(а):через расширитель портов

Что такое "Расширитель"? :oops:
Станислав
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

Это микросхема такая, которая через SPI/I2C интерфейс предоставляет 8 и более управляемых выводов, с такими же свойствами как в контроллере. Самый простой расширитель это классика 74HC595, но работает только на вывод. Незаменим когда нужно больше портов чем имеется свободных. И делает возможным к примеру подключить такой индикатор к ATTINY13 например, где вообще всех портов не хватит для индикатора.
Часто можно встретить дисплеи с уже встроенным расширителем и т.д. даже ИМХО есть такие светодиодные индикаторы.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Alexeyslav писал(а): классика 74HC595

Это же регистр?! ))))) А по поводу ТИНИ13... Там же килобайт памяти всего... А эта программулина займет добрую половину памяти ее! Слишком расточительно. ))))
Станислав
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

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

Сообщение WiseLord »

Кстати, забавная на самом деле штука. Я для pcf8574 делал библиотеку для ks0066 под аппаратный I2C (TWI). Она I2C в 8 бит преобразует. Что забавно, практически не нужно вообще о задержках задумываться, т.к. медленная (при 100кГц получается 10мкс на бит, почти 100мкс на байт) скорость протокола I2C уже обеспечивает нужные задержки.
Китайцы готовые переходники по отдельности продают, а то и уже сразу с дисплеем.
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

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

Сообщение Albert_V »

СКАЗОЧНИК писал(а):....ВЫ читаете с индикатора, то что на нем отображается в данный момент? И заменяете то, что изменилось?....:

Можно и так, но этого я не делаю /лень/.
Мне проще сделать "заготовки" фраз/слов и подставлять значения там, где это нужно (по служебным символам /в примере - "$"/).
Если надо изменять несколько знакомест - я изначачально знаю по каким адресам индикатора (строка/символ) они находятся . В крайнем случае, всегда это можно просчитать без реального вывода на индикатор (так быстрее).
С Уважением, Альберт (Albert_V).
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

WiseLord писал(а):а то и уже сразу с дисплеем.

А видели там фотографии фабрики внизу. ))) Бедные китайцы. Они же в сборочном цеху на табуреточках сидят и подкладывают под задницу тетрадки... :cry:
Посиди так целый день... Тяжелейшая работа.

Извиняюсь за оффтоп.
Станислав
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

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

Сообщение Alexeyslav »

А чем регистр не расширитель портов работающий только на выход?
Ответить

Вернуться в «Периферия»