Работа с ЖКИ на контроллере HD44780 и его аналогах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение shurikss123 »

ВитГо писал(а):
shurikss123 писал(а):
clawham писал(а):только в протеусе нет нижней строчки (8-го байта столбика) в реальности он выводится :)
кстати эти 5 графиков рисуются за 1 миллисекунду на меге 103@9.6 мегагерц


:shock: 1 миллисекунду, мне кажеться что это много или???


это чуть больше 1000 тактов...
думаю при 4х битном подключении дисплея это не много...
да и математика какая-никакая там тоже есть (рассчитать цену деления, количество делений)

мне кажеться можно быстее, попробую свою сделать.
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

строка printf("1:%.4u,2:%.4u,3:%.4u",ADOUT[0], ADOUT[1], ADOUT[2]);
где adout - флоаты - занимает 4 миллисекунды при оптимизации - скорость и 9 миллисекунд при оптимизации размер
естественно режим библиотеки - полный
а вот такой вариант функции

Код: Выделить всё

lcd_gotoxy(0,0);
    printf("1:%.4u,2:%.4u,3:%.4u",ADOUT[0], ADOUT[1], ADOUT[2]);
   
    // рисуем полоску первого канала
    lcd_gotoxy(0,1);
    lcd_putsf("1");                 
    dr_bar(1, 1, 1, ADOUT[7], 0, 100, 9);
   
    lcd_gotoxy(10,1);
    lcd_putsf("2");                 
    dr_bar(11, 1, 2, ADOUT[6], 0, 100, 8);
     
    lcd_gotoxy(0,2);
    lcd_putsf("3");                 
    dr_bar(1, 2, 3, ADOUT[5], 0, 100, 1);
    dr_bar(3, 2, 4, ADOUT[5], 0, 100, 2);
    dr_bar(6, 2, 5, ADOUT[5], 0, 100, 7);
    dr_bar(10, 2, 6, ADOUT[5], 0, 100, 4);
    //printf("7:%.4u,8:%.4u ", ADOUT[6], ADOUT[7]);
    //lcd_puts(a);
   
    lcd_gotoxy(0,3);
    printf("DS:%05.2f Time:%.4lu",ds_temps[0], RealSec); 


задерживается на 20 миллисекунд....
конечно же ещё есть в фоне прерывания ацп и таймера - каждую миллисекунду

с экраном работаю через ожтдание флага занятости - ниодной тупой задержки нет
с каждой ногой работаю по отдельности...побитово

а если в протеусе вместо 250 килогерц тактовую экрана поднять в 10 раз то время сокращается до 13 миллисекунд - вывод - половину времени контролер тупит в ожидании экранчика
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение shurikss123 »

clawham писал(а):строка printf("1:%.4u,2:%.4u,3:%.4u",ADOUT[0], ADOUT[1], ADOUT[2]);
где adout - флоаты - занимает 4 миллисекунды при оптимизации - скорость и 9 миллисекунд при оптимизации размер
естественно режим библиотеки - полный
а вот такой вариант функции


Не printf вообше не использую из за его размеров и времени исполнения,
вот стока процедуры рисования прогресс бара у меня

Код: Выделить всё

PORTD|=(1<<PD3);
LCDprogressBar(LedR,120,16);
PORTD&=(0<<PD3);

Изображение
Зеленое начало красное конец,
PC0..PC7 тут у меня подключен диспл.
PD0..PD3 тут 3 шим для RGB
PD3 HI Начало рисования прогреса LO окончание процеса
могу видео кинуть
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

немного непонятно - картинка ужосного качества
полторы миллисекунды?

а у вас можно рисовать прогресбары любой длины?
а у вас они с обрамлением по внешнему пикселю?
а у вас вход может быть например 40...60 а для прогрессбара это будет 0...100% заполнения?

просто интересен выигрыш реализации на асме(я не считаю время затраченное на разработку проги)

интерфейс да...4 битный...

контролер мега 103 отличается полным отсутствием фарша НО....128 килов флеша дают полную свободу действий...на данный моментс оцифровкой усреднением своей библиотекой для 44780 , кучей прерываний и собственно принтфами ++ буферизированный уарт + оптимизация на скорость = 10 килобайт флеша...а у мну ещё 118....при этом библиотеки для работы со всем и вся уже есть и дальнейшее наращивание функционала не приведет к росту прошивки....
даа...времена меги 8-й это класс...даже вывод с пробелами незначащими сам писал ибо принтф сильно много занимает
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

кстати....гдето слышал что у того же 44780 можно не только рам использовать для своих символов а и какой-то еепром - например для 3-х символов неизменяемых и общих для всех прогрессбьаров(тогда их можно 8-мь штук использовать) ???

Ни кто не занимался подобным извратом?
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение shurikss123 »

clawham писал(а):немного непонятно - картинка ужосного качества
полторы миллисекунды?

а у вас можно рисовать прогресбары любой длины?
а у вас они с обрамлением по внешнему пикселю?
а у вас вход может быть например 40...60 а для прогрессбара это будет 0...100% заполнения?

просто интересен выигрыш реализации на асме(я не считаю время затраченное на разработку проги)

интерфейс да...4 битный...

контролер мега 103 отличается полным отсутствием фарша НО....128 килов флеша дают полную свободу действий...на данный моментс оцифровкой усреднением своей библиотекой для 44780 , кучей прерываний и собственно принтфами ++ буферизированный уарт + оптимизация на скорость = 10 килобайт флеша...а у мну ещё 118....при этом библиотеки для работы со всем и вся уже есть и дальнейшее наращивание функционала не приведет к росту прошивки....
даа...времена меги 8-й это класс...даже вывод с пробелами незначащими сам писал ибо принтф сильно много занимает

рисует по символам. 4 бита значения могут быть макс 256 если поменять переменную в процедуре то можно хоть 1024.
видео там все ясно будет

http://youtu.be/Ec0E0StFQ-U
http://youtu.be/tMbLnxDYCvY

По поводу изврата он тут же в видео.используеться.

Код: Выделить всё

const uint8_t LcdCustomChar[] PROGMEM=   //define 8 custom LCD chars
{
   0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, // 0. 0/5 full progress block
   0x1F, 0x00, 0x10, 0x18, 0x18, 0x10, 0x00, 0x1f, // 1. 1/5 full progress block
   0x1F, 0x00, 0x18, 0x1c, 0x1c, 0x18, 0x00, 0x1f, // 2. 2/5 full progress block
   0x1F, 0x00, 0x1C, 0x1e, 0x1e, 0x1C, 0x00, 0x1f, // 3. 3/5 full progress block
   0x1F, 0x00, 0x1E, 0x1f, 0x1f, 0x1E, 0x00, 0x1f, // 4. 4/5 full progress block
   0x1F, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x1f, // 5. 5/5 full progress block
   0x03, 0x04, 0x09, 0x13, 0x13, 0x09, 0x04, 0x03, // 6. rewind arrow
   0x18, 0x04,   0x12, 0x19,   0x19, 0x12, 0x04, 0x18  // 7. fast-forward arrow
};
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

ненене
про 8 знакомест в оперативке экрана я знаю...говорят можно саму таблицу изменить кодировочную...
например мне б те же 7 знакомест зашить один раз в каких-то иероглифических буквах и вызывать их...тогда было бы проще...не приходилось бы рисовать на каждый прогресбар свой переменный квадратик...
а так то у меня toe в конце используется другой спрайтик и три спрайтика фиксированные..их бы куданить в константы...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
vanyap1
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение vanyap1 »

Внезапно перестал работать ЖКИ AC-162D-YJLY57H. Выдрал из таксофона...
Работал нормально месяца 2, потом вдруг засветились все пиксели одновременно, перезапустил схему и уже засветился только верхний ряд знакомест - так словно ни к чему не подключен.
Управляющий контроллер работает нормально, проверено на втором ЖКИ.

Ума не приложу что могло случится... Работала схема в тот момент от аккумулятора 4,2В...

Кто сталкивался?
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение shurikss123 »

clawham писал(а):ненене
про 8 знакомест в оперативке экрана я знаю...говорят можно саму таблицу изменить кодировочную...
например мне б те же 7 знакомест зашить один раз в каких-то иероглифических буквах и вызывать их...тогда было бы проще...не приходилось бы рисовать на каждый прогресбар свой переменный квадратик...
а так то у меня toe в конце используется другой спрайтик и три спрайтика фиксированные..их бы куданить в константы...


вот тебе либа, непомню где брал но раз 30 я ее преписывал для себя, оптимизировал
там все найдеш, там и прогресбар и все насвете. :)))
Вложения
lcd_lib.tar.gz
(3.71 КБ) 440 скачиваний
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение mastech »

глупые вопросы )))

№1 в даташите(стр24) где временные задержки на инициализацию указаны для частоты 270kHz?

№2 в каком месте в даташите прописаны эти команды, например:

lcd_com(0xc0); сдвиг в начало вторй строки
lcd_com(0x06); сдвиг в начало первой строки
lcd_com(0x0c);покозат изо курсор не пок.
и т.д.



http://avrlab.com/upload_files/HD44780.pdf

Зарание примного благодарен)
Аватара пользователя
Old Grumble
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс июн 14, 2009 21:36:46
Откуда: Кап.Яр-1 Астраханская обл.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Old Grumble »

mastech писал(а):глупые вопросы )))

№1 в даташите(стр24) где временные задержки на инициализацию указаны для частоты 270kHz?

№2 в каком месте в даташите прописаны эти команды, например:

lcd_com(0xc0); сдвиг в начало вторй строки
lcd_com(0x06); сдвиг в начало первой строки
lcd_com(0x0c);покозат изо курсор не пок.
и т.д.



http://avrlab.com/upload_files/HD44780.pdf

Зарание примного благодарен)


СТР 24 - задержки для частоты собственного генератора контроллера. Вы должны либо постоянно опрашивая флаг BUSY - таблица 4 стр 24 последняя строка (необходимо использовать 3 -ю ногу управления W/R), :( дождаться окончания операции, либо гарантированно отработать задержку (я к примеру ставлю 50 мкс).

lcd_com(0xc0); сдвиг в начало вторй строки - не совсем верно. Память второй строки начинается с адреса b '01000000' (0x40) устанавливая разряд d7 в слове управления (RS=0) Вы получаете 0хС0 (не сдвиг, а адрес по которому будете писать (RS=1) код символа)
cd_com(0x06); сдвиг в начало первой строки b '00000110' - неверно. Либо установка 0 адреса b '10000000' (0х80) Либо команда 2 b '000000010'
lcd_com(0x0c);покозат изо курсор не пок. l);команда 8 b'00001<disp ON/OFF><cur ON/OFF><blink ON/OFF>'
Все прописано стр 24,стр25!!!!
А погуглить и на русском найдете описание
а сам контроллер - km066u http://www.icbank.com/data/ICBShop/board/LC1621-SMLYH6.pdf
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

Вопрос!
Играюсь с пачкой PVC200403PYL05 2101
кто использовал сий экран при разных температурах?
один из них уже пол года трудится при комнатной температуре - и всё гут...
ещё пара в переносных устройствах работает но тож...карманных....всегда в "тепле"
недавно один тут поставил в мороз -5
то что сама стекляшка мееедлеееннно латентно перетекает это понятно...но...он дико долго держит BUSY после каждой операции....в протеусе подобный эффект при уменьшении частоты до 50 килогерц....но разве такое может быть?

на нем используется ЛЕД подсветка родная...через 4 омма в +5 вольт....со временем она его прогрела(да и кренка постаралась) и хоп...стал веселым и бодрым и стекляшка нормально стала обносляться...

просто кроме него у меня ещё один сомнительный элемент - АтМега103...и 9.6 кварц...но чтото сомневаюсь что кварц могет тормозить...он могет просто не запуститься....но не притормаживать же...

у меня есть в аналогичных условиях мега 8 .... с другим экраном...вроде подобных глюков замечено небыло
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Old Grumble
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс июн 14, 2009 21:36:46
Откуда: Кап.Яр-1 Астраханская обл.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Old Grumble »

clawham писал(а):Вопрос!
Играюсь с пачкой PVC200403PYL05 2101
кто использовал сий экран при разных температурах?
один из них уже пол года трудится при комнатной температуре - и всё гут...
ещё пара в переносных устройствах работает но тож...карманных....всегда в "тепле"
недавно один тут поставил в мороз -5
то что сама стекляшка мееедлеееннно латентно перетекает это понятно...но...он дико долго держит BUSY после каждой операции....в протеусе подобный эффект при уменьшении частоты до 50 килогерц....но разве такое может быть?

24 нога KS066 или HD44780 контроллера допускает подачу ВНЕШНЕЙ тактовой частоты.
Вообще можно потыкаться по проводам и посмотреть - снижается ли частота, или наоборот - из холода при прогреве увеличиватся?.
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

ага...эххх...знать бы ещё где эта нога....

http://clawham.hopto.org/DriveD/PubD/74/IMG_9877.JPG
http://clawham.hopto.org/DriveD/PubD/74/IMG_9878.JPG



clawham, не у всех мониторы 48"..
Картинки или ужимай, или вставляй сЦылками..

МитяРа..
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Old Grumble
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс июн 14, 2009 21:36:46
Откуда: Кап.Яр-1 Астраханская обл.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Old Grumble »

clawham писал(а):ага...эххх...знать бы ещё где эта нога....

http://avrlab.com/upload_files/HD44780.pdf СТР4 ИЛИ 5
HD4470.JPG
У КОНТРОЛЛЕРА 80 НОГ!!!
Все на плате. OSC рядом с землей.
Земля ОДНА!
(90.86 КБ) 440 скачиваний
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

всем спасибо...потыкался осцилом - и правда... r6 причем на вообще разных диспахъ он называется R6 :))

попробую туда подать внешнее тактование с меги :) килов 400
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

разогнал....до мегагерца....
работает стабильно....от температуры 5 градусов в покрытом инеем состоянии - работает...но частота немного падает...до 800 килогерц....
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Old Grumble
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс июн 14, 2009 21:36:46
Откуда: Кап.Яр-1 Астраханская обл.

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Old Grumble »

clawham писал(а):...но частота немного падает...до 800 килогерц....

у кого падает?......Дисп у тебя от внешнего тактирования.... значит у атмела?
а busy не мерял в режиме внешнего тактирования?
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

ненене я не заводил на 44780 внешний такт :)
просто резюк 10 килоом паралельно припаял :)

тот другой экран который "тормозил" когда на холоде постоит...то в платке его было дело...после морозилки выяснилось что у вывода RS бОльшее сопротивление при неправильной полярности прозвонки(упор в защитные диоды) чем у соседов...пропаял контактную площадку волосинкой к середине дорожки - всё встало на свои места...видать в месте перехода с дорожки на площадку была микротрещина и от температуры переставала нормально контачить...

ну и поставил ему 3 ома на +5 для подсветки - пусть греется...до 23 градусов накочегаривает корпус при -5 наруже :))

П.С.А про "не мерял buzy" немного не понял...у мну в конце каждой операции чтения-записи контроллер тупит в цикле ожидая бизика.....и вачдог взведен..так что если б бизик задерживался больше чем на секунду - был бы резет и это было бы заметно....
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Volgol_555 »

Возможно вопрос поднимался... Есть Atmega8, LCD WH1602 и CodeVision. Суть заключается в том, чтобы LCD подключить к порту С (используя 4 бита). CodeVision предлагает только порты D и B, но там мне нужны выходы под USART и внешний кварц. Оно то понятно что нет в настройках CodeWizard подключение к порту С, потому что С.6 - это RESET.
Но зато не используется порт С.3. Так вот вопрос: как программно заменить порт С.6 на порт С.3, чтобы при этом LCD работал, как будто просто подключили ко всем портам С.?
Самое гениальное - всегда самое простое
Ответить

Вернуться в «Периферия»