![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
goodking |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
Не могу разобратся с LCD, постоянно горит только верхняя строка, которая при запуске программы слегка гаснет, и больше никаких изменений
![]()
Это сообщение отредактировал(а) goodking - 19.11.2009, 14:42 |
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
Без описания дисплея (а в данном случае, судя по коду - контроллера дисплея) понять трудно. Но очень похоже, что не проходит инициализация. Горящая верхняя строка как правило означает, что контроллер не получил нужную инициализацию. -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
goodking |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
Микроконтроллер SiLabs C8051F120, индикатор PYC1602AHW-SYL вот ссылка на данные по ЖКИ http://zefiryn.tme.pl/dok/a06/pyc1602a-series-1.pdf, то-есть из-за неправильной инициализации он вообще никак не реагирует?? Это сообщение отредактировал(а) goodking - 19.11.2009, 14:40 |
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
ИМХО, да. Попробуйте вместо фиксированной задержки между командами ожидать влаг busy. В моем случае это помогло. -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
goodking |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
Я попробовал вот так, как Вы посоветовали
но программа почему-то не выходит из while |
||||||
|
|||||||
goodking |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
И еще вопрос- правильно-ли при программировании ЖКИ устанавливать порты в режим push-pull?
|
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
Значит, берем в зубы осциллограф и смотрим, что происходит на этой ноге. (да и на остальных тоже). Извиняюсь, что сразу не ответил - неделю отсутствовал. -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
Eleman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.11.2009 Где: Россия , Тверь Репутация: нет Всего: нет |
Привет !! Если система команд совместима с HD44780 инициализируй :
WriteNibble(0x33); WriteNibble(0x33); WriteNibble(0x33); WriteNibble(0x22); WriteByte(0xef); WriteByte(0x01); WriteByte(0x10); WriteByte(0x06); WriteByte(0x0C); так инициализирована одна строка WriteNibble(0x33); WriteNibble(0x33); WriteNibble(0x33); WriteNibble(0x22); WriteByte(0xef); WriteByte(0x01); WriteByte(0x10); WriteByte(0x06); WriteByte(0x0C); WriteByte(0x28); так обе Добавлено через 4 минуты и 18 секунд кстати в документации так и написано . |
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
Посмотрел свой код, у меня действительно задержка делается на опросе флага, но это уже ПОСЛЕ тройной инициализации (именно тройной),причем у меня между первой и второй инициализацией задержка порядка 100 мс, а между втророй и третьей - 300. Как и почему их подбирал - не помню. В самой инициализации стоит принудительная задержка 100 мс.
Почему именно тройная инициализация нужна, тоже не помню, но Eleman дело говорит. Прикладываю файлик из рабочего проекта, в упор не помню, какой там был контроллер дисплея, но по командам очень похожий на Ваш. Это примерчик из отладочной платы Embedded Artist для процессора lpc2148, немного мною переработанный (переработана как раз инициализация и задержка по флагу). Это сообщение отредактировал(а) Dreamer_0x01 - 1.12.2009, 11:47 Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
goodking |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
Eleman,
Dreamer_0x01, Спасибо!! Проблема именно с инициализацией, сейчас разбираюсь! Еще такой вопрос: хватает ли напряжения на портах для работы логики ЖКИ, или нужно подключать подтягивающие резисторы? |
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
У меня хватает, выводы процессора связаны с выводами контроллера ЖКИ почти напрямую (почти, потому что их можно отключать джамперами). (Кроме вывода, отвечающего за работу подсветки, там включение через транзисторный ключ.) -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
goodking |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
Значит не проходит init
Вот написал, с учетом Ваших советов, все-равно не проходит
|
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
Осциллографом в ножки процессора тыкали? Сигналы точно идут от процессора к контролру дисплея?
-------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 1 Всего: 12 |
Так, посмотрел внимательно на ваш код и даташит. Вообще все не так, как в указанном мною случае.
Пробуем Переписать функцию так:
-------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
goodking |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 15.10.2009 Репутация: нет Всего: нет |
Спасибо большое, получилось
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |