Проблемма с отображением символов на LCD
Модератор: koolhatcker
Проблемма с отображением символов на LCD
Нарисовалась такая проблемма (см. фото):
Подключёние 4-х битное к PORTC ATmega32. D4-D7 подключены к PC3-PC0 соответственно, тоисть инверсно...
Пробовал подключать две разные библиотеки LCD - результат тот-же. При стандартном подключении D4-D7 -> PC0-PC3 на отладочной плате - всё работает без проблемм.
Вопросс: может ли такое подключение быть причиной данного глюка? Какие ещё есть соображения?
P.S.: Юзаю AVR-GCC
Подключёние 4-х битное к PORTC ATmega32. D4-D7 подключены к PC3-PC0 соответственно, тоисть инверсно...
Пробовал подключать две разные библиотеки LCD - результат тот-же. При стандартном подключении D4-D7 -> PC0-PC3 на отладочной плате - всё работает без проблемм.
Вопросс: может ли такое подключение быть причиной данного глюка? Какие ещё есть соображения?
P.S.: Юзаю AVR-GCC
-
- Смотрящий
- Сообщения: 1504
- Зарегистрирован: 30 авг 2009, 00:00
- Откуда: Омск
- Контактная информация:
Re: Проблемма с отображением символов на LCD
Естественно. В библиотеке нужно поменять строчки вывода в порт.ChaiSER писал(а):Вопросс: может ли такое подключение быть причиной данного глюка?
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
Re: Проблемма с отображением символов на LCD
Об этом речь?
Или нужно править функции в библиотеке?
Код: Выделить всё
/***************************************************************************/
/* define the LCD connections: */
/***************************************************************************/
#define LCD_D4 SBIT( PORTC, 3 )
#define LCD_DDR_D4 SBIT( DDRC, 3 )
#define LCD_D5 SBIT( PORTC, 2 )
#define LCD_DDR_D5 SBIT( DDRC, 2 )
#define LCD_D6 SBIT( PORTC, 1 )
#define LCD_DDR_D6 SBIT( DDRC, 1 )
#define LCD_D7 SBIT( PORTC, 0 )
#define LCD_DDR_D7 SBIT( DDRC, 0 )
#define LCD_RS SBIT( PORTC, 5 )
#define LCD_DDR_RS SBIT( DDRC, 5 )
#define LCD_E0 SBIT( PORTC, 4 )
#define LCD_DDR_E0 SBIT( DDRC, 4 )
/***************************************************************************/
-
- Смотрящий
- Сообщения: 1504
- Зарегистрирован: 30 авг 2009, 00:00
- Откуда: Омск
- Контактная информация:
Re: Проблемма с отображением символов на LCD
В библиотеке.
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
Re: Проблемма с отображением символов на LCD
koolhatcker, покажите что именно копать, по-возможности. Вот файлы библиотеки:
mydefs.h
lcd_lib.h
lcd_lib.с
mydefs.h
Показать/Спрятать
Показать/Спрятать
Показать/Спрятать
-
- Смотрящий
- Сообщения: 1504
- Зарегистрирован: 30 авг 2009, 00:00
- Откуда: Омск
- Контактная информация:
Re: Проблемма с отображением символов на LCD
static void lcd_nibble( uint8_t d )
{
LCD_D7 = 0; if( d & 1<<7 ) LCD_D7 = 1;
LCD_D6 = 0; if( d & 1<<6 ) LCD_D6 = 1;
LCD_D5 = 0; if( d & 1<<5 ) LCD_D5 = 1;
LCD_D4 = 0; if( d & 1<<4 ) LCD_D4 = 1;
LCD_E0 = 1;
_delay_us( LCD_TIME_ENA );
LCD_E0 = 0;
}
Как минимум это.
Если юзаете avr-gcc, то там есть в комплекте библиотека аналогичного назначения.
Её и поправить легче...
{
LCD_D7 = 0; if( d & 1<<7 ) LCD_D7 = 1;
LCD_D6 = 0; if( d & 1<<6 ) LCD_D6 = 1;
LCD_D5 = 0; if( d & 1<<5 ) LCD_D5 = 1;
LCD_D4 = 0; if( d & 1<<4 ) LCD_D4 = 1;
LCD_E0 = 1;
_delay_us( LCD_TIME_ENA );
LCD_E0 = 0;
}
Как минимум это.
Если юзаете avr-gcc, то там есть в комплекте библиотека аналогичного назначения.
Её и поправить легче...
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
-
- Смотрящий
- Сообщения: 1504
- Зарегистрирован: 30 авг 2009, 00:00
- Откуда: Омск
- Контактная информация:
Re: Проблемма с отображением символов на LCD
ChaiSER, в чём именно проблема?
Можно четко и по пунктам? Без шарад и метафор.
Можно четко и по пунктам? Без шарад и метафор.
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
Re: Проблемма с отображением символов на LCD
Николай, проблемма, собственно, на фото не правильно отображаються 13-16 столбцы LCD. Я грешил на проблемы библиотеки из-за инверсного подключения дата шины D4-D7, но когда вывел дисплей на макетку и подключил не инверсно, а стандартно (D4-D7 -> PC0-PC3) - отображение на LCD осталось прежним. Тоисть, проблемма ИМХО не в библиотеке.
Сейчас подумал... у меня в девайсе есть модуль для подключения CD-карты, но он пока не исспользуеться и инициализацию не писал в коде... Возможно в этом причина?
Сейчас подумал... у меня в девайсе есть модуль для подключения CD-карты, но он пока не исспользуеться и инициализацию не писал в коде... Возможно в этом причина?
-
- Смотрящий
- Сообщения: 1504
- Зарегистрирован: 30 авг 2009, 00:00
- Откуда: Омск
- Контактная информация:
Re: Проблемма с отображением символов на LCD
Не думаю. Если индикатор инициализируется и отображает символы, значит он подключен правильно.
Больше похоже на дохлый индикатор. Кстати, какая у него маркировка(полностью)?
Больше похоже на дохлый индикатор. Кстати, какая у него маркировка(полностью)?
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
Re: Проблемма с отображением символов на LCD
Вот фото LCD:
Здесь даташит: Скачать файл mc1602c-syr.pdf (549.49 kB)
PS: сорцы бросил на мыло.
---
Подключил дисплей к отладочной плате на ATmega8 - проблемма осталась прежней...
Из чего делаю вывод - проблемма именно в LCD.
Здесь даташит: Скачать файл mc1602c-syr.pdf (549.49 kB)
PS: сорцы бросил на мыло.
---
Подключил дисплей к отладочной плате на ATmega8 - проблемма осталась прежней...
Из чего делаю вывод - проблемма именно в LCD.
-
- Станкостроитель
- Сообщения: 532
- Зарегистрирован: 20 янв 2010, 01:00
- Имя: Андрей
- Откуда: Украина.Г.Носовка
Re: Проблемма с отображением символов на LCD
У меня много таких LCD ,тыкаю куда попало так попался именно с такой проблемой,решилось заменой индикатора.Видать убили или статикой или напряжением.