Работа с ЖКИ на контроллере HD44780 и его аналогах
- Albert_V
- Друг Кота
- Сообщения: 4119
- Зарегистрирован: Чт сен 12, 2013 00:54:12
- Откуда: ЗаМКАДье. Там, где ЦУП
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Прошу Модератора "вынести в шапку темы" строку: После INIT-а надо дать команду "включить индикатор"
С Уважением, Альберт (Albert_V).
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
а я бы попросил вас либо быть внимательнее, либо пользоваться готовыми решениями, коих больше, чем требуется.Albert_V писал(а):Прошу Модератора "вынести в шапку темы" строку: После INIT-а надо дать команду "включить индикатор"
Последний раз редактировалось ARV Вс фев 22, 2015 07:02:15, всего редактировалось 1 раз.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Купил на ибее....... Дисплей 1602А контроллер SPLC780D. Методы инициализации для HD44780 тут не работают. Что только не пробовал
Может кто имел дело с дисплеями на данном контроллере.
"Подключал к меге16"
Может кто имел дело с дисплеями на данном контроллере.
"Подключал к меге16"
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
А зачем вы покупали то, что заведомо не сможете подключить?ТОХЫЧ писал(а):Купил на ибее.......
А может вы не правильно его инициализировали?ТОХЫЧ писал(а):Методы инициализации для HD44780 тут не работают.
Ну судя по даташиту это тоже самое, что и в этой теме. Т.е. запустить его просто. Для чего следует внимательно почитать эту тему. Я когда свой первый раз запускал похожий дисплей прочитал все страницы, потом начал задавать вопросы.ТОХЫЧ писал(а):SPLC780D
А вы могли бы перечислить подробно, что испробовали? И фотки показать, как подключали.
З.Ы. Вот даташит: http://www.hebeiltd.com.cn/lcm.datashee ... 80D_DS.pdf
http://caxapa.ru/120373.html
Станислав
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Давайте не будем...А зачем вы покупали то, что заведомо не сможете подключить?
Собственно это и есть суть вопроса.А может вы не правильно его инициализировали?
Даташит прочтен от корки до корки. Подключал как по 4 так и по 8. Задержки выставлял в точности с указанными в даташите.
Для начала хочу уточнить какой кварц нужен для работы микроконтроллера с данным дисплеем и нужен ли он вообще.
P.S. код чуть попозже.
- Реклама
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Кварц на ваше усмотрение. Просто для формирования задержек при инициализации надо будет вычислить время в зависимости от частоты тактирования.
Задержки можно делать больше, чем указано в даташите.
С Протеусом вообще рекомендую связываться в самом крайнем случае. Т.к. в нем бывает и работает все, а на деле в железе будут одни ошибки. Протеус-Зло.
И проверьте на каком порту сидит дисплей в Меге16, иногда забывают отключать ДЖИТАГ, который у нее по умолчанию всегда включен.
А изначально, подключите питание к дисплею и потенциометр на контрастность. Попробуйте без всяких МК просто настроить контраст, чтобы было слегка видно закрашенные квадратики в верхней строке. А уже после этого мучить МК, чтобы наконец-то что-то показывать стало. ))))
Примерно так пока.
На каком языке хоть код???
Задержки можно делать больше, чем указано в даташите.
С Протеусом вообще рекомендую связываться в самом крайнем случае. Т.к. в нем бывает и работает все, а на деле в железе будут одни ошибки. Протеус-Зло.
И проверьте на каком порту сидит дисплей в Меге16, иногда забывают отключать ДЖИТАГ, который у нее по умолчанию всегда включен.
А изначально, подключите питание к дисплею и потенциометр на контрастность. Попробуйте без всяких МК просто настроить контраст, чтобы было слегка видно закрашенные квадратики в верхней строке. А уже после этого мучить МК, чтобы наконец-то что-то показывать стало. ))))
Примерно так пока.
На каком языке хоть код???
Станислав
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
добавляйте "по моему мнению", ибо это очень-очень-очень предвзятое утверждение.СКАЗОЧНИК писал(а):Протеус-Зло.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
... и по мнению еще очень многих )
Ситуация, согласитесь, отнюдь не в пользу этого самого протеуса.
Был написан некий код для HD44780. Который, вроде бы, работал в симуляторе. Но не проверялся в железе.
Теперь куплен ЖКИ на полном аналоге этого контроллера, но с ранее писанным кодом, который, повторюсь, НЕ проверялся в железе, он не работает.
Ну и кто из них ?..
Ситуация, согласитесь, отнюдь не в пользу этого самого протеуса.
Был написан некий код для HD44780. Который, вроде бы, работал в симуляторе. Но не проверялся в железе.
Теперь куплен ЖКИ на полном аналоге этого контроллера, но с ранее писанным кодом, который, повторюсь, НЕ проверялся в железе, он не работает.
Ну и кто из них ?..
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Мало инфы. Схема подключения, код?ТОХЫЧ писал(а):Дисплей 1602А контроллер SPLC780D.
Может, у вас тупо не хватает напряжения для контрастности.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
вы знаете, сколько людей в год погибает от ран, нанесенных умышленно или по неосторожности отверткой? так что, следует признать, что отвертка - зло?abc писал(а):... и по мнению еще очень многих )
Ситуация, согласитесь, отнюдь не в пользу этого самого протеуса.
протеус - это инструмент, и очень хороший инструмент! со своими функциями он справляется если не на отлично, то на сверхтвердую четверку с плюсом, имхо. если кто не умеет использовать этот инструмент, или паче чаяния надеется, что профессиональный инструмент из любого ламера сделает Билла Гейтса - это его проблемы, а не проблемы инструмента
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Код: Выделить всё
#define F_CPU 8000000UL// Внутренний генератор
#include <avr/io.h>
#include <util/delay.h>
// Подключение: К портуВ
// RS-B0, RW-GND, E-B1, D4-B4, D5-B5, D6-B6, D7-B7
#define PORTLC PORTB // Порт подключения к ЖКИ
#define DDRLC DDRB // Определяем направленность вход/выхода порта
#define poryd 0b11110011// Определяем подключенные ножки порта к ЖКИ
#define E PB1 // Нога подключенная для передачи строба подтверждения передачи данных
#define RS PB0 // Нога для (команда или данные) передачи данных
#define E1 PORTLC |= _BV (E); // E=1
#define E0 PORTLC &= ~_BV (E); // E=0
#define RS1 PORTLC |= _BV (RS); //RS=1
#define RS0 PORTLC &= ~_BV (RS); //RS=0
void command_lcd (unsigned char cmd)
{
PORTLC = (cmd & 0xF0); // Передаем старший полубайт *1111 0000
RS0; // Для передачи комманды
E1; // Подтверждение передачи данных
_delay_us (2); // Небольшая задержки для обработки команды контроллером ЖКИ
E0; // Окончание импульса строба
PORTLC = ((cmd & 0x0F) << 4); // Передаем младший полубайт * 0000 1111
RS0;
E1;
_delay_us (2);
E0;
_delay_us (2);
}
void Initialization (void) // Определяем функцию инициализации //
{
DDRLC = poryd; // подключенные к жки устанавливаем в 1- выходы, два не использующихся оставляем как входы
PORTLC = 0x00; // устанавливаем на выходах 0, где по условию RS and RW также должны быть = 0.
_delay_ms (20); // Wait time > 15 ms
command_lcd (0x30); // 0011 0000 rw=0, rs=0
_delay_ms (5); // Wait time > 4.1 ms
command_lcd (0x30); // 0011 0000 rw=0, rs=0
_delay_us (120); // Wait time > 100 us
command_lcd (0x30); // 0011 0000 rw=0, rs=0
command_lcd (0x20); // 0010 0000 rw=0, rs=0
command_lcd (0x20); // 0010 0000 rw=0, rs=0
command_lcd (0xc0); // 1100 0000 rw=0, rs=0
command_lcd (0x10); // 0001 0000 rw=0, rs=0 Display clear
command_lcd (0x60); // 0110 0000 rw=0, rs=0 Entry mode set
}
...........
int main(void)
{
Initialization ();
InstallationCursor (4, 2);
_delay_us (50);
PrintString ("Hello" );
}
Не полный аналог.Теперь куплен ЖКИ на полном аналоге этого контроллера
Последний раз редактировалось ТОХЫЧ Пн мар 30, 2015 10:42:55, всего редактировалось 1 раз.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
ТОХЫЧ, повторюсь: напряжение питания? При выкручивании контраста на максимум закрашенные квадратики появляются?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Да с контрастом все ок. При включении верхняя строка заполняется квадратами.Gudd-Head писал(а):ТОХЫЧ, повторюсь: напряжение питания? При выкручивании контраста на максимум закрашенные квадратики появляются?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Подключал к порту D так что jtag не мешает поскольку он на С.СКАЗОЧНИК писал(а): И проверьте на каком порту сидит дисплей в Меге16, иногда забывают отключать ДЖИТАГ, который у нее по умолчанию всегда включен.
У меня скорее проблема с задержками и командами в самой функции иннициализации.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
А это вся программА? А где основной цикл? Я уже плохо Си помню, однако, не могу понять в какой последовательности все происходит... 
Станислав
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавьте внутрь command_lcd в самое начало задержку 50..100 мкс, а то у Вас команды идут подряд одна за другой, и дисплей их тупо не успевает обработать. А статус Вы не читаете. Между двумя стробами в command_lcd тоже небольшая задержка не помешает.ТОХЫЧ писал(а):Код: Выделить всё
command_lcd (0x20); // 0010 0000 rw=0, rs=0 command_lcd (0x20); // 0010 0000 rw=0, rs=0 command_lcd (0xc0); // 1100 0000 rw=0, rs=0
Последний раз редактировалось WiseLord Пн мар 30, 2015 11:07:52, всего редактировалось 1 раз.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Нет не вся. Это и есть суть вопроса ИнициализацияСКАЗОЧНИК писал(а):А это вся программА? А где основной цикл?
.А статус Вы не читаете
Нет RW на GND
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Первые три команды инициализации не надо передавать вторую тетраду. Только старший полубайт.
Станислав
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Да, посмотрел ещё раз внимательнее. Инициализация совсем неправильная.
Первые три command_lcd (0x30) и последующая command_lcd (0x20) должны выполняться с одним стробом (в 8-битном режиме), и только последующие уже с двумя стробами (в 4-битном). А так у Вас инициализация идёт чёрти-как, в микросхему идут не 0x30 - delay - 0x30 - delay - 0x30 - delay - 0x20 инициализирующие данные, а что-то вроде 0x30 - 0x00 - delay - 0x30 - 0x00 - delay - 0x30 - 0x00 - delay - 0x20 - 0x00.
P.S. 2 СКАЗОЧНИК: разошлись на полминуты
Ну а предыдущее моё сообщение по поводу задержек в начале command_lcd (ввиду отсутствия здесь чтения статуса) тоже примите к сведению.
Первые три command_lcd (0x30) и последующая command_lcd (0x20) должны выполняться с одним стробом (в 8-битном режиме), и только последующие уже с двумя стробами (в 4-битном). А так у Вас инициализация идёт чёрти-как, в микросхему идут не 0x30 - delay - 0x30 - delay - 0x30 - delay - 0x20 инициализирующие данные, а что-то вроде 0x30 - 0x00 - delay - 0x30 - 0x00 - delay - 0x30 - 0x00 - delay - 0x20 - 0x00.
P.S. 2 СКАЗОЧНИК: разошлись на полминуты
Ну а предыдущее моё сообщение по поводу задержек в начале command_lcd (ввиду отсутствия здесь чтения статуса) тоже примите к сведению.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
и вот эта лишняя одна
Код: Выделить всё
command_lcd (0x20); // 0010 0000 rw=0, rs=0У меня используется команда для очистки дисплея 0000 0001... (хотя, это может быть только у меня так, забыл уже. )))))
Последний раз редактировалось СКАЗОЧНИК Пн мар 30, 2015 11:32:57, всего редактировалось 1 раз.
Станислав


