Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пн фев 28, 2011 12:48:51
Друг Кота
Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19892 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
ellioh писал(а):
чтение бита
Нафига его читать? Достаточно выдержать тайминги по даташиту.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Нафига его читать? Достаточно выдержать тайминги по даташиту.
Кстати, действительно. Там, где тайминги порядка 40 мкс, смысла читать и правда нет, само чтение с последовательным пропихиванием команды немногим меньше времени съест. Хотя пока я читаю. Если отказаться от чтения, получается три ноги плюс две десятирублевые микросхемы.
Между прочим, тогда можно будет извлечь профит из 4-битного режима, и регистр надо будет использовать только один. Сейчас я на время чтения запрещаю выход регистра с данными, подключив его запрещение вывода к тому выходу второго регистра, который отвечает за бит R/W. Если не читать, то можно и не запрещать, объединив управляющие биты и данные в один регистр. Тогда одна 10-рублёвая микросхема.
а если взять 74hc164 можно и одной ножкой обойтись
Вот это: http://www.fairchildsemi.com/ds/74/74VHC164.pdf??? Это как, интересно? Во-первых, вход CP (Clock Pulse) всё равно надо будет дёргать, а это уже две ноги, во-вторых, там нет второго регистра с защёлкой, из-за чего при попытке запихать в регистр значение, скажем, 10000000 (двоичное, естественно), сначала придётся в процессе пропихивания выдать на выходы массу ерунды: 1, 10, 100, 1000, 10000... Простой сдвиговый регистр тут, сдаётся мне, вообще не годится.
Одной ногой можно, по-моему, обойтись только одним способом: подключить по чему-то совсем последовательному типа 1-Wire или USART второй микроконтроллер, а к нему -- LCD.
Возник вопрос по подключению powetip PC1602F. Является ли он аналогом WH1602? использую 6 ног для подключения, RW на земле всегда висит. Использую вот эту библиотеку, т.к. тут можно указать какие ноги контроллера к каким выводам ЖК подключаются. Пытаюсь использовать библиотеку - ЖК отображает только в первой строке все квадраты, будто не инициализировался.
Пытаюсь использовать библиотеку - ЖК отображает только в первой строке все квадраты, будто не инициализировался.
Честно сказать, в код не вчитывался, но меня смущает почти полное отсутствие задержек. 1 мкс там действительно много где держится, но этого достаточно между выставлениями данных и взведением бита E, много где надо держать гораздо большие задержки. В даташите на WH1602 (но у вас другой, конечно, однако идея должна быть та же) для целого ряда действий указана задержка порядка 40 с лишним мкс. Попробуйте расставить в начале или конце каждой операции микросекунд по сто, может, поможет. Вот в начале lcd_write -- самое место.
Выкладываю программу начальной инициализации 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-памяти программ. В программе - обязательня начальная инициализация - (выдача начальной инициализирующей последовательности). Далее все задается пользвоателем.
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср мар 09, 2011 15:19:35
Друг Кота
Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19892 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Stalker46 писал(а):
Выкладываю программу начальной инициализации hd44780 на языке ассемблера
Ещё бы и физическую распиновку подключения...
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Программа уже испытывалась в реальном железе - работает на ура, и никаких огрехов замечено не было, тем не менее.....
....программы конечно же сырая, спасибо за замечания. Но она написана для работы с lcd, т.е. именно протокол, влияния микроконтроллера и срыв стека не учитывал) Физическая распиновка - RS-PD0, RW-PD1, E-PD2; и 8 битная шина данных lcd DB0-DB7 соотв. линиями порта B микроконтроллера.
_________________ Не умеешь - не берись, но не взявшись не научишься...
Собственно, программа написана для тех, кто хочет сам разобраться, как надо инициализировать и работать с данным lcd. В этой программе все сделано как в даташите на lcd-контроллера написана (вывод инициализирующей последовательности и тд.) Единственное - что я дополнил - это увеличил задержки вместо 1,5мс(стирание) и 40мкс(остальные операции) - примерно на 15-20% для лучшей стабильности:)
_________________ Не умеешь - не берись, но не взявшись не научишься...
Здравствуйте уважаемые коты!!! помогите пожалуйсто разобраться. Есть дисплей 20х2. Я его подключаю к порту D atmegi16 rs-D.2 e-D.3 D.4-D.7-data пишу самую простенькую программу, чтобы выводило строчку текста (использую стандартную библиотеку lcd.h cvavr) командой lcd_putsf(.............) и потом загорался диод на A.0. Так вот, на дисплее ничего не появляется, а диод загорается. Не могу понять что не так.
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб мар 19, 2011 16:20:35
Друг Кота
Карма: 67
Рейтинг сообщений: 1065
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19892 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Ратмир писал(а):
как подключить подсветку? спасибо.
15 и 16 вывод ЖКИ.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс мар 20, 2011 00:58:49
Встал на лапы
Зарегистрирован: Вс фев 27, 2011 01:01:11 Сообщений: 86 Откуда: Республика Крым
Рейтинг сообщения:0
Ратмир писал(а):
Gudd-Head писал(а):
Ратмир писал(а):
как подключить подсветку? спасибо.
15 и 16 вывод ЖКИ.
хотел еще спросить для чего pin А и К ?
Я делал подсветку на 30с при нажатии на любую кнопку устройства. Для этого со свободного вывода порта через транзисторный ключ подключал катод (К), ну а анод (A) соответственно - на +5V.
_________________ Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс мар 20, 2011 08:29:34
Встал на лапы
Зарегистрирован: Вс фев 27, 2011 01:01:11 Сообщений: 86 Откуда: Республика Крым
Рейтинг сообщения:0
Ратмир писал(а):
Спасибо большое!И последний вопросик. На 15 ноге через дробь указана Vee(negative voltage output) это что?
Для работы LCD используется встроенный преобразователь с отрицательным выходным напряжением. В данном случае с него сделали отдельный вывод. Используется (иногда) для подключения переменного резистора для регулировки контрастности (Один вывод на +5V, (2 нога) второй на A/Vee (15 нога), а движок на Vo (3 нога). Эту схему регулировки контрастности используют при питании индикатора в 3V, а при питании 5V его попросту не используют. (вместо него используют вывод 1 (GND)
_________________ Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения