Ну тогда хотя бы прочти что-нибудь про LCD, там же русским языком написано прежде чем использовать индикатор его надо ИНИЦИАЛИЗИРОВАТЬ, а где у тебя процедура инициализации?
как я понимаю - инициализация - это предварительная подготовка индикатора для работы - это и задание курсоров, и задание всяких режимов работы этого индикатора. Инициализация:
Цитата:
Я не могу добить эту табличку!!! Как организовывать инициализацию? я понял, какие 1 определяют команды, адресуемые по IR... НО!!! ВСю ли табличку надо переписывать? как надо правильно делать? Я не могу понять, сначала надо вывести 1 строчку этой таблицы, подождать, затем вторую строчку, затем подождать, затем третью и т.д. или можжно сразу вывести? одним байтом?
Вобщем, правильно быглядит инициализация: 00000001 - очищаем дисплей, адрес ДДрам на 0. вторую строчку таблицы пропускаем. ждем (задержка) 00000110 - при последующем байте сдвинуть адрес ддрам на 1 позицию (инкремент). задержка 00001000 - выключил дислпей, никаких курсоров. задержка 00010100 - смещаем курсор, вправо. задержка 00111000 - 8 разрядная шина данных, 2 строки, 5*8т разрешение матрицы перед всем этим я ставил E в 1, теперь сбразываю ее в 0 и все, можно переходить на RS=1.
_________________ Не умеешь - не берись, но не взявшись не научишься...
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
Ну надо же!
Stalker46 установил новые правила инициализации LCD!
Я ПАЦТАЛОМ...
Может всет-таки стоит умных книжек почитать, там же черным по белому написано...
я другие книжки по этому поводу читал. как понял так и глаголю. и не смешно, поставь себя в мое положение))) т.е. сначала надо
1. включить питание, затем ждать не менее 2мс.
2. Установить разрядность интерфейса, затем ждать не менее 40мкс.
3. Установить разрядность интерфейса, затем ждать не менее 40мкс.
4. Установить разрядность интерфейса, затем ждать не менее 40мкс.
5. Добавляем к разрядности размер матрицы, колчичество строк, ждем не менее 40мкс.
6. Выключаем дисплей, ждем не менее 40мкс.
7. Очищаем дисплей, счетчик на 0.
8. Установить направление сдвига курсора.
А можно ли первые 4 пункта выполнять в первую очередь, а все другие вразнаброс?
_________________ Не умеешь - не берись, но не взявшись не научишься...
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
Не правла ли - ну совсем не то что у тебя
зы: только первая пауза 20 мс.
во всех книжках написано одно и тоже - сначала инициализация, потом юзай скоко надо. и процедура везде одна, могут только временные интервалы отличаться.
_________________ Чем дальше, тем больше становлюсь занудой...
А, ну, да...
А что делать с передачей данных? как там время разбросано?
Есть такая же табличка для ввода данных на озу видеопамяти?
И еще, когда, уже сформировали надпись, все готово... а у нас в настройках, в регистре команд D=0, что означает, что дисплей выключен. Что делать? Опять RS переключать в 0, и перенастраивать инициализация полностью (т.е. сначала, как писал я в прошлом посте), или просто записать 00001100 - теперь дисплей включен...
_________________ Не умеешь - не берись, но не взявшись не научишься...
_________________ Научить нельзя, можно научиться. Пифагор. Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Я добавил комментарии - отредактировав сообщение? вроде бы все понятно.
Это подпрограмма отвечающая за инициализацию и вывод информации на индикатор.
Изучив даташиты на индикаторы пришел к выводу что они практически ничем не отличаются.
Теперь я вообще ничего не понимаю. Пробовал полностью переделовать программу инициализации, вообще никакой реакции. Даже в таком виде импортная матрица работает замечательно:
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения