Форум РадиоКот • Просмотр темы - Работа с ЖКИ на контроллере HD44780 и его аналогах
Сообщения без ответов | Активные темы
Страница 94 из 122
[ Сообщений: 2431 ]
... , , , , , , ...
Автор
Сообщение
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:27:42
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
это предел.
Код:
// ЗАПИСЬ ПОЛУБАЙТА void LCD_WRITE_NIBBLE(unsigned char TEMP_NIBBLE) { PORTD |= TEMP_NIBBLE; // запись в порт _delay_ms(1); E_ENABLE; _delay_ms(2); E_DISABLE; _delay_ms(1); PORTD &= 0b00001111; }
Вернуться наверх
Реклама
Аlex
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:30:40
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4564Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Вы, по всей видимости, больше луюбите писать, чем читать. От сюда и строчите пост за постом, не видя ничего. Вам повторить мой предыдущий пост, или сами посмотрите ?
Вернуться наверх
Реклама
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:34:57
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
VIDEO Фокус появляется где то с середины, снято на мобилу сильно не пинайте.
Последний раз редактировалось servmv Ср апр 22, 2015 22:44:37, всего редактировалось 3 раз(а).
Вернуться наверх
Реклама
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Подробнее>>
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:40:11
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Аlex писал(а):
servmv писал(а):
Не работает без задержки.
Аlex писал(а):
Но у Вас, по всей видимости, "всё работает" только из-за бешеных задержек в функции LCD_WRITE_NIBBLE.
Они только там и есть) я вас не понимаю
Вернуться наверх
Реклама
Albert_V
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:41:08
Друг Кота
Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12Сообщений: 4119Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
servmv , ????
Вернуться наверх
Реклама
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:41:22
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Ждите видео готовится не сервере ютуб
Вернуться наверх
Аlex
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:41:41
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4564Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
servmv писал(а):
Они только там и есть) я вас не понимаю
Аlex писал(а):
Цитата:
Код:
void LCD_INIT() { RS_DISABLE; LCD_WRITE_NIBBLE(0b00110000); // 0_0_1_DL_N_F_0_0 (0010 N(0-1на строка, 1-2ве строки)000) 00101000 LCD_WRITE_NIBBLE(0b00110000); LCD_WRITE_NIBBLE(0b00110000); LCD_WRITE_NIBBLE(0b00100000); LCD_WRITE_DATA(0b00000001); // очистка дисплея LCD_WRITE_DATA(0b00101000); LCD_WRITE_DATA(0b00001000); // полное выключение дисплея LCD_WRITE_DATA(0b00000100); // сдвиг курсора отключен LCD_WRITE_DATA(0b00001100); // включение дисплея RS_ENABLE; }
Некоторые операции, во время инициализации, требуют ожидания выполнения. Делается это либо задержками, либо чтением состояния из дисплея.
Но у Вас, по всей видимости, "всё работает" только из-за бешеных задержек в функции
LCD_WRITE_NIBBLE .
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:48:15
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
ссылка на страницу ютуба Вы предлагаете наставить пауз в процесс инициализации? ставил по 10 мс, инициализация проходит, а дальше мусор на дисплее если как вы говорите убрать паузы.
Вернуться наверх
Реклама
Аlex
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:53:03
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4564Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Видео опять недоступно.
Цитата:
а дальше мусор на дисплее если как вы говорите убрать паузы.
"убрать" - я имел ввиду уменьшить, чтобы не такие были большие. Там микросекунд достатоно, особенно на стробе по EN.
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:58:16
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Ща по пробую точно по инструкции.
Вернуться наверх
Аlex
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 22:59:19
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4564Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Давно было пора сделать всё
Цитата:
по инструкции
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:10:37
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Ну вот как то так:
Код:
void LCD_INIT() { _delay_ms(16); RS_DISABLE; LCD_WRITE_NIBBLE(0b00110000); // 0_0_1_DL_N_F_0_0 (0010 N(0-1на строка, 1-2ве строки)000) 00101000 _delay_ms(5); LCD_WRITE_NIBBLE(0b00110000); _delay_us(110); LCD_WRITE_NIBBLE(0b00110000); _delay_us(40); LCD_WRITE_NIBBLE(0b00100000); _delay_us(40); LCD_WRITE_DATA(0b00000001); // очистка дисплея / 2мс _delay_ms(2); LCD_WRITE_DATA(0b00101000); _delay_us(40); LCD_WRITE_DATA(0b00001000); // полное выключение дисплея _delay_us(40); LCD_WRITE_DATA(0b00000100); // сдвиг курсора отключен _delay_us(40); LCD_WRITE_DATA(0b00001100); // включение дисплея RS_ENABLE; }
вот здесь экспериментально получил
Код:
// ЗАПИСЬ ПОЛУБАЙТА void LCD_WRITE_NIBBLE(unsigned char TEMP_NIBBLE) { PORTD |= TEMP_NIBBLE; // запись в порт _delay_us(300); E_ENABLE; _delay_us(500); E_DISABLE; _delay_us(300); PORTD &= 0b00001111; }
чет быстрее уже с мусором. Но отклик стал быстрее.
Вернуться наверх
Аlex
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:17:23
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4564Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Ну вот, хотябы как то так. Ужа не 10 ms
Кстати, между E=1 и E=0 (строб записи) должно быть достаточно 1 us.
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:24:43
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Если я Вас верно понял:
Код:
E_ENABLE; _delay_us(1); E_DISABLE;
прошел экспериментально 1,10,100,200,300,400, на 500 мусор пропал. )
Вернуться наверх
Аlex
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:29:24
Модератор
Карма: 90
Рейтинг сообщений: 1430
Зарегистрирован: Чт мар 18, 2010 23:09:57Сообщений: 4564Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Странно... А можно марку дисплея ? Или лучше ссылочку на ДШ.
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:33:18
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
В общем финал будет такой:
Не забываем подключить стандартные библиотеки
Код:
#include <avr/io.h> #define F_CPU 16000000UL #include <util/delay.h>
Готовим имена.
Код:
#define RS_ENABLE PORTB |= (1 << 0) // Пин RS #define RS_DISABLE PORTB &=~ (1 << 0) // #define E_ENABLE PORTB |= (1 << 1) // Пин E #define E_DISABLE PORTB &=~ (1 << 1) // //P.S. На данном модуле есть управление подсветкой что для меня было сюрпризом) т.к. на схеме этого не было, установлен транзистор на катоде подсветки. можно управлять так: #define BACKLIGHT_ENABLE PORTB |= (1 << 2) // Пин подсветки #define BACKLIGHT_DISABLE PORTB &=~ (1 << 2) //ну там вам решать вкл\выкл или замутить шим для регулировки яркости. #define LCD_PORT PORTD
Функции для работы с дисплеем.
Код:
void LCD_INIT() { _delay_ms(16); RS_DISABLE; LCD_WRITE_NIBBLE(0b00110000); // 0_0_1_DL_N_F_0_0 (0010 N(0-1на строка, 1-2ве строки)000) 00101000 _delay_ms(5); LCD_WRITE_NIBBLE(0b00110000); _delay_us(110); LCD_WRITE_NIBBLE(0b00110000); _delay_us(40); LCD_WRITE_NIBBLE(0b00100000); _delay_us(40); LCD_WRITE_DATA(0b00000001); // очистка дисплея / 2мс _delay_ms(2); LCD_WRITE_DATA(0b00101000); _delay_us(40); LCD_WRITE_DATA(0b00001000); // полное выключение дисплея _delay_us(40); LCD_WRITE_DATA(0b00000100); // сдвиг курсора отключен _delay_us(40); LCD_WRITE_DATA(0b00001100); // включение дисплея RS_ENABLE; } // ЗАПИСЬ ПОЛУБАЙТА void LCD_WRITE_NIBBLE(unsigned char TEMP_NIBBLE) { PORTD |= TEMP_NIBBLE; // запись в порт _delay_us(300); E_ENABLE; _delay_us(500); E_DISABLE; _delay_us(300); PORTD &= 0b00001111; } // ФУНКЦИЯ ОТПРАВКИ СИМВОЛА void LCD_WRITE_CHAR(unsigned char TEMP_WRITE_CHAR) { RS_ENABLE; LCD_WRITE_DATA(TEMP_WRITE_CHAR); } // ФУНКЦИЯ ОТПРАВКИ КОМАНДЫ void LCD_WRITE_CMD(unsigned char TEMP_WRITE_CMD) { RS_DISABLE; LCD_WRITE_DATA(TEMP_WRITE_CMD); RS_ENABLE; } // ЗАПИСЬ В ПОРТ КОММАНДЫ ИЛИ ДАННЫХ (ОПРЕДЕЛЯЕТСЯ RS), используется в LCD_WRITE_CHAR и LCD_WRITE_CMD void LCD_WRITE_DATA(unsigned char TEMP_WRITE_DATA) { LCD_WRITE_NIBBLE(TEMP_WRITE_DATA & 0xF0); // старшый полубайт LCD_WRITE_NIBBLE(TEMP_WRITE_DATA << 4); //младший полубайт } void LCD_OFF() { LCD_WRITE_CMD(0b00001000); } void LCD_ON() { LCD_WRITE_CMD(0b00001100); } // Установка курсора, КУРСОР НЕ СДВИГАЕТСЯ!!! так настроено при инициализации. LINE = 0 - первая строка, 1 - вторая строка. void LCD_SET_CURSOR(unsigned char LINE, unsigned char POS) { POS |= 0b10000000; if (LINE == 0x01) { POS |= 0x40; } LCD_WRITE_CMD(POS); }
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:35:16
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Аlex писал(а):
Странно... А можно марку дисплея ? Или лучше ссылочку на ДШ.
Мне не добраться до этикетки, марки я его точно не знаю. И даташит именно на него конечно дать тоже не могу.
Вернуться наверх
servmv
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср апр 22, 2015 23:37:18
Встал на лапы
Карма: 3
Рейтинг сообщений: 1
Зарегистрирован: Чт янв 02, 2014 21:28:22Сообщений: 136
Рейтинг сообщения: 0
Вернуться наверх
abc
Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Чт апр 23, 2015 02:07:44
Друг Кота
Карма: 58
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40Сообщений: 3267Откуда: Севастополь
Рейтинг сообщения: 0
Вы не обижайтесь, но первое, что я увидел, пройдя по вашей ссылке, было вот это :
Охренеть, подумал было, это где же это самое "брал тут" ?
Потом уже нашел сам лот.
Это обычный индикатор. Строб у него вполне может быть именно 1мкс.
Учитывая это, ваш код работает, но рекомендовать его никому нельзя.
_________________ >(*.*)< Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Вернуться наверх
Страница 94 из 122
[ Сообщений: 2431 ]
... , , , , , , ...
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения