Работа с ЖКИ на контроллере HD44780 и его аналогах
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Что, собственно, делает код ? Я ничего не понял.
Последний раз редактировалось urry Ср окт 09, 2013 08:18:48, всего редактировалось 1 раз.
- Реклама
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
А для чего вот эти объявления в main.c :? Они же есть в файле lcd.h Просто подключите его, за место этих объявлений, и всё...
Код: Выделить всё
extern void lcd_init(void);
extern void lcd_clear(void);
extern void lcd_gotoxy(char, char);
extern void lcd_puts(char *);
extern void lcd_putch(char);
extern void lcd_cgram(char *, unsigned char);
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Побуду немного в качестве экстрасенса
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Пытаюсь вывести буквы "H" и "e" в начале первой строки.urry писал(а):Что, собственно, делает код ? Я ничего не понял.
Кот гуляет сам по себе, но вблизи холодильника.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
в таком случае не я один ничего не понял...
Хорошо, спросим по другому - кто именно мешает вам это сделать ?
Хорошо, спросим по другому - кто именно мешает вам это сделать ?
- Реклама
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Не все сразу... Постепенно разберусь.urry писал(а):в таком случае не я один ничего не понял...
Хорошо, спросим по другому - кто именно мешает вам это сделать ?
Аlex спасибо за идеи, но ни МК, ни я до конца не усвоили. На ЖКИ нет ничего, а мне многое непонятно...
Код: Выделить всё
if(cnt_pause) cnt_pause--;Код: Выделить всё
if(cnt_pause == 1) cnt_pause--;я проставил комментарии
Спойлер
while(hello_str[cnt_ch]) // тело цикла выполняется, пока cnt_ch не выходит за пределы массива hello_str ??{
lcd_putch(hello_str[cnt_ch++]); /* последовательный вывод элементов массива hello_str
позиция, видимо, сдвигается автоматом. А как выводится элемент 0? */
while(cnt_pause) continue; // если cnt_pause < 0, continue - куда? за тело цикла while(hello_str[cnt_ch]??
cnt_pause=100;
}
Кот гуляет сам по себе, но вблизи холодильника.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
А контраст правильно настроен? Даже если дисплей не инициализирован все равно должна первая строка вся светиться. Много раз уже повторялось. Добейтесь горения, и потом уже код в него пихайте.Ghost in shell писал(а):На ЖКИ нет ничего,
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Нет, пока символ hello_str[cnt_ch] ненулевой.тело цикла выполняется, пока cnt_ch не выходит за пределы массива hello_str ??
Не понял вопроса. Что за элемент 0 ?А как выводится элемент 0?
Если нулевой символ, то зачем его выводить ? Наоборот должны выйти из цикла по нулевому символу (он-же - маркер конца строки).
continue - это продолжение цикла. Выход из цикла - оператор break.continue - куда?
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Вращением потенциометра можно добиться черных прямоугольников 16х2. Я уже собирал устройства на ЖКИ и знаю, что контрастность должна быть ниже? т.е. после появления черных прямоугольников надо понизить контрастность.vitalik_1984 писал(а):А контраст правильно настроен? Даже если дисплей не инициализирован все равно должна первая строка вся светиться. Много раз уже повторялось. Добейтесь горения, и потом уже код в него пихайте.
lcd_putch(hello_str[cnt_ch++]); //Эта строка выводит сразу первый элемент массива. Ну да, изначально cnt_ch = 0, после инкриминации увеличивается на 1.Аlex писал(а):Что за элемент 0 ?
Последний раз редактировалось Аlex Чт окт 17, 2013 21:09:34, всего редактировалось 2 раза.
Причина: Поправил многоэтажные цитаты. Прошу больше так не делать.
Причина: Поправил многоэтажные цитаты. Прошу больше так не делать.
Кот гуляет сам по себе, но вблизи холодильника.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Эта строка по идее выводит сразу нулевой по счету элемент массива. И уже после этого увеличивает счет ведь ++ находится после переменной. То есть увеличивается после взятия из нее значения. Это называется постинкремент.Ghost in shell писал(а):Эта строка выводит сразу первый элемент массива.
Код: Выделить всё
cnt_ch=0;
lcd_putch(hello_str[cnt_ch++]); Код: Выделить всё
cnt_ch=0;
lcd_putch(hello_str[cnt_ch]);
cnt_ch++; - Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Стер память МК, светися ближайшая к контактам строка.vitalik_1984 писал(а):А контраст правильно настроен? Даже если дисплей не инициализирован все равно должна первая строка вся светиться. Много раз уже повторялось. Добейтесь горения, и потом уже код в него пихайте.
Спасибо за разъяснение, но такой код мне куда понятнее
Код: Выделить всё
cnt_ch=0;
lcd_putch(hello_str[cnt_ch]);
cnt_ch++; Кот гуляет сам по себе, но вблизи холодильника.
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Проверил отдельно LCD (подключил к рабочему прибору) и PIC16F72 (линии порта В живые).
По-прежнему светится только первая строка прямоугольников...
По-прежнему светится только первая строка прямоугольников...
- Вложения
-
- LCD2.rar
- (40.15 КБ) 171 скачивание
Кот гуляет сам по себе, но вблизи холодильника.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Тут явно дисплей не инициализируется. Может у Вас МК вообще не запускается ? Смотрите правильность назначения выводов в lcd.h и их подключения в железе.
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Alex спасибо за ответ.
Ваш проект грузится с ошибкой. И на панели нет пиктограммы компилятора.
МК точно работает: на линиях порта я могу задать 0 или 1.
Выводы проверю.
Ваш проект грузится с ошибкой. И на панели нет пиктограммы компилятора.
МК точно работает: на линиях порта я могу задать 0 или 1.
Выводы проверю.
- Вложения
-
- new-1.jpg
- (12.09 КБ) 260 скачиваний
Кот гуляет сам по себе, но вблизи холодильника.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Ножка дисплея RW точно посажена на землю ? Проверьте.
В проге ошибка в строке if(cnt_pause == 1) cnt_pause--;
нужно if(cnt_pause) или if(cnt_pause != 0) , что равноценно.
В проте нет контроллера 72, можно подставить что-то близкое, например 716, что я и сделал.
В проге ошибка в строке if(cnt_pause == 1) cnt_pause--;
нужно if(cnt_pause) или if(cnt_pause != 0) , что равноценно.
В проте нет контроллера 72, можно подставить что-то близкое, например 716, что я и сделал.
- Вложения
-
- test_.zip
- (65.38 КБ) 178 скачиваний
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Версия MPLAB, видимо, у Вас старееGhost in shell писал(а):Ваш проект грузится с ошибкой. И на панели нет пиктограммы компилятора.
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Точно сидит: с нее земля и идет к плате МК.urry писал(а):Ножка дисплея RW точно посажена на землю ? Проверьте.
Исправил if(cnt_pause == 1) - никаких изменений...
Соответствия пинов:
RS — RB3
E — RB6
D4 — RB4
D5 — RB1
D6 — RB0
D7 — RB7
Alex
Да, у меня MP-LAB 8.30
Кот гуляет сам по себе, но вблизи холодильника.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
в вашей проге д6 это rb2, а не 0
- Ghost in shell
- Держит паяльник хвостом
- Сообщения: 931
- Зарегистрирован: Пн июн 15, 2009 06:01:38
- Откуда: USSR
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Ну наконец-то получилось!!! Будете в Киеве - с меня пиво (или тортик)urry писал(а):в вашей проге д6 это rb2, а не 0
Кот гуляет сам по себе, но вблизи холодильника.
- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Открыта регистрация на семинар - http://microchip.ua/seminar/regsem.php
//
Тематика семинара:
Первая часть
- Новинки, перспективы и применение продукции компании SIMCOM
- ЕАТ - встроенный язык модулей SIMCOM
Вторая часть
- Знакомство с ARM контроллерами NUVOTON
Предлагаем Вам, рассмотреть возможность направить Ваших технических специалистов для участия в семинаре.
Участие в семинаре бесплатное. Дата и место проведения будет уточнено дополнительно.
==============
Если не возникнет никаких ЧП, поеду.
//
Тематика семинара:
Первая часть
- Новинки, перспективы и применение продукции компании SIMCOM
- ЕАТ - встроенный язык модулей SIMCOM
Вторая часть
- Знакомство с ARM контроллерами NUVOTON
Предлагаем Вам, рассмотреть возможность направить Ваших технических специалистов для участия в семинаре.
Участие в семинаре бесплатное. Дата и место проведения будет уточнено дополнительно.
==============
Если не возникнет никаких ЧП, поеду.


