Нафига его читать? Достаточно выдержать тайминги по даташиту.ellioh писал(а):чтение бита
Работа с ЖКИ на контроллере HD44780 и его аналогах
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Реклама
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Кстати, действительно. Там, где тайминги порядка 40 мкс, смысла читать и правда нет, само чтение с последовательным пропихиванием команды немногим меньше времени съест. Хотя пока я читаю. Если отказаться от чтения, получается три ноги плюс две десятирублевые микросхемы.Gudd-Head писал(а):Нафига его читать? Достаточно выдержать тайминги по даташиту.
Между прочим, тогда можно будет извлечь профит из 4-битного режима, и регистр надо будет использовать только один. Сейчас я на время чтения запрещаю выход регистра с данными, подключив его запрещение вывода к тому выходу второго регистра, который отвечает за бит R/W. Если не читать, то можно и не запрещать, объединив управляющие биты и данные в один регистр. Тогда одна 10-рублёвая микросхема.
Клоподавер упрыгхт
- shurikss123
- Грызет канифоль
- Сообщения: 271
- Зарегистрирован: Пн окт 25, 2010 20:47:04
- Откуда: Казахстан, Астана
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
а если взять 74hc164 можно и одной ножкой обойтись
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Вот это: http://www.fairchildsemi.com/ds/74/74VHC164.pdf???shurikss123 писал(а):а если взять 74hc164 можно и одной ножкой обойтись
Это как, интересно? Во-первых, вход CP (Clock Pulse) всё равно надо будет дёргать, а это уже две ноги, во-вторых, там нет второго регистра с защёлкой, из-за чего при попытке запихать в регистр значение, скажем, 10000000 (двоичное, естественно), сначала придётся в процессе пропихивания выдать на выходы массу ерунды: 1, 10, 100, 1000, 10000... Простой сдвиговый регистр тут, сдаётся мне, вообще не годится.
Одной ногой можно, по-моему, обойтись только одним способом: подключить по чему-то совсем последовательному типа 1-Wire или USART второй микроконтроллер, а к нему -- LCD.
Клоподавер упрыгхт
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Возник вопрос по подключению powetip PC1602F. Является ли он аналогом WH1602? использую 6 ног для подключения, RW на земле всегда висит. Использую вот эту библиотеку, т.к. тут можно указать какие ноги контроллера к каким выводам ЖК подключаются. Пытаюсь использовать библиотеку - ЖК отображает только в первой строке все квадраты, будто не инициализировался.
- Вложения
-
- my_lcd.c
- (6.26 КБ) 385 скачиваний
- Реклама
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Честно сказать, в код не вчитывался, но меня смущает почти полное отсутствие задержек. 1 мкс там действительно много где держится, но этого достаточно между выставлениями данных и взведением бита E, много где надо держать гораздо большие задержки. В даташите на WH1602 (но у вас другой, конечно, однако идея должна быть та же) для целого ряда действий указана задержка порядка 40 с лишним мкс. Попробуйте расставить в начале или конце каждой операции микросекунд по сто, может, поможет. Вот в начале lcd_write -- самое место.Hold[On] писал(а):Пытаюсь использовать библиотеку - ЖК отображает только в первой строке все квадраты, будто не инициализировался.
Клоподавер упрыгхт
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
проблема как всегда скрывалась в мелочах - выбрал атмегу16 вместо атмеги8. А по поводу библиотеки - уже много где её использовал. полностью рабочая.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Выкладываю программу начальной инициализации 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-памяти программ.
В программе - обязательня начальная инициализация - (выдача начальной инициализирующей последовательности). Далее все задается пользвоателем.
Запись данный осуществляется в регистр 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 КБ) 434 скачивания
Не умеешь - не берись, но не взявшись не научишься...
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Ещё бы и физическую распиновку подключения...Stalker46 писал(а):Выкладываю программу начальной инициализации hd44780 на языке ассемблера
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Неплохо! Всего одна ошибка и несколько замечаний
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Программа уже испытывалась в реальном железе - работает на ура, и никаких огрехов замечено не было, тем не менее.....
....программы конечно же сырая, спасибо за замечания. Но она написана для работы с lcd, т.е. именно протокол, влияния микроконтроллера и срыв стека не учитывал)
Физическая распиновка - RS-PD0, RW-PD1, E-PD2;
и 8 битная шина данных lcd DB0-DB7 соотв. линиями порта B микроконтроллера.
....программы конечно же сырая, спасибо за замечания. Но она написана для работы с lcd, т.е. именно протокол, влияния микроконтроллера и срыв стека не учитывал)
Физическая распиновка - RS-PD0, RW-PD1, E-PD2;
и 8 битная шина данных lcd DB0-DB7 соотв. линиями порта B микроконтроллера.
Не умеешь - не берись, но не взявшись не научишься...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Собственно, программа написана для тех, кто хочет сам разобраться, как надо инициализировать и работать с данным lcd.
В этой программе все сделано как в даташите на lcd-контроллера написана (вывод инициализирующей последовательности и тд.)
Единственное - что я дополнил - это увеличил задержки вместо 1,5мс(стирание) и 40мкс(остальные операции) - примерно на 15-20% для лучшей стабильности:)
В этой программе все сделано как в даташите на lcd-контроллера написана (вывод инициализирующей последовательности и тд.)
Единственное - что я дополнил - это увеличил задержки вместо 1,5мс(стирание) и 40мкс(остальные операции) - примерно на 15-20% для лучшей стабильности:)
Не умеешь - не берись, но не взявшись не научишься...
-
AndrewT_87
- Родился
- Сообщения: 4
- Зарегистрирован: Вт дек 21, 2010 20:36:15
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Здравствуйте уважаемые коты!!!
помогите пожалуйсто разобраться. Есть дисплей 20х2. Я его подключаю к порту D atmegi16
rs-D.2
e-D.3
D.4-D.7-data
пишу самую простенькую программу, чтобы выводило строчку текста (использую стандартную библиотеку lcd.h cvavr) командой lcd_putsf(.............) и потом загорался диод на A.0. Так вот, на дисплее ничего не появляется, а диод загорается.
Не могу понять что не так.
помогите пожалуйсто разобраться. Есть дисплей 20х2. Я его подключаю к порту D atmegi16
rs-D.2
e-D.3
D.4-D.7-data
пишу самую простенькую программу, чтобы выводило строчку текста (использую стандартную библиотеку lcd.h cvavr) командой lcd_putsf(.............) и потом загорался диод на A.0. Так вот, на дисплее ничего не появляется, а диод загорается.
Не могу понять что не так.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добрый день! Коты проконсультируйте плиз. Собираю прибор по схеме(прил.) купил жк wh1602c-yyk-ctk# по даташиту не вижу LED+ LED-. как подключить подсветку? спасибо.
- Вложения
-
- 121317506601795912554.pdf
- (461.35 КБ) 499 скачиваний
-
- lcfesr_mero3_sch.png
- (45.38 КБ) 649 скачиваний
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
15 и 16 вывод ЖКИ.Ратмир писал(а):как подключить подсветку? спасибо.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
хотел еще спросить для чего pin А и К ?Gudd-Head писал(а):15 и 16 вывод ЖКИ.Ратмир писал(а):как подключить подсветку? спасибо.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
A(Anode), K(Katode) - выводы для подключения питания светодиодной (в данном случае) подсветки.
На анод - положительный потенциал, на катод - общий.
На анод - положительный потенциал, на катод - общий.
Не умеешь - не берись, но не взявшись не научишься...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Я делал подсветку на 30с при нажатии на любую кнопку устройства. Для этого со свободного вывода порта через транзисторный ключ подключал катод (К), ну а анод (A) соответственно - на +5V.Ратмир писал(а):хотел еще спросить для чего pin А и К ?Gudd-Head писал(а): 15 и 16 вывод ЖКИ.
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Спасибо большое!И последний вопросик. На 15 ноге через дробь указана Vee(negative voltage output) это что?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Для работы LCD используется встроенный преобразователь с отрицательным выходным напряжением. В данном случае с него сделали отдельный вывод. Используется (иногда) для подключения переменного резистора для регулировки контрастности (Один вывод на +5V, (2 нога) второй на A/Vee (15 нога), а движок на Vo (3 нога). Эту схему регулировки контрастности используют при питании индикатора в 3V, а при питании 5V его попросту не используют. (вместо него используют вывод 1 (GND)Ратмир писал(а):Спасибо большое!И последний вопросик. На 15 ноге через дробь указана Vee(negative voltage output) это что?
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...



