Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с ЖКИ на контроллере HD44780 и его аналогах
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Чт июн 04, 2020 04:37:26

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2326 ]     ... , , , 89, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 24, 2015 14:01:15 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 130
Рейтинг сообщений: 734
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4759
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А как же на этом сэкономить?

Где толково написано про организацию памяти МК? У всех АВР она одинаковая? Сколько занимает одна страница?

"Черная магия" - классное выражение. :)))

И еще вопросик. Вот я сделал вместо макроса вывод строки, используя символ "конец строки" - $.
Теперь, если я не хочу выводить строку, у меня компилятор ругается, что она не объявлена... Т.е. я не задал MY: db. "", а в коде к нему идет обращение. Как лучше сделать?
И второе. А если я хочу выводить не одну строку, а несколько разных, ну пусть две на обеих строчках ЖКИ. Как реализовать два массива, а для вызова использовать ту же подпрограмму rcall MY_LINE?

Код:
   MY:   .db "My line is here!$"
...
...
...
  rcall MY_LINE
...
...
...
   MY_LINE:                        ;
                              ; плюс массив символов добавит по два байта на каждые два знака (и "конец строки")
      ldi ZH, high (MY*2)          ; Переходим на нашу таблицу символов на самый первый элемент (точнее нулевой)
      ldi ZL, low (MY*2)

         LETTER:   lpm   R18, Z+               ; Загружаем элемент в регистр Р18 (загрузка с пост-инкрементом)

                  cpi R18, 0x24
                  breq ENDL

               rcall   DATA_WR   
            
               rjmp LETTER
   ENDL: ret

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 24, 2015 16:27:34 
Друг Кота

Карма: 28
Рейтинг сообщений: 561
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4498
Откуда: Украина, Славутич
Рейтинг сообщения: 1
Cделать макрос который будет подставлять переданный в него параметр вместо MY

.macro Print_string
ldi ZH, high (&1*2)
ldi ZL, low (&1*2)
rcall LETTER
.endmacro


А потом в программе раскидать код где надо вывести строки:

Print_string MYstr
Print_string MYstr1
Print_string MYstr2

.....

MYstr: .db 'str 1$'
MYstr1: .db 'str 2$'
MYstr2: .db 'str 3$'

Вобщем, параметр макроса - это метка с которой начинается строка.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб янв 24, 2015 19:17:49 
Друг Кота
Аватар пользователя

Карма: 44
Рейтинг сообщений: 626
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 4221
Откуда: Minsk
Рейтинг сообщения: 0
СКАЗОЧНИК писал(а):
Где толково написано про организацию памяти МК? У всех АВР она одинаковая? Сколько занимает одна страница?
А как же на этом сэкономить?

В ДШ на АВР явно не употреблено слово "страница", я использовал его для удобства из других МК. К примеру, в конце проги, в той ее части, которую отведем под константы/тексты пишем:
Код:
.org   0xC00
Text:   .db  "......"

Если теперь по листингу видим, что все тексты не вылезают за адрес 0xC7F, можем считать, что все они на одной "странице" . Тогда загрузку старшего адреса ldi ZH, High (Text*2) можно производить один раз, уже в подпрограмме вывода строки. Но это можно рекомендовать только при большом напряге с памятью программ, т.к. приходится постоянно следить за размещением. У меня это отрыжка тех времен, "когда дискеты были большими, а память - маленькой" :) и приходилось экономить каждый байт. потому что предложение "давайте перейдем на более толстый контроллер" вызвало бы у шефа-частника поток слов, не содержащихся в словаре Ожегова. :(


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс янв 25, 2015 06:19:04 
Друг Кота

Карма: 55
Рейтинг сообщений: 778
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3743
Откуда: Ижевск
Рейтинг сообщения: 0
Когда это возможно, делаю так. Ограничиваю область ZH=0 и все константы размещаю по адресам меньше 0x7F. Регистр ZH навсегда определяется как 0. Программа начинается с .org=0x100. Т. о. можно связать различную память RAM, EEPROM, FLASH. В последнее время активно использую возможности self-programming the FLASH, поскольку EEPROM, по мне, далеко не безупречна в плане надёжности.


Вернуться наверх
 
Новые контролллеры VIPerPLUS - практический вебинар 10 июня от ST

В программе вебинара - новые контроллеры VIPerPlus, расширяющие границы применения этих компонентов. Обзор их характеристик и преимуществ. Практика. Демонстрация испытаний из лаборатории ST. Пример моделирования в среде E-DesignSuite.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн янв 26, 2015 14:22:05 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 130
Рейтинг сообщений: 734
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4759
Откуда: Иркутск
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
Итак... Благодарю всех, кто помог. Выкладываю крайний результат работы, больше переделывать его не буду, ибо считаю достаточным.
От рисования отдельного своего символа (макроса или подпрограммы) отказался окончательно, не функционально это. Кто читал даташит, тот и так знает как нарисовать. Кто не читал, может пользоваться встроенным массивом и рисовать хоть сразу 8 своих символов. Так проще. Еще один момент, что повлияло на это - это то, что не производится чтение текущего адреса из дисплея, поэтому нарисовать свой символ в позицию курсора... :dont_know: А остальные варианты - это пляска с бубном и много лишних телодвижений и увеличение кода.
Зато теперь можно выводить строками буквы (кроме русских) сколько угодно. )))
И как обещал, провел тестирование на однострочном дисплее DV16110 желто-зеленая подсветка, производитель DataVision. Инициализируется он также, как и 1602, т.к. по сути является двухстрочным 8 знаковым, но в одну строку... :))) Кому не понятно, читайте даташиты на эти контроллеры (которые в названии темы).
Также тестирование постоянное проводилось на двух дисплеях LCM1602К RoHS (какой-то китайский неизвестный) один с синей подсветкой и белыми буквами, другой наоборот с белой подсветкой и синими буквами.
Еще один дисплей для проверки приносил друг WH1602A WinStar желто-зеленая подсветка. Этот дисплей тестировался прямо на его плате (тоже ТИНИ2313), только без кварца в 20 МГц, а на внутренней RS - 8 МГц.
На всех работает без изменений кода. Только задавал порты, куда подключены выводы. Кстати, выводы принципиально подключались в разнобой и как попало.
Изображение
Ну и архив, как всегда. Также там основной файл для ТИНИ2313 с примером инициализации и использованием макросов. Все описано в комментариях файла LCD4.asm. Читайте. Если не понятно, спрОшайте. :)))


Вложения:
LCD версия 26.01.15.rar [5.69 KiB]
Скачиваний: 289

_________________
Станислав
Вернуться наверх
 
NanoPower от Maxim – ультранизкое потребление для «бесконечной» работы батареи!

Применяя компоненты NanoPower от Maxim Integrated с минимальным током покоя и минимальным собственным потреблением, вы сможете разработать устройство с максимально эффективной системой питания и продлить срок работы от батареи. Наша подборка статей и новостей по данной теме поможет вам в этом.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн янв 26, 2015 17:11:37 
Опытный кот

Карма: -3
Рейтинг сообщений: 13
Зарегистрирован: Вс июн 02, 2013 12:23:03
Сообщений: 861
Рейтинг сообщения: 0
Прикупил я себе таких дисплейчиков

Но не нахожу в даташите его потребление в разных режимах.

Сколько потребляет сама подсветка не важно. Меня интересует потребление дисплея без подсветки. И играет роль когда на экране есть какие нибудь цифры или нет для потребления.

И если мне нужно для устройства минимально понизить потребление и дисплей работал пару секунд после нажатия кнопок на устройстве как быть?
Есть команда отключения или физически надо вырубить ему питание.

Между ножками МК и ножками дисплея надо использовать резисторы?


Изображение


Вложения:
Lcd2x16g.jpg [25.32 KiB]
Скачиваний: 2479
Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн янв 26, 2015 18:06:24 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 130
Рейтинг сообщений: 734
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4759
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
amd9800 писал(а):
Но не нахожу в даташите его потребление в разных режимах.

Там посмотрите по потреблению, может чего подскажет. Там на контроллер его, но думаю, сам ЖКИ мало жрет без подсветки. В любом случае там на последних страницах есть. А разница в есть или нету символов - думаю не большая совсем... Хотя, можете измерить и поделиться самыми точными данными.
amd9800 писал(а):
Есть команда отключения или физически надо вырубить ему питание.

Команды на отключение... Это типа "Спящий режим" как у МК? Насколько знаю (вкуривая эти даташиты) такой нету.
amd9800 писал(а):
надо использовать резисторы?

Если МК и ЖКИ от 5 Вольт питаются, то не надо. Там один подстроечный на контраст токма. ))))


Вложения:
HD44780.pdf [322.07 KiB]
Скачиваний: 249

_________________
Станислав
Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн янв 26, 2015 19:27:20 
Друг Кота

Карма: 28
Рейтинг сообщений: 561
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4498
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Данные по потреблению в даташите на контроллер можно принимать в расчет только если это даташит от конкретного индикатора, сейчас идут контроллеры-капельки и многочисленные аналоги что фиг разберешься что именно там стоит. Надёжней, конечно, подавать питание на индикатор прямо с ножки контроллера а при отключении сначала перевести все выводы подключенные к нему в ноль а потом обесточить индикатор. Это то что заработает с ЛЮБЫМ индикатором и он точно ничего потреблять в паузах не будет. только учти, что каждый раз включая его надо ждать и по полной программе проводить инициализацию.


Вернуться наверх
 

Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн янв 26, 2015 19:30:39 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 130
Рейтинг сообщений: 734
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4759
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Alexeyslav, благодарю, за подсказку по макросу выше. :beer:

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Ср янв 28, 2015 17:58:07 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 714
Откуда: ковров
Рейтинг сообщения: 0
Здравствуйте. Имеется знакосимвольный дисплей 20х4. У него одна проблема: в нем нет русского алфавита. За место русского, я так понял там арабские буквы. Возможно ли перешить знакосимвольную таблицу в нем на русскоязычную? Или же только остается пользоваться дополнительными "пустыми" символами, которые в начале программы можно запрограммировать?
был тут, но дельного там вроде ничего нету, да и тема закрыта.

_________________
Хотелки:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Ср янв 28, 2015 18:04:22 
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватар пользователя

Карма: 130
Рейтинг сообщений: 734
Зарегистрирован: Чт апр 21, 2011 17:55:50
Сообщений: 4759
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Нет. Перепрошить невозможно.. :( Придется только рисовать самому.

_________________
Станислав


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт янв 29, 2015 09:06:34 
Модератор
Аватар пользователя

Карма: 56
Рейтинг сообщений: 899
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 17662
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
СКАЗОЧНИК писал(а):
Придется только рисовать самому.
И то всего 8 символов. Остальные использовать англицкие.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Могу не отвечать пару месяцев, не беспокойтесь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт янв 29, 2015 17:46:46 
Опытный кот

Карма: -3
Рейтинг сообщений: 13
Зарегистрирован: Вс июн 02, 2013 12:23:03
Сообщений: 861
Рейтинг сообщения: 0
Можно сделать библиотеку.
В ней задать таблицу русских символов. А дальше в самой библиотеке схожие символы будут браться из дисплея. А те что не похожи будут подгружаться в дисплей динамически и отображаться.

Наврядли на одном экране будет больше чем 8 русских символов отличных от латинских.

Кстати с подсветкой я решил так что подаю питание через ножку МК и с ограничительным резистором примерно 10мА. Светит нормально.

Надо померить какой расход у экрана и думаю тоже его питать через ножку МК но с другого порта чтоб не перегрузить один порт. таким образом можно будет организовать полный спящий режим.


Последний раз редактировалось amd9800 Чт янв 29, 2015 21:03:16, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт янв 29, 2015 19:32:27 
Друг Кота

Карма: 28
Рейтинг сообщений: 561
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4498
Откуда: Украина, Славутич
Рейтинг сообщения: 0
У 20-символьных вроде таблица пользовательских символов на 16 штук, не?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт янв 30, 2015 11:22:31 
Друг Кота

Карма: 55
Рейтинг сообщений: 778
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3743
Откуда: Ижевск
Рейтинг сообщения: 0
Нет, одновременно максимум 8, не зависит от длины строки, но зато можно менять содержимое много много раз.
Цитата:
HD44780U
64 × 8-bit character generator RAM
8 character fonts (5 × 8 dot)
4 character fonts (5 × 10 dot)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт янв 30, 2015 14:55:47 
Друг Кота
Аватар пользователя

Карма: 44
Рейтинг сообщений: 626
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 4221
Откуда: Minsk
Рейтинг сообщения: 0
akl писал(а):
Программа начинается с .org=0x100.

Как такое возможно ? Ведь по адресу 0х0000 располагаются векторы . Или Вы блок констант ставите после векторов, но до 0х7F ? Мне кажется, это неудобно. Я все константы загонял в конец памяти.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт янв 30, 2015 15:54:12 
Друг Кота

Карма: 55
Рейтинг сообщений: 778
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3743
Откуда: Ижевск
Рейтинг сообщения: 0
Jack_A писал(а):
Или Вы блок констант ставите после векторов, но до 0х7F ?
Да, именно так. Например для 2313 первую страницу, отведённую под вектора не трогаю, остальные 224 (16*2*7) байта можно использовать под константы. При этом ZH всегда 0. Мне так удобнее.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт янв 30, 2015 15:56:47 
Модератор
Аватар пользователя

Карма: 56
Рейтинг сообщений: 899
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 17662
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Я тоже массивы констант стараюсь располагать с начала страницы.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Могу не отвечать пару месяцев, не беспокойтесь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт янв 30, 2015 19:12:58 
Друг Кота
Аватар пользователя

Карма: 44
Рейтинг сообщений: 626
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 4221
Откуда: Minsk
Рейтинг сообщения: 0
Я так перестал после одного случая : пришлось в Студии отлаживаться по hex'у, исходник потерялся, так Студия так дизассемблировала константы в код, что мне стало тоскливо. Хотя у каждой бабуси -- свои куры-гуси.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт янв 30, 2015 23:54:29 
Опытный кот

Карма: -3
Рейтинг сообщений: 13
Зарегистрирован: Вс июн 02, 2013 12:23:03
Сообщений: 861
Рейтинг сообщения: 0
Кстати потребление LCD 2x16 примерно 8-10 мА. так что вполне реально его питать через ножку МК.
И когда надо просто отключать экран.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2326 ]     ... , , , 89, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y