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

 
 
> Инициализация LCD, Возможно ли повторно инициализировать LCD в работающей программе?
IF_P
сообщение Feb 12 2008, 20:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 2-01-06
Пользователь №: 12 772



Контроллер на 51 процессоре. Использую LCD Bolymin BC-2004 или аналог МТС-S20400. Иногда происходит сбой LCD ("абракодабра").Восстановление информации только после Reset CPU. Пробовал в программе ввести повторную инициализацию LCD. Получил две черных строчки на экране. Если при старте программы два раза подряд вызвать программу Lcdinit получается аналогичная ситуация. Кто что может посоветовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Feb 12 2008, 20:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Для реинициализации символьных LCD при зависаниях и сбоях лучше сразу предусмотреть ключ в питании LCD. Потому, что "защелкивание" только снятием/подачей питания "лечится".
Реинициализировать же чисто программно тоже можно. По крайней мере можно попробовать wink.gif
Процедуру реинициализации нужно начинать с программирования ширины шины данных. Трижды передать код 0x30, а на четвертый раз 0x38 для 8-ми битной шины или 0x28 для 4-битной шины (младший нибл я указал 8 для случая, если используется двух-/четырех-строчный дисплей и фонт 5*8) . Причем в случае использования 4-х битного подключения код 0x30 передавать не ниблами (0x3, 0x0, 0x3, 0x0, 0x3, 0x0) как ожидалось бы, а как для 8-ми битного режима. (0x3, 0x3, 0x3). Передавать код инициализации нужно конечно же с учетом сдвига, если используются не самые младшие пины порта МК.
Go to the top of the page
 
+Quote Post



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

 


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


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