Работа с ЖКИ на контроллере HD44780 и его аналогах
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Не могу допонять. По схеме через танзисторный ключ и резистор 300 ом подается +9В, а в даташите на жк должно быть +4,2-(+4,6В) не пожгу ли я свой жк?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Ратмир писал(а):Не могу допонять. По схеме через танзисторный ключ и резистор 300 ом подается +9В, а в даташите на жк должно быть +4,2-(+4,6В) не пожгу ли я свой жк?
Все просто: на подсведку используются светодиоды, типовой прямой ток через которые при питании до 4,6V составляет 120 мА (по даташит) на резисторе 300 Om при таком токе падает ~3,6V т.е. если еще учесть падение на открытом ключе в 0,8V (среднее значение), то получится, что к подсветке приложено 9-3,6-0,8=4,6V что соответствует норме. Лично я бы (поскольку лучше перебдеть, чем недобдеть
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Все понял. Спасибо!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Есть вопросик, как вывести знак цельсия "°" на WH1602 ? Пробовал по даташиту HD44780 - из таблицы "Upper 4 bits - 1101 & Lower 4 bits - 1111" = 0xdf, далее пробую lcd_putchar(0xdf); - но в результате получаю закорючку похожую на "Ю", подскажите, кто сталкивался...
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Wereww писал(а):в результате получаю закорючку похожую на "Ю", подскажите, кто сталкивался...
Вы смотрели код этой закорючки из таблицей символов 44780? М.б. в плате что-то напутано или непропаяно/замкнуто?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Wereww писал(а):Есть вопросик, как вывести знак цельсия "°" на WH1602 ? Пробовал по даташиту HD44780 - из таблицы "Upper 4 bits - 1101 & Lower 4 bits - 1111" = 0xdf, далее пробую lcd_putchar(0xdf); - но в результате получаю закорючку похожую на "Ю", подскажите, кто сталкивался...
Посмотреть бы на фото этого "чуда". А другие символы выводятся нормально?
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Пропаяно все хорошо, компилятор CV 
- Aaantonnn15
- Встал на лапы
- Сообщения: 101
- Зарегистрирован: Пт авг 20, 2010 18:31:05
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Jack_A писал(а):Крысолов писал(а): имеет ли кто-нибудь подобный опыт, или соображения по этому поводу
Есть большой положительный опыт.Крысолов писал(а): если да то, пожалуйста поделитесь, особенно хотелось бы увидеть готовые коды на assembler с комментариями
И еще ключ от квартиры, где деньги лежат. Делались изделия, заказчик заплатил за них бабки, и ему не очень-то хочется, чтобы оплаченный им код гулял в сети.
Взять бумагу, нарисовать на ней каркас будущего проекта ( в самых общих чертах ), продумать детали реализации ( форматы данных, методы извлечения-модификации-хранения-отображения и т.д. ), а когда будет ясность - берись за кодирование. Поможем. В результате будет нечто большее, чем тупо скопированное устройство - бесценный опыт.
Вот я выложил на своем обменнике по просьбам трудящихся свою библиотеку, а запросчик - wzn - ни гу-гу. Кто его увидит, поинтересуйтесь -- жив ли и здоров ли ?
А на Протеус рекомендую забить. Сам им не пользуюсь, но когда наблюдаю в форуме, как люди парятся : не работает в Протеусе простейшая функция , которая в железе идет на раз, хочется, как А.Вознесенский, сказать : " А на ... ?!" . Вся арифметика прекрасно отлаживается штатно в Студии, работа с регистрами - практически тоже вся, а динамику надо смотреть на железе, тут уж никуда не денешься.
Но это мое личное мнение, хотя в этом форуме у меня как минимум один твердый единомышленник.
Привет всем!!!
http://www.sparkfun.com/datasheets/LCD/HD44780.pdf
Это оригинальный даташит. Там ближе к концу документа приводится инициализация в виде диаграммы. Очень удобно!!! Всем котам удачи!
- Aaantonnn15
- Встал на лапы
- Сообщения: 101
- Зарегистрирован: Пт авг 20, 2010 18:31:05
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Последний раз редактировалось Aaantonnn15 Вс мар 27, 2011 13:57:17, всего редактировалось 1 раз.
- Aaantonnn15
- Встал на лапы
- Сообщения: 101
- Зарегистрирован: Пт авг 20, 2010 18:31:05
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Последний раз редактировалось Aaantonnn15 Вс мар 27, 2011 13:58:17, всего редактировалось 1 раз.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Wereww писал(а):Пропаяно все хорошо, компилятор CV
Может кто поймёт...когда пытаюсь вывести этот знак через putchar(0xdf); то появляется символ похожий на "Ю", если же формирую строку через sprintf(lcd_buff, "Temp: %c%i\xdfC", znak, temp_val); то перед знаком С появляется русскоязычная "Я", не понятно ничего...
Добавлено:
Есть мнение, что контроллер переходит на другую кодовую страницу(ROM:A02?A00)
- Сергей_74
- Опытный кот
- Сообщения: 707
- Зарегистрирован: Чт фев 21, 2008 12:32:06
- Откуда: Россия г.Уфа
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Bobka писал(а):Одна строка нормально выводится. А когда две, так видно как будто-бы подсаживается вертикальный ряд. Где больше пикселов горит, там и тускнее.
Что-нибудь подскажете, о премудрые коты, как побороть? Или индикатору конец пришел?
ты дружище напрасно не послушал astinis а ведь он дело говорил, когда сказал что нужно заменить сопротивления на 4,7к в количестве 4шт. У меня та же самая фигня приключилась с моим 16*2 ЖК(негатив) я так же проверил сопротивления мультиметром и он показал что все гуд! А потом я просто выпаял их и поставил какие были под рукой 2шт на 5,6к и 2шт на 6,8к.. подключил и опля ЖК ожил работает как новенький!!!! Так что всетаки дело было в этих сопротивлениях, видимо под нагрузкой какой то из них "провисал"
Спасибо astinis за дельный совет и сэкономленные средства
!!!-hands made-
Опытный Электрик, даже жену не берет одновременно за две сиськи!!!
Опытный Электрик, даже жену не берет одновременно за две сиськи!!!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Вот этот индикатор работал с атмегой-16 нормально, вывод контрастности никуда не соединял-и так нормально было, щас хотел к ARM конт роллеру соединить с питанием 3,3 в-начал смотреть-а этот выход на схему вообще не соединен- на пдате отсутствует R8-а дорожка туда идет,как раньше контрастность работала-не знаю, как узнать номинал этого резистор-тоже и вообще от него ли контрастность зависит,никто не сталкивался с этими индикаторами ?


- shurikss123
- Грызет канифоль
- Сообщения: 271
- Зарегистрирован: Пн окт 25, 2010 20:47:04
- Откуда: Казахстан, Астана
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
ARM7 писал(а):Вот этот индикатор работал с атмегой-16 нормально, вывод контрастности никуда не соединял-и так нормально было, щас хотел к ARM конт роллеру соединить с питанием 3,3 в-начал смотреть-а этот выход на схему вообще не соединен- на пдате отсутствует R8-а дорожка туда идет,как раньше контрастность работала-не знаю, как узнать номинал этого резистор-тоже и вообще от него ли контрастность зависит,никто не сталкивался с этими индикаторами ?
ну точно не скажу но около 10-20кОм
- Av4arik
- Поставщик валерьянки для Кота
- Сообщения: 1954
- Зарегистрирован: Чт янв 20, 2011 16:47:18
- Откуда: Старый Оскол
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
http://upwap.ru/1454515 вот эту схему делаю. Там дисплей с подсветкой, а у меня без. Какие элементы убрать? Подключение дисплея не нужно переделывать? Дисплей PC1602ARS-FNH-A 16х2 без подсветки.
И еще, цоколевка - сначала 15, 16, затем 1-14 указана на дисплее, это правильная цоколевка относительно схемы?
извиняюсь за столь тупые вопросы, но с этим дисплеем работаю первый раз, и не хочется вывести его из строя...
З.Ы. На чтение ДШ просьба не отправлять, т.к посмотреть не с чего.
Заранее благодарен
И еще, цоколевка - сначала 15, 16, затем 1-14 указана на дисплее, это правильная цоколевка относительно схемы?
извиняюсь за столь тупые вопросы, но с этим дисплеем работаю первый раз, и не хочется вывести его из строя...
З.Ы. На чтение ДШ просьба не отправлять, т.к посмотреть не с чего.
Заранее благодарен
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
Выбрать можно только 2 варианта.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Ну, врядли кто тут вам может помоч, не заглядываю в даташит.
А неужели ни у кого из знакомых нет компьютера с выходом в Интернет? Быть того не может...
А в даташите вся информация по вашим вопросам - есть и на первых страницах...
А неужели ни у кого из знакомых нет компьютера с выходом в Интернет? Быть того не может...
А в даташите вся информация по вашим вопросам - есть и на первых страницах...
Не умеешь - не берись, но не взявшись не научишься...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Aaantonnn15 писал(а):Привет всем!!!Полностью поддерживаю мнение Jack_A относительно Протеуса. Вещь эта не точная и не совсем ненадежная. Сам столько сним намучался. Устройство в протеусе может работать, но чтоб запустить его в живую приходилось полностью переписывать программу и на оборот. Всем кто только начинает работать с контроллером HD44780 рекомендую смотреть оригинальный даташит. Правильная инициализация поможет сделать меньше ошибок.
Дело вкуса... Писал и отлаживал достаточно сложные программы. Бывали, конечно глюки, например, когда писал библиотеку на асм для DS18B20... Никак в Протеусе не хотела работать. Делал в соответствии с даташитом, выдержал все временные интервалы... Проблему решил путем небольшого увеличения задержек на пинах. Например, если в даташит указано, что надо держать импульс в течении не менее 60 мкс, то точное удержание в 60 мкс в Протеус не работало, а 61 мкс - все ОК. Т.е. в нем забиты данные на худший вариант, и это надо учитывать... Реальный же датчик, который я тестил, работал нормально при удержании импульса в 16 мкс... С другой стороны, если в Вашей конструкции может работать модель с наиболее худшими параметрами, то о лучших можно не беспокоиться... Да и пошаговая отладка в Протеусе иногда довольно нагляднее, чем в студии. Это, конечно, мое личное мнение. и я его ни кому не пытаюсь навязывать...
С контроллером HD44780 согласен. Сам с ним помучился, пока довел до уровня, который меня устраивает.
Да, для тех начинающих, кто все-таки использует Протеус. Для нормального отображения русских символов в нем нужно заменить библиотеку LCDALPHA.DLL А при использовании индикатора 4х40 символов в модели необходимо изменить адреса 2 и 4 строки
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
.. так для этого он и нужен, а рассчитывать, что модель на все 100% соответствует железу - просто наивноVirZh писал(а):... пошаговая отладка в Протеусе иногда довольно нагляднее, чем в студии.
2 Av4arik - вот небольшие наброски работы с HD44780 без использования библиотек на CV AVR
может пригодится....
- Вложения
-
- wh1602.PNG
- (20.74 КБ) 3959 скачиваний
-
- lcd1602.rar
- (47.28 КБ) 443 скачивания
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Коллеги, вот я никак одного не могу понять. Посмотрел несколько даташитов на LCD с HD44780 и несколько библиотек для работы с ним. Много где встречаю вот такую последовательность действий, которая, хотя и соответствует временным графикам даташитов, но кажется немного параноидальной:
1. Обнуляется шина данных.
2. Выставляются RS и R/W.
3. Выставляются данные.
4. Делается передёргивание бита E.
5. Обнуляются биты данных.
Очень сильно сомневаюсь в реальной необходимости делать действия 1 и 5. Склонен трактовать графики даташита как "данные подать не позже, чем (их вообще предлагается после бита E ставить, если верить графикам) и убрать не раньше, чем тогда-то". Сомневаюсь, что контроллеру могут быть важны именно фронты сигналов, а не их значения во время передёргивания бита E.
И очень сильно подозреваю, что RS, R/W и данные можно выставлять одним действием.
Может кто-то что посоветовать?
UPD: спросил на avrfreaks.net, вот что ответили:
Yes, there is no need to clear the data bits before and after operations. Data reads/writes are triggered by transitions on the E (Enable) signal.
Setting the RS and R/W bits at the same time will work. Setting them at the same time with the data bits will also work.
The thing to rely on is the timing diagrams in the 44780 data sheets. They are drawn and annotated so that the sequencing and timing that really matters sticks out. That is what timing diagrams are supposed to do.
If you clean out the timing diagrams from requirements on rise and fall times, and replace the symbols that are left with the actual times from the tables nearby, what you end up with is a remarkably informative diagram.
It will tell you, for writing, that:
1. RS and R/W need to be set 40 us before E rises.
2. The E pulse needs to be at least 230 us.
3. Data need to be set and stable at least 80 us before E falls.
4. Data, RS and R/W needs to stay stable at least 10 us after E falls.
5. A complete write cycle (E rising to next time E rises) must be at least 500 us.
Not very complicated, right?
Короче говоря, всё, что я собирался делать, должно работать.
1. Обнуляется шина данных.
2. Выставляются RS и R/W.
3. Выставляются данные.
4. Делается передёргивание бита E.
5. Обнуляются биты данных.
Очень сильно сомневаюсь в реальной необходимости делать действия 1 и 5. Склонен трактовать графики даташита как "данные подать не позже, чем (их вообще предлагается после бита E ставить, если верить графикам) и убрать не раньше, чем тогда-то". Сомневаюсь, что контроллеру могут быть важны именно фронты сигналов, а не их значения во время передёргивания бита E.
И очень сильно подозреваю, что RS, R/W и данные можно выставлять одним действием.
Может кто-то что посоветовать?
UPD: спросил на avrfreaks.net, вот что ответили:
Yes, there is no need to clear the data bits before and after operations. Data reads/writes are triggered by transitions on the E (Enable) signal.
Setting the RS and R/W bits at the same time will work. Setting them at the same time with the data bits will also work.
The thing to rely on is the timing diagrams in the 44780 data sheets. They are drawn and annotated so that the sequencing and timing that really matters sticks out. That is what timing diagrams are supposed to do.
If you clean out the timing diagrams from requirements on rise and fall times, and replace the symbols that are left with the actual times from the tables nearby, what you end up with is a remarkably informative diagram.
It will tell you, for writing, that:
1. RS and R/W need to be set 40 us before E rises.
2. The E pulse needs to be at least 230 us.
3. Data need to be set and stable at least 80 us before E falls.
4. Data, RS and R/W needs to stay stable at least 10 us after E falls.
5. A complete write cycle (E rising to next time E rises) must be at least 500 us.
Not very complicated, right?
Короче говоря, всё, что я собирался делать, должно работать.
Последний раз редактировалось ellioh Вт апр 26, 2011 18:53:23, всего редактировалось 1 раз.
Клоподавер упрыгхт
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
ellioh писал(а):Может кто-то что посоветовать?
Пробовать
Обычно выставляю данные, затем дёргаю Е. Данные не меняю до тех пор, пока не надо что-то ещё вывести.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
