Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пн фев 28, 2011 12:48:51
Друг Кота
Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19844 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: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
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19844 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: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
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19844 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: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)
_________________ Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения