Страница 1 из 1
Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 14:56:53
divisоr
Здравствуйте.
Пытаюсь подключить LCD HD44780 к ATmega8, нашел урок с исходником и иллюстрацией подключения:
там код:
Код: Выделить всё
lcd_goto(0,0);
lcd_puts("mainloop.ru/avr-" );
lcd_goto(0,1);
lcd_puts("atmega/lcd.html" );
а на экране:
попробовал вывести алфавит и символы:
Код: Выделить всё
lcd_goto(0,0);
lcd_puts("abcdefghijklmnop" );
lcd_goto(0,1);
lcd_puts("q1r2s3t4u5v6w7x8" );
получил:
Подскажите, с чем это может быть связано?
Строка "abcdefghijklmnop" выводится как " ijklmnoh". Нет первых 8-ми символов, и вместо последнего "p" почему-то "h".
Проблема в моем случае решилась благодаря совету
mrFox.
Re: Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 15:36:20
Z_h_e
В используемой Вами библиотеке наверное нужно установить 4 или 8 битный режим

. Может не тот стоит? Обычно ноги экономят и пользуются 4х битным.
Re: Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 15:48:10
divisоr
Z_h_e, в уроке используется подключение по 8-ми проводам, я подключал так же. Код взял из исходника. У них работает, у меня почему-то нет
Добавлю весь проект, который я компилирую в WinAVR, и после записываю получившийся main.hex в микроконтроллер.
Добавлено after 8 minutes 20 seconds:
Попробовал подключить RW дисплея к земле, вместо PC1, так как используется режим записи. Появился какой-то иероглиф на месте первого символа, а так, результат не изменился:
Что же он не показывает нужный текст?

Re: Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 21:16:44
mas123
divisоr писал(а):Что же он не показывает нужный текст?

Что-то функция инициализации слишком "простая". Впрочем, с 8-ми битным режимом не работал никогда, всегда 4 бита, а там чуть побольше хитрости надо.
Вот что меня насторожило - на схеме вообще нет кварца, на какой частоте контроллер работает?
Ибо этот LCD кое-где требователен к временным диаграммам.
И второе - точно ли используется такой же LCD, как "у них"?
Сейчас есть практически полный аналог HD44780, совместим по ногам. Только на OLED, ему уже не нужна подсветка и светится красивым желтым цветом.
И у них несколько различаются временные диаграммы, особенно в инициализации.
Re: Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 22:09:59
divisоr
mas123, спасибо за ответ.
Внешнего кварца нет, а он обязательно нужен? Выставил F_CPU 8000000UL.
Вот экран (переделал ссылку для модераторов)
https://ru.aliexpress[точка]com/item/1PCS-LCD1602-1602-module-green-screen-16x2-Character-LCD-Display-Module-1602-5V-green-screen-and/32511014601.html
По идее, это обычный экран HD44780, или я не прав?
Re: Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 22:39:18
mrFox
divisоr писал(а):
Внешнего кварца нет, а он обязательно нужен? Выставил F_CPU 8000000UL.
а фузы правильно выставили - а то по-умолчанию у 8 меги 1МГц
Re: Подключение LCD HD44780 к ATmega8
Добавлено: Вт дек 13, 2016 23:43:44
divisоr
mrFox, огромнейшее спасибо! Взял другой микроконтроллер, у него действительно частота 1МГц стояла во Fuse-битах.
В общем, проблема из-за невнимательности.
Большое спасибо всем, кто ответил
