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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

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

Сообщение acvarium »

Схема макетной платы. Всего того, что я к ней подключал там нет. Дисплей, естественно, подключается по даташыту. На счет задержки я пробовал, только уже не уверен, достаточное ли было время задержки. Попробую этот вариант, но что-то мне кажется, это не поможет.
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

Попробуйте в инициализации вставить перед командой 0х28 еще команду 0х20.
А после команды 0х01 надо подождать 1.5-2мс.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

Сообщение ВитГо »

задача:
подключить дисплей 44780 16x2 используя не более 3-4 линий от меги...
дисплей сейчас трудиться в 4х битном режиме (7 сигналов), но реально я смогу выделить только 3, максимум 4 линии для управления им...

Кто нить озадачивался подключением дисплея (стандартный 44780 16x2) подобным минимальным количеством сигналов..
например при помощи сдвигового регистра (я так думаю)..?

p.s. вариант со второй мегой не рассматриваю (нет такой возможности)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

ВитГо писал(а):p.s. вариант со второй мегой не рассматриваю (нет такой возможности)

2 ноги на SPI + строб Е. Использовать регистры.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

Сообщение ВитГо »

я думаю что нужно будет использовать регистры и линии обычного порта
в проекте будет мега8 с занятыми ADC линиями поэтому SPI я так понимаю отпадает (они на том же порту сидят)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

ВитГо писал(а):SPI я так понимаю отпадает (они на том же порту сидят)

Значит, реализовать программно, не такой уж и сложный протокол.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

Сообщение ВитГо »

если кто озадачиться подключением дисплея минимальным количеством линий - то смотреть на easyelectronics - там в итоге пришли к 2ум проводам... всего к двум.. плюсу и минусу :-)) меньше точно не получиться (иначе экран останется без питания)
Barisych
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб дек 17, 2011 11:02:00

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

Сообщение Barisych »

это моя самая первая работа!!! 5-6 летней давности... когда я лежал с радикулитом и изучал пики... нацарапал драйверок...
дисплей работает по 4х битной схеме.. подключен 6ю проводами к процу... сперва это было написано пол пик 628й...
потом перенёс на авр...
поясню немного по тексту...
******************************************************
; 80-1 сторока, C0-2 сторока, 90-3 сторока, D0-4 сторока,
OutMes:
ldi Select,(0<<RS) ; RS=0 выбираем регистр команд дисплея
ldi Temp,0x84 ; 8= 1 сторока, 4= 5 место
rcall Send ; заносим в LCD
ldi Select,(1<<RS) ; RS=1 выбираем регистр данных

ldi Temp,'N' ;
rcall Send ; заносим в LCD
итд...
----------

вся память всех жисплеев представляет одну сплошную цепочку байт...
начиная с адреса 80н!!!
80-1 сторока, C0-2 сторока, 90-3 сторока, D0-4 сторока,
тоесть реально дисплеи могут быть 4 строки по 64 символа
надо токо попасть в нудный адрес!!! и это обязательно покажится на дисплее!!!
адреса меняются в строке
ldi Temp,0x84 ; 8= 1 сторока, 4= 5 место
тоесть 80н +04н

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

ldi Temp,'N' ;
rcall Send ; заносим в LCD

в регистр Temp заноситя нужный нам символ ...

rcall Send
и этои ПП выводится в дисплей... и так можно вывести все строки за раз начиная с адреса 80

потом заносим следущий символ .. выводим.. итд.. адрес вывода сам увеличивается на 1


кароче очень маленькая!!!! хорошо работающая!!!! прога :)
и не важно какого размера у вас дисплей!!! подходит под все!!!!
оперируйте адресом!!!
Вложения
16x2.zip
(16.57 КБ) 272 скачивания
Аватара пользователя
Av4arik
Поставщик валерьянки для Кота
Сообщения: 1954
Зарегистрирован: Чт янв 20, 2011 16:47:18
Откуда: Старый Оскол
Контактная информация:

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

Сообщение Av4arik »

Barisych писал(а):надо токо попасть в нудный адрес!!!

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

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

Сообщение shurikss123 »

ребята, если кто-нибудь ткнет меня, процедуркой проверки статуса, на этом HD44780 буду при много благодарен, второй день ковыряю а до пиреть никак не могу.
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
ludvigtrasher
Родился
Сообщения: 3
Зарегистрирован: Ср фев 24, 2010 12:07:13

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

Сообщение ludvigtrasher »

кто имел дело с Gdm1602e?
собираю я такой бп http://avr.ru/ready/contr/power/power
при запуске чуда не произошло.подсветка работает и верхняя строка показывает квадратики,
пробовал менять мк,и прошивки один черт ни чего не меняется.
подскажите возможные причины при условии что собранно всё правильно.
еще интересут вопрос-как можно поверить работоспособность жк.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

Сообщение ВитГо »

ludvigtrasher писал(а):кто имел дело с Gdm1602e?
собираю я такой бп http://avr.ru/ready/contr/power/power
при запуске чуда не произошло.подсветка работает и верхняя строка показывает квадратики,
пробовал менять мк,и прошивки один черт ни чего не меняется.
подскажите возможные причины при условии что собранно всё правильно.
еще интересут вопрос-как можно поверить работоспособность жк.


а контроллер запустился?
если да я бы предложил еще раз проверить подключение дисплея.. от ножки до ножки.. - все таки и дисплей как из статьи, и прошивка... - причина где то наверху !
ludvigtrasher
Родился
Сообщения: 3
Зарегистрирован: Ср фев 24, 2010 12:07:13

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

Сообщение ludvigtrasher »

осцыла у меня нет,ноя подключал светодиод к портам атмеги которые выводят инфу на жк.светодиод реагировал на вращение экодера и нажатия кнопки изменяя яркость и чистоту мерцания.получается мк работает,подключение сто раз проверил .
всетаки может кто знает как проверить работоспособность жки.
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

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

Сообщение DiGiCat »

ludvigtrasher писал(а):всетаки может кто знает как проверить работоспособность жки.
От компа можно, если LPT есть - такой программой или другой подобной...
scio me nihil scire...
_______________________

Изображение <= Жалобная кнопка в правом нижнем углу... )
Payalnick
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб янв 07, 2012 11:41:25

Сообщение Payalnick »

LCM1602 на KS0066U аналог wh1602 hd44780?

Выводы совпадают? В ДШ все сходиться.

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

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

Сообщение clawham »

здравствуйте!
Выкладываю на общее обозрение процедурку рисования горизонтальных прогрессбаров ( до 5-ти штук) с внутренним нормированием сигналов

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

void lcd_fill()
{
    char a1;
    unsigned char tg[8];
   
   
    // рисуем закрашенный квадратик
    for(a1=0;a1<8;a1++)
    {
        if(a1==1||a1==6)
            tg[a1]=0;
        else
            tg[a1]=0xff;
    }
     
    define_char(tg, 0);           
   
    // рисуем две полоски вверху и внизу
    for(a1=0;a1<8;a1++)
    {             
        if(a1==0||a1==7)
            tg[a1]=0xff;
        else           
            tg[a1]=0x00;
    }
     
    define_char(tg, 1);           
   
   
    // рисуем ]
    for(a1=0;a1<8;a1++)
    {             
        if(a1==0||a1==7)
            tg[a1]=0xff;
        else           
            tg[a1]=0x00;
        tg[a1]|=1;
    }
     
    define_char(tg, 2);
}

//#pragma optsize-

void dr_bar(char x, char y, char Num, unsigned int Param, unsigned int min, unsigned int max, unsigned char Kubiks)
{
    unsigned char a1;
    char b;
    unsigned char Points;
    unsigned int t1;
    unsigned int t2;
    unsigned char t3;
    unsigned char tg[8];
    unsigned int Param1;                                           
     
    // нормируем входной синал                   
    Param1=Param;
    Points = Kubiks*5;
    Points-=2;
    // если значение меньше минимального - пишем ноль
    if(Param1<=min)
        Param=0;
    else
    {
        // если больше - считаем
        // отнимем минимум
        Param=Param1-min;
                   
        // поделим на полный размах и умножим на выходной размах
        if(Param1>max)
            Param=Points;
        else
            Param=(Param*Points)/(max-min);
    }
   
    // считаем кол-во полных квадратов и кол-во пикселей последнего
    t1=Param+1;
    a1=t1;
    t2=a1/5;       
    t3=a1-(t2*5);       
   
    // рисуем переменный кубик
    for(b=0;b<8;b++)
    {
        tg[b]=0;
        if(b==0||b==7)
            tg[b]=0xff;
           
        if(b==1||b==6)
            tg[b]=0;
        else
        {
        for(a1=0;a1<t3;a1++)
            tg[b]|=1<<(4-a1);
        }
        if(t2==Kubiks-1)
            tg[b]|=1;
    }
     
    define_char(tg, Num+2);
     
    // стаём в точку вывода первого кубика 
    lcd_gotoxy(x, y);
   
    for(a1=0;a1<Kubiks;a1++)
    {
        if(a1<t2)
            lcd_putchar(0);
        else if(a1==t2)
            lcd_putchar(Num+2);
        else if(a1<Kubiks-1)
            lcd_putchar(1);
        else
            lcd_putchar(2);
    }       
}   


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

вторая функция получает параметры
x - x координата первого кубика прогрессбара
y - у координата первого кубика прогрессбара
Num - порядковый номер прогрессбара (1...5)
Param - Собственно отображаемая величина
min - значение величины при которой на прогресбаре минимальный уровень
max - значение величины при которой прогрессбар полностью заполнен
Kubiks - кол-во знакомест в длину прогрессбара
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

Сообщение ВитГо »

я тоже самое делал на асме... правда у меня 6 шкал по 4 символа.. тоже попиксельный вывод ширины... (20 делений)
если кому интересно могу вырезать из кода
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

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

Сообщение clawham »

Результат выглядит вот так

Изображение

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

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

Сообщение shurikss123 »

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


:shock: 1 миллисекунду, мне кажеться что это много или???
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

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

Сообщение ВитГо »

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


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


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

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