|
|
  |
PIC16f628A и ЖК SC1602BULT-SH-HS-G, помогите разобраться |
|
|
|
Jul 22 2009, 11:47
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028

|
Цитата(HHIMERA @ Jul 22 2009, 02:02)  И... процентов на 80 индикатор не заработает... Сейчас HD44780 ( а не HD44700) в чистом виде практически не применяется... Другие чипы, другие задержки, отличия в инициализации, плюс частые ошибки и неточности в PDF некоторых производителей... согласен насчёт того что может стоять другой конроллер но в SC1602BULT 100%совместимый с HD44780 (навскидку не вспомнил точную маркировку :-)) ) стоит !!! Сам его использовал когда-то ... Я пытался донести мысль что в 1 очередь надо немного почитать про то что хочешь ОСВОИТЬ а не сразу кидаться "писать" проги иди разбирать чужие проги !!!!!
|
|
|
|
|
Jul 23 2009, 10:53
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(HHIMERA @ Jul 22 2009, 03:02)  И... процентов на 80 индикатор не заработает... Сейчас HD44780 ( а не HD44700) в чистом виде практически не применяется... Другие чипы, другие задержки, отличия в инициализации, плюс частые ошибки и неточности в PDF некоторых производителей... Да ладно страсти-то рассказывать ! Клоны-не клоны, а совместимость заявляется и есть на практике (ну, у МЭЛТовских какие-то свои заморочки, но при достаточно экзотической логике работы с индикатором, чтобы на это попасть, надо специально постараться). Задержки регламентированы, и если соблюдать рекомендации в точности - работает всегда и везде... Что до "ошибок и неточностях в PDF" - так и не надо пользоваться "левыми" PDF. Есть родной тошибовский даташит - по нему и работать. Тонкости выплывают, когда модуль какой-нибудь нестандартный, с преобразователем питания, например.
|
|
|
|
|
Jul 23 2009, 19:41
|
Местный
  
Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126

|
Цитата(rx3apf @ Jul 23 2009, 13:53)  Да ладно страсти-то рассказывать ! Клоны-не клоны, а совместимость заявляется и есть на практике (ну, у МЭЛТовских какие-то свои заморочки, но при достаточно экзотической логике работы с индикатором, чтобы на это попасть, надо специально постараться). Задержки регламентированы, и если соблюдать рекомендации в точности - работает всегда и везде... Что до "ошибок и неточностях в PDF" - так и не надо пользоваться "левыми" PDF. Есть родной тошибовский даташит - по нему и работать. Тонкости выплывают, когда модуль какой-нибудь нестандартный, с преобразователем питания, например. Да ну??? Неужели??? А два даташита на HD44780 и KS0066 сравнить слабо??? А как написано в PDF SC1602B, что KS0066 или совместимый - тоже ничего??? Т.е. там может стоять уже не HD44780 и не KS0066, а что-то совместимое... А теперь стриптиз... Голые факты... BTHQ 22005VSS фирмы BATRONNC1602A-BIW-TSN фирмы NEWTECБезымянный ЖКИ 16X1 с какого-то принтера, но с чипом HD44780У всех трёх разная инициализация!!! Отличия не только в задержках, но и в количестве команд (на самом деле, а не по PDF)... И только у последнего, безымянного, полное совпадение с даташитом... И насчёт PDF... Мне их читать не надо - я их наизусть выучил...
|
|
|
|
|
Jul 23 2009, 20:21
|
Местный
  
Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126

|
Цитата(zltigo @ Jul 23 2009, 22:55)  Это в раделе "примера"-отсебятины написанного каким-нибудь полуграмотным китайцем в левом китайском даташите она "разная", а в реале если действовать хоть чуть-чуть подумать все эти многочисленные клоны (не менее десятка абсолютно безвестных прошли через меня) совершенно спокойно работают по одной процедуре инициализации вдумчиво написанной в процессе чтения единственного хитачевского мануала. При всём Уважении... Спорить я не буду, у меня то всё работает... Пройдитесь по форумам и посмотрите на количество вопросов по HD44780 "совместимых" индикаторов, что-то не совсем гладко и сладко... И топикстартеру никто толком не ответил... Так киньте ему Ваш универсальный пример, который "совершенно спокойно работает по одной процедуре инициализации вдумчиво написанной в процессе чтения единственного хитачевского мануала."...  А я выделю время, чтобы взять все что у меня есть клоны, сдуть с них пыль и подключить... О результатах доложу...
|
|
|
|
|
Jul 23 2009, 21:00
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(HHIMERA @ Jul 23 2009, 23:41)  Да ну??? Неужели??? А два даташита на HD44780 и KS0066 сравнить слабо??? А как написано в PDF SC1602B, что KS0066 или совместимый - тоже ничего??? Т.е. там может стоять уже не HD44780 и не KS0066, а что-то совместимое... _Совместимое_. Со всеми вытекающими. Цитата А теперь стриптиз... Голые факты...
BTHQ 22005VSS фирмы BATRON
NC1602A-BIW-TSN фирмы NEWTEC
Безымянный ЖКИ 16X1 с какого-то принтера, но с чипом HD44780
У всех трёх разная инициализация!!! Пока никакого "стриптиза" не вижу. PLS, конкретнее, в чем выражается "разная" инициализация ? Последовательность конкретных команд и задержек ? Цитата Отличия не только в задержках, но и в количестве команд (на самом деле, а не по PDF)... И только у последнего, безымянного, полное совпадение с даташитом... В даташите на 44780 указаны диапазоны задержек. И, насколько помню, крайние случаи. Т.е. если выдержать худший вариант - все работает. Ну и фактически - да, работает (уж поработал я с ними изрядно, с самыми разными). Один раз написал инициализацию и копирую ее из проекта в проект, с разными индикаторами - ну ни разу никаких проблем.
|
|
|
|
|
Jul 23 2009, 21:03
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(HHIMERA @ Jul 23 2009, 23:21)  Пройдитесь по форумам и посмотрите на количество вопросов по HD44780 "совместимых" индикаторов, что-то не совсем гладко и сладко... И топикстартеру никто толком не ответил... Да надоело просто даже читать дежурные вопросы  Цитата Так киньте ему Ваш универсальный пример.... В общем-то не жалко и помнится уже выкладывал, только 99,9% вопрошателей рассчитывают на волшебные решения и просто не смогут нормально привязать к железу  и диаграммы с гарантированными таймингами выстроить. Обычно ими вообще не заморачиваются, а там их довольно много гарантированных интервалов от 10ns, 20ns, 60ns, 230ns, 500ns, 1us, 2us. Кстати, сейчас глянул исходники - одно исключение было - Самсунговский клон выставлял бит готовности на 1/2 такта раньше, нежели был реально готов. Пришлось задержку добавить (из расчета на ~270KHz тактовой). Цитата А я выделю время, чтобы взять все что у меня есть клоны, сдуть с них пыль и подключить... О результатах доложу... Клонов и у меня достаточно, а о результатах я доложил.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 25 2009, 18:49
|
Группа: Участник
Сообщений: 14
Регистрация: 2-06-09
Пользователь №: 49 837

|
Товарищ, вот здесь все подробно разжевано - как подключить ЖКИ к pic, как в него потом писать, восьмибитный интерфейс, четырехбитный интерфейс, ... Короче, читай. http://radiohlam.ru
|
|
|
|
|
Jul 27 2009, 05:50
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(SYurev @ Jul 19 2009, 06:42)  К примеру по даташиту для WH1602D адреса начинаются с 0x00 и 0x40. Да. И именно с этих адресов начинаются строки в любом индикаторе на 44780-совместимом контроллере. Цитата(SYurev @ Jul 19 2009, 06:42)  Прописываю их в модели и программе получаю пустой экран. Возвращаю к дефолным модельным 0x80 и 0xC0 - всё работает как прежде... А теперь наконец прочитайте хоть один даташит, ссылками на которые вас тут просто завалили и разберитесь - где с коде 0xC0 адрес (и какой именно), а где - команда установки курсора.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 28 2009, 07:46
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 22-11-06
Из: Пермь
Пользователь №: 22 604

|
Цитата(Сергей Борщ @ Jul 27 2009, 11:50)  Да. И именно с этих адресов начинаются строки в любом индикаторе на 44780-совместимом контроллере.А теперь наконец прочитайте хоть один даташит, ссылками на которые вас тут просто завалили и разберитесь - где с коде 0xC0 адрес (и какой именно), а где - команда установки курсора. В каком коде вы мне предлагаете разобраться уважаемый? Я его сам писал. Цитата(Сергей Борщ @ Jul 27 2009, 11:50)  Да. И именно с этих адресов начинаются строки в любом индикаторе на 44780-совместимом контроллере. Не в любом. Адреса у производителей могут отличаться, к прмеру у хитачевского LM044L, реализованного в протеусе, это 80, c0, 94, d4 Я использую WH2004D-YGH-CT, адреса строк там 00, 40, 14, 54. Для этого в модели адреса доступны для изменения. Впрочем я уже реализовал модель в железе, там с даташитными адресами всё прекрасно работает. Т.е. модель в протеусе игнорирует не дефолтные значения.
Сообщение отредактировал SYurev - Jul 28 2009, 07:48
|
|
|
|
|
Jul 28 2009, 10:31
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(SYurev @ Jul 28 2009, 10:46)  В каком коде вы мне предлагаете разобраться уважаемый? Я его сам писал. В шестнадцатиричном коде 0xC0. Читайте по губам: 0x80, 0xC0 - это не адреса, это команда установки курсора и адрес в одном флаконе. Пока вы этого не поймете - у вас "адреса" будут отличаться.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 28 2009, 11:57
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 22-11-06
Из: Пермь
Пользователь №: 22 604

|
Цитата(Сергей Борщ @ Jul 28 2009, 16:31)  В шестнадцатиричном коде 0xC0. Читайте по губам: 0x80, 0xC0 - это не адреса, это команда установки курсора и адрес в одном флаконе. Пока вы этого не поймете - у вас "адреса" будут отличаться. Вообще то согласно того же даташита, старший бит при передаче адреса - код инструкции, остальные - адрес. Маску 0x80 я накладываю на сформированный адрес после. Покажите мне даташит, где сказано, что адреса строк указаны с учетом инструкции или где в документации на lcdalpha.dll об этом говорится? Вот и получается, что в pdf от winstar адреса указаны честные, без бита инструкции, а в модели должна быть введена инструкция целиком.
|
|
|
|
|
Jul 28 2009, 15:13
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(SYurev @ Jul 28 2009, 14:57)  Покажите мне даташит, где сказано, что адреса строк указаны с учетом инструкции Откройте любой даташит на HD44780 или клон, которых несколько выложено только на этой ветке форума, и в любом из низ написано, что адрес кодируется семью битами. Восьмой бит - код инструкции "установка курсора". А теперь сформируйте команду "установить курсор на начало второй строки" используя адрес 0x40 и "адрес" 0xC0. Что получилось в каждом случае? Цитата(SYurev @ Jul 28 2009, 14:57)  Вот и получается, что в pdf от winstar адреса указаны честные, без бита инструкции, а в модели должна быть введена инструкция целиком. Я понятия не имею что за модель в протеусе, но наверное она управляется подачей сигналов на "входы" индикатора, точно так же, как и реальный индикатор. А реальному индикатору подать отдельно команду, отдельно адрес никак невозможно.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|