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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

ellioh писал(а):чтение бита

Нафига его читать? Достаточно выдержать тайминги по даташиту.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

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

Сообщение ellioh »

Gudd-Head писал(а):Нафига его читать? Достаточно выдержать тайминги по даташиту.


Кстати, действительно. Там, где тайминги порядка 40 мкс, смысла читать и правда нет, само чтение с последовательным пропихиванием команды немногим меньше времени съест. Хотя пока я читаю. Если отказаться от чтения, получается три ноги плюс две десятирублевые микросхемы.

Между прочим, тогда можно будет извлечь профит из 4-битного режима, и регистр надо будет использовать только один. Сейчас я на время чтения запрещаю выход регистра с данными, подключив его запрещение вывода к тому выходу второго регистра, который отвечает за бит R/W. Если не читать, то можно и не запрещать, объединив управляющие биты и данные в один регистр. Тогда одна 10-рублёвая микросхема. :-)
Клоподавер упрыгхт
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

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

Сообщение shurikss123 »

а если взять 74hc164 можно и одной ножкой обойтись
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

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

Сообщение ellioh »

shurikss123 писал(а):а если взять 74hc164 можно и одной ножкой обойтись

Вот это: http://www.fairchildsemi.com/ds/74/74VHC164.pdf???
Это как, интересно? Во-первых, вход CP (Clock Pulse) всё равно надо будет дёргать, а это уже две ноги, во-вторых, там нет второго регистра с защёлкой, из-за чего при попытке запихать в регистр значение, скажем, 10000000 (двоичное, естественно), сначала придётся в процессе пропихивания выдать на выходы массу ерунды: 1, 10, 100, 1000, 10000... Простой сдвиговый регистр тут, сдаётся мне, вообще не годится.

Одной ногой можно, по-моему, обойтись только одним способом: подключить по чему-то совсем последовательному типа 1-Wire или USART второй микроконтроллер, а к нему -- LCD. :lol:
Клоподавер упрыгхт
Hold[On]
Родился
Сообщения: 12
Зарегистрирован: Вт дек 01, 2009 04:46:17

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

Сообщение Hold[On] »

Возник вопрос по подключению powetip PC1602F. Является ли он аналогом WH1602? использую 6 ног для подключения, RW на земле всегда висит. Использую вот эту библиотеку, т.к. тут можно указать какие ноги контроллера к каким выводам ЖК подключаются. Пытаюсь использовать библиотеку - ЖК отображает только в первой строке все квадраты, будто не инициализировался.
Вложения
my_lcd.c
(6.26 КБ) 384 скачивания
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

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

Сообщение ellioh »

Hold[On] писал(а):Пытаюсь использовать библиотеку - ЖК отображает только в первой строке все квадраты, будто не инициализировался.


Честно сказать, в код не вчитывался, но меня смущает почти полное отсутствие задержек. 1 мкс там действительно много где держится, но этого достаточно между выставлениями данных и взведением бита E, много где надо держать гораздо большие задержки. В даташите на WH1602 (но у вас другой, конечно, однако идея должна быть та же) для целого ряда действий указана задержка порядка 40 с лишним мкс. Попробуйте расставить в начале или конце каждой операции микросекунд по сто, может, поможет. Вот в начале lcd_write -- самое место.
Клоподавер упрыгхт
Hold[On]
Родился
Сообщения: 12
Зарегистрирован: Вт дек 01, 2009 04:46:17

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

Сообщение Hold[On] »

проблема как всегда скрывалась в мелочах - выбрал атмегу16 вместо атмеги8. А по поводу библиотеки - уже много где её использовал. полностью рабочая.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

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

Сообщение Arlleex »

Выкладываю программу начальной инициализации hd44780 на языке ассемблера, с использованием управляющего микроконтроллера ATtiny2313:
Запись данный осуществляется в регистр R17, после чего используется команда отправка rcall и имя используемого регистра: для регистра DR - метку user_write_DR, для IR - user_write_IR.
Пример:
ldi r17, 0b00010101 ; Запись данных
rcall user_write_DR; Вывести символ с кодом (R17)
Писать следующие строки следует после инструкции инициализации lcd:
rjmp reset ;
... (код дальнейшей программы)
не следует использвать регистр R16 для хранения константы до того, как будет использован вызов подпрограммы записи данных/параметров в регистры DR или IR.
Если будет что не ясно - пишите.
Объем программы - 6,9% в Flash-памяти программ.
В программе - обязательня начальная инициализация - (выдача начальной инициализирующей последовательности). Далее все задается пользвоателем.
Вложения
tn2313_lcd_8bit.asm
(3.59 КБ) 433 скачивания
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Stalker46 писал(а):Выкладываю программу начальной инициализации hd44780 на языке ассемблера

Ещё бы и физическую распиновку подключения...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

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

Сообщение akl »

Неплохо! Всего одна ошибка и несколько замечаний
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

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

Сообщение Arlleex »

Программа уже испытывалась в реальном железе - работает на ура, и никаких огрехов замечено не было, тем не менее.....

....программы конечно же сырая, спасибо за замечания. Но она написана для работы с lcd, т.е. именно протокол, влияния микроконтроллера и срыв стека не учитывал)
Физическая распиновка - RS-PD0, RW-PD1, E-PD2;
и 8 битная шина данных lcd DB0-DB7 соотв. линиями порта B микроконтроллера.
Не умеешь - не берись, но не взявшись не научишься...
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

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

Сообщение Arlleex »

Собственно, программа написана для тех, кто хочет сам разобраться, как надо инициализировать и работать с данным lcd.
В этой программе все сделано как в даташите на lcd-контроллера написана (вывод инициализирующей последовательности и тд.)
Единственное - что я дополнил - это увеличил задержки вместо 1,5мс(стирание) и 40мкс(остальные операции) - примерно на 15-20% для лучшей стабильности:)
Не умеешь - не берись, но не взявшись не научишься...
AndrewT_87
Родился
Сообщения: 4
Зарегистрирован: Вт дек 21, 2010 20:36:15

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

Сообщение AndrewT_87 »

Здравствуйте уважаемые коты!!!
помогите пожалуйсто разобраться. Есть дисплей 20х2. Я его подключаю к порту D atmegi16
rs-D.2
e-D.3
D.4-D.7-data
пишу самую простенькую программу, чтобы выводило строчку текста (использую стандартную библиотеку lcd.h cvavr) командой lcd_putsf(.............) и потом загорался диод на A.0. Так вот, на дисплее ничего не появляется, а диод загорается.
Не могу понять что не так.
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8864
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

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

Сообщение Ратмир »

Добрый день! Коты проконсультируйте плиз. Собираю прибор по схеме(прил.) купил жк wh1602c-yyk-ctk# по даташиту не вижу LED+ LED-. как подключить подсветку? спасибо.
Вложения
121317506601795912554.pdf
(461.35 КБ) 497 скачиваний
lcfesr_mero3_sch.png
(45.38 КБ) 649 скачиваний
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Ратмир писал(а):как подключить подсветку? спасибо.

15 и 16 вывод ЖКИ.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8864
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

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

Сообщение Ратмир »

Gudd-Head писал(а):
Ратмир писал(а):как подключить подсветку? спасибо.

15 и 16 вывод ЖКИ.

хотел еще спросить для чего pin А и К ?
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

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

Сообщение Arlleex »

A(Anode), K(Katode) - выводы для подключения питания светодиодной (в данном случае) подсветки.
На анод - положительный потенциал, на катод - общий.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
VirZh
Встал на лапы
Сообщения: 86
Зарегистрирован: Вс фев 27, 2011 01:01:11
Откуда: Республика Крым

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

Сообщение VirZh »

Ратмир писал(а):
Gudd-Head писал(а):
Ратмир писал(а):как подключить подсветку? спасибо.

15 и 16 вывод ЖКИ.

хотел еще спросить для чего pin А и К ?


Я делал подсветку на 30с при нажатии на любую кнопку устройства. Для этого со свободного вывода порта через транзисторный ключ подключал катод (К), ну а анод (A) соответственно - на +5V.
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8864
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

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

Сообщение Ратмир »

Спасибо большое!И последний вопросик. На 15 ноге через дробь указана Vee(negative voltage output) это что?
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Аватара пользователя
VirZh
Встал на лапы
Сообщения: 86
Зарегистрирован: Вс фев 27, 2011 01:01:11
Откуда: Республика Крым

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

Сообщение VirZh »

Ратмир писал(а):Спасибо большое!И последний вопросик. На 15 ноге через дробь указана Vee(negative voltage output) это что?


Для работы LCD используется встроенный преобразователь с отрицательным выходным напряжением. В данном случае с него сделали отдельный вывод. Используется (иногда) для подключения переменного резистора для регулировки контрастности (Один вывод на +5V, (2 нога) второй на A/Vee (15 нога), а движок на Vo (3 нога). Эту схему регулировки контрастности используют при питании индикатора в 3V, а при питании 5V его попросту не используют. (вместо него используют вывод 1 (GND)
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Ответить

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