AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
17.06.2016, 18:04
|
|
Частый гость
Регистрация: 16.05.2016
Адрес: Москва
Сообщений: 35
Сказал спасибо: 6
Сказали Спасибо 1 раз в 1 сообщении
|
Дисплей HD44780 и Atmega16
Написал код для вывода текста на дисплей HD44780 через мегу16 и все работало и строки выводил пока не отключил питание (а именно выдернул USB из ноута) При следующем включении на дисплее загорается только одна строка, хотя инициализирую две и все больше ничего. Дисплей никак не реагирует и ничего не выводит. Выставлял все единички на линиях управления и данных, мультиметром мерил напряжение есть 4,05В т.е. сигнал до дисплея доходит. Как его можно завести, или он сгорел и как это понять?
|
|
|
|
17.06.2016, 18:31
|
|
Прописка
Регистрация: 05.12.2008
Адрес: Россия, Омск
Сообщений: 145
Сказал спасибо: 39
Сказали Спасибо 29 раз(а) в 22 сообщении(ях)
|
Re: Дисплей HD44780 и Atmega16
Сообщение от Kopranych
|
Написал код для вывода текста на дисплей HD44780 через мегу16 и все работало и строки выводил пока не отключил питание (а именно выдернул USB из ноута) При следующем включении на дисплее загорается только одна строка, хотя инициализирую две и все больше ничего. Дисплей никак не реагирует и ничего не выводит. Выставлял все единички на линиях управления и данных, мультиметром мерил напряжение есть 4,05В т.е. сигнал до дисплея доходит. Как его можно завести, или он сгорел и как это понять?
|
Одна строка - признак того, что дисплей не инициализирован.
Проверяйте ещё раз код, соединения (особенно).
|
|
|
|
17.06.2016, 18:38
|
|
Прописка
Регистрация: 19.02.2008
Адрес: г. Иркутск
Сообщений: 277
Сказал спасибо: 218
Сказали Спасибо 171 раз(а) в 79 сообщении(ях)
|
Re: Дисплей HD44780 и Atmega16
У этих дисплеев от небольшой деформации жк экран отходит, при этом могут отойти контакты как одной строки так и полностью индикация потеряться.
|
|
|
|
17.06.2016, 18:50
|
|
Частый гость
Регистрация: 16.05.2016
Адрес: Москва
Сообщений: 35
Сказал спасибо: 6
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Дисплей HD44780 и Atmega16
Сообщение от -Alan-
|
Одна строка - признак того, что дисплей не инициализирован.
Проверяйте ещё раз код, соединения (особенно).
|
Код выводил строку все работало до отключения питания
|
|
|
|
17.06.2016, 18:53
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Дисплей HD44780 и Atmega16
Нужно разрядить конденсаторы питания после снятия питания (замкнуть + и -), чтобы дисплей полностью отключился. Контроллер дисплея работает даже при 2,5 В, когда дисплей погашен.
А вообще, немного неправильно прописана инициализация, потому повторный старт при включенном питании вызывает непонятки.
|
|
|
|
17.06.2016, 18:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
|
Re: Дисплей HD44780 и Atmega16
Сообщение от Kopranych
|
есть 4,05В т.е. сигнал до дисплея доходит
|
BOD level запрограммирован? WDT? до православных 5в поднять питание нет сил? что осциллограф показывает?
|
|
|
|
17.06.2016, 19:08
|
|
Частый гость
Регистрация: 16.05.2016
Адрес: Москва
Сообщений: 35
Сказал спасибо: 6
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Дисплей HD44780 и Atmega16
Сообщение от NewWriter
|
Нужно разрядить конденсаторы питания после снятия питания (замкнуть + и -), чтобы дисплей полностью отключился. Контроллер дисплея работает даже при 2,5 В, когда дисплей погашен.
А вообще, немного неправильно прописана инициализация, потому повторный старт при включенном питании вызывает непонятки.
|
Вот моя инициализация, как же написать инициализацию чтоб все работало без разрядки конденсаторов?
Код:
|
void LCD_init()
{
_delay_ms(40);//
DDR_DATA |= 0xF0;//
PORT_DATA |= 0xF0;//
DDR_SIG |= (ON‹‹E)|(ON‹‹RW)|(ON‹‹RS);//
PORT_SIG |= (ON‹‹E)|(ON‹‹RW)|(ON‹‹RS);//
// _delay_ms(40);
LCD_write(0ч28,RS_COM);//2 линии данных, 4 бита шина
LCD_write(0x01,RS_COM);//
LCD_write(0x06,RS_COM);//
LCD_write(0x06,RS_COM);//
LCD_write(0x0C,RS_COM);//
} |
|
|
|
Сказали "Спасибо" Kopranych
|
|
|
17.06.2016, 19:10
|
|
Частый гость
Регистрация: 16.05.2016
Адрес: Москва
Сообщений: 35
Сказал спасибо: 6
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Дисплей HD44780 и Atmega16
Сообщение от jump
|
BOD level запрограммирован? WDT? до православных 5в поднять питание нет сил? что осциллограф показывает?
|
К сожалению осциллографа нет в запасе только мультиметр, а как поднять до 5В?
|
|
|
|
17.06.2016, 20:01
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Дисплей HD44780 и Atmega16
Плохая инициализация. Первая команда должна трижды передаваться. В мануалах на контроллер дисплея описана инициализация - https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
К тому же, нидайбох подашь 1 на линию RW - дисплей перейдет в режим передачи на выходы дисплея и че-нить может попалить. Косвенно подтверждается низким напряжением - 4 В вместо 5. Отсоедини дисплей и проверь напряж. без него. И вообще линию RW можно не использовать в работе, соединив ее с GND. А интервалы времени - по таймеру
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
17.06.2016, 22:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 14.11.2008
Адрес: Литва
Сообщений: 1,924
Сказал спасибо: 546
Сказали Спасибо 1,837 раз(а) в 829 сообщении(ях)
|
Re: Дисплей HD44780 и Atmega16
Сообщение от Kopranych
|
Написал код для вывода текста на дисплей HD44780 через мегу16 и все работало и строки выводил пока не отключил питание (а именно выдернул USB из ноута) При следующем включении на дисплее загорается только одна строка, хотя инициализирую две и все больше ничего. Дисплей никак не реагирует и ничего не выводит.
|
Контроллер дисплея чуть "тормознутей" контроллера AtMega. При одновременной подаче питания на контроллер и дисплей атмега может подать сигнал инициализации дисплея на ещё "не подготовленный" дисплей.
В самом начале программы атмеги первой командой задай задержку миллисекунд на 100.
У меня такое было когда не хотел запускаться дисплей после подачи питания на схему, хотя всё в схеме работало.
|
|
|
Сказали "Спасибо" Shahabbas
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:25.
|
|