реклама на сайте
подробности

 
 
> HD44780
_Макс
сообщение Jun 8 2010, 22:07
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



После подачи трех посылок 0x30 в 8ми битном режиме по четырем проводам, без проверки BF с выдержкой пауз, BF=1. Что делать? Программа работает правильно, проверено пошагово в отладчике + мультиметр, к сожалению логического анализатора нет.

Сообщение отредактировал _Макс - Jun 8 2010, 22:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Макс
сообщение Jun 13 2010, 16:58
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Нашел ошибку, данные читаютcя по фронту, а пишутся по спаду. Переделал processIO(), так еще проще получилось. Теперь читается всегда 0x00 и даже после записи нового значения AC командой 0x88 sad.gif я уж не говорю о том, что ничего не светиться.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 13 2010, 22:42
Сообщение #3


Гуру
******

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



Цитата(_Макс @ Jun 13 2010, 19:58) *
я уж не говорю о том, что ничего не светиться.
То есть при подаче питания на дисплей без запуска программы вы на нем ничего не наблюдаете? Тогда вам надо разбираться со входом напряжения контраста. После подачи напряжения и до инициализации вы должны наблюдать закрашенные знакоместа в первой строке.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
_Макс
сообщение Jun 14 2010, 08:31
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(Сергей Борщ @ Jun 14 2010, 01:42) *
То есть при подаче питания на дисплей без запуска программы вы на нем ничего не наблюдаете? Тогда вам надо разбираться со входом напряжения контраста. После подачи напряжения и до инициализации вы должны наблюдать закрашенные знакоместа в первой строке.

Правда? У меня только подсветка светится и чуть-чуть виднеются знакоместа как и в любом LCD. Правда ли что для LCD с расширенным диапазоном напряжение контраста должно быть отрицательным?
Но соль еще и в другом, как я уже писал, даже после присвоения командой 0x88 нового адреса, все равно AC-BF = 0x00 sad.gif значит таки не проходит инициализация полностью.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 14 2010, 09:47
Сообщение #5


Гуру
******

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



Цитата(_Макс @ Jun 14 2010, 11:31) *
Правда? У меня только подсветка светится и чуть-чуть виднеются знакоместа как и в любом LCD.
Зуб даю! biggrin.gif Добейтесь сочного свечения первой строки. Для этого достаточно трех выводов - питания, земли и Vo.
Цитата(_Макс @ Jun 14 2010, 11:31) *
Правда ли что для LCD с расширенным диапазоном напряжение контраста должно быть отрицательным?
Напряжение контраста измеряется отностительно положительного вывода питания. Его диапазон указан в даташите. Лет 10 назад, для дисплеев с расширенным диапазоном, оно было меньше -5в, поэтому при 5в питании контроллера относительно земляного вывода напряжение контраста получалось отрицательным. Каков его диапазон у современных дисплеев - не следил. При 3в питании контроллера напряжение контраста будет отрицательным относительно земли и для дисплеев с обычным диапазоном.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
_Макс
сообщение Jun 14 2010, 12:45
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 691
Регистрация: 24-05-07
Пользователь №: 27 945



Цитата(Сергей Борщ @ Jun 14 2010, 12:47) *
Зуб даю! biggrin.gif Добейтесь сочного свечения первой строки. Для этого достаточно трех выводов - питания, земли и Vo.Напряжение контраста измеряется отностительно положительного вывода питания. Его диапазон указан в даташите. Лет 10 назад, для дисплеев с расширенным диапазоном, оно было меньше -5в, поэтому при 5в питании контроллера относительно земляного вывода напряжение контраста получалось отрицательным. Каков его диапазон у современных дисплеев - не следил. При 3в питании контроллера напряжение контраста будет отрицательным относительно земли и для дисплеев с обычным диапазоном.

Вы гений! a14.gif Заработало! 08.gif
Действительно потенциометр контраста стоял в крайнем верхнем положении и от области видимости был очень далек.
Теперь проблема другая, при выводе символов в которых во младшей тетраде 7 либо F, BF_AC становится равным 0xAA. Как я понимаю дело в трех единичках, когда они под ряд стоят, но как это связано с контроллером или программной ума не приложу, ковыряю дальше.

Очень странно, переписал processIO() по тому как говорил Genadi Zawidowski и как написано на gaw.ru и все стало отображаться правильно. Выходит действительно, выводить данные на запись нужно перед стробом, в даташитах ошибка. Если кто выводил данные на запись перед спуском E, пожалуйста отзовитесь.

Сообщение отредактировал _Макс - Jun 14 2010, 11:55
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Макс   HD44780   Jun 8 2010, 22:07
- - Genadi Zawidowski   Кодstatic void ws1602_wrcmd_nowait( uint_fast...   Jun 9 2010, 07:30
|- - _Макс   Цитата(Genadi Zawidowski @ Jun 9 2010, 10...   Jun 9 2010, 09:03
- - Genadi Zawidowski   Два ниббла - означает, что чтение статуса по четыр...   Jun 9 2010, 10:28
- - _Макс   Взял последовательность инициализации из даташита ...   Jun 13 2010, 13:22
- - Genadi Zawidowski   _Макс, выложите сюда Ваш даташит на контроллер. Оч...   Jun 13 2010, 13:32
- - _Макс   Спасибо, но я не могу выкладывать программу в публ...   Jun 13 2010, 13:51
|- - zltigo   Цитата(_Макс @ Jun 13 2010, 15:51) Спасиб...   Jun 13 2010, 14:04
|- - _Макс   Цитата(zltigo @ Jun 13 2010, 17:04) Ой, а...   Jun 13 2010, 14:06
|- - zltigo   Цитата(_Макс @ Jun 13 2010, 16:06) Поиско...   Jun 13 2010, 14:35
- - Genadi Zawidowski   Что с питанием дисплея (3.3 или 5) - по даташтту л...   Jun 13 2010, 14:13
|- - _Макс   Цитата(Genadi Zawidowski @ Jun 13 2010, 17...   Jun 13 2010, 14:34
- - _Макс   Рискну. Исходники в приложении. Спасибо!   Jun 13 2010, 14:59
- - Genadi Zawidowski   Да, насчёт чтения BF в четырёхбитном режиме в самс...   Jun 13 2010, 15:00
|- - _Макс   Цитата(Genadi Zawidowski @ Jun 13 2010, 18...   Jun 13 2010, 15:03
- - Genadi Zawidowski   Смотрю... Не уверен, что task.data очищается перед...   Jun 13 2010, 15:13
- - _Макс   task.data = 0; очищается при возврате из processTa...   Jun 13 2010, 15:43
|- - Genadi Zawidowski   Цитата(_Макс @ Jun 13 2010, 20:58) Нашел ...   Jun 13 2010, 17:02
||- - _Макс   Цитата(Genadi Zawidowski @ Jun 13 2010, 20...   Jun 13 2010, 17:52
|- - zltigo   Цитата(_Макс @ Jun 14 2010, 14:45) Вы ген...   Jun 14 2010, 13:16
- - Genadi Zawidowski   В этом Вы правы... но я так не пробовал. Есть воп...   Jun 13 2010, 19:34


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 01:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01886 секунд с 7
ELECTRONIX ©2004-2016