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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Думаю, можно добавить прослойку по преобразованию данных.. Но это еще и от индикатора зависит, мне кажется.
Оптимизм х (Опыт + Знания) = const
Аватара пользователя
Alex_EXE
Вымогатель припоя
Сообщения: 580
Зарегистрирован: Сб дек 27, 2008 12:01:35
Откуда: Россия, Екатеринбург
Контактная информация:

Сообщение Alex_EXE »

Решил поделиться опытом работы такого индикатора с PIC микроконтроллерами
Вложения
PIC16F628A-LCD.c
(2.6 КБ) 1130 скачиваний
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Сообщение PB_EXPERT »

Тут неоднократно поднималась тема как выводить руссике буквы на индикатор.
Вот вчера прочитал статью Конвертер текста для индикаторов с контроллером HD44780 в журнале Радио 2009 №4, с. 25, 26.
Проверил с PICом и индикатором фирмы Winstar,вроде получилось. :)
В статье сказанно что прогу можно настроить для работы практичеси с любым типом контроллера, точнее со средой разработки программ для него.
Аватара пользователя
Alex_EXE
Вымогатель припоя
Сообщения: 580
Зарегистрирован: Сб дек 27, 2008 12:01:35
Откуда: Россия, Екатеринбург
Контактная информация:

Сообщение Alex_EXE »

Вот такую самописную функцию, для получения русских символов, применяю для индикаторов Winstar, на контроллере HD44780:

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

//   LCD            ****************************************************************
unsigned char const ch_font_[2][32] = {
   {0x41,0xA0,0x42,0xA1,0xE0,0xE4,     0xA3,0xA4,0xA5,
    0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8,0x50,0x43,0x54,
    0xA9,0xAA,0x58,0xE1,0xAB,0xAC,0xE2,0xAD,0xAE,0xC4,
    0xAF,0xB0,0xB1},
   {0x61,0xB2,0xB3,0xB4,0xE3,0x65,     0xB6,0xB7,0xB8,
    0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE,0x70,0x63,0xBF,
    0x79,0xE4,0x78,0xE5,0xC0,0xC1,0xC2,0xC3,0xC4,0xC4,
    0xC5,0xC6,0xC7 }
   };

char LCDSymbolTranslation(unsigned char kod)
{
   switch(kod)
   {
      case 168 : return 0xA2;break;   //   Ё
      case 184 : return 0xB5;break;   //   ё
      case 126 : return 0xE9;break;   //   ~
      default:
      {
         if((191<kod)&&(kod<224))
         {
            return ch_font_[0][kod-192];
         }
         else
         if((223<kod)&&(kod<255))
         {
            return ch_font_[1][kod-224];
         }
         return kod;
      }
   }
}
//   -LCD         ****************************************************************
Аватара пользователя
DataLife
Вымогатель припоя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Извиняюсь, что, возможно, не в ту тему, но...
Стал вопрос с регулировкой контрастности дисплея AC162B.
В начале темы нашёл такое:
Sailanser писал(а):3 ногу которая регулирует контрастность заводи через подстроечник, поставь его так один конец на (+) другой на (-) и с центральной ноги снимай напряжение (кстати это тоже есть в даташите на индикатор). Например у меня напряжение контрастности на 3-й ноге стоит 1,23 вольта и все прекрасно видно.

Так и на этой модели ЖКИ делается? ... А что я что-то не разберусь... :?
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Сообщение бгкот »

DataLife писал(а):Так и на этой модели ЖКИ делается?

Да, см. стр. 9 :
http://www.ampire.com.tw/Spec-AC/AC-162B.pdf
©"Good indian is dead one!"
Аватара пользователя
dt_andrew
Мявтор!
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

Имеется индикатор Winstar WH1601A (однострочный)

но внутренне он построен как двухстрочный 2х8

и работать привычно с одной строкой не получается особенно когда выводиш не одиночные символы а строки

приходиться отслеживать что поз. следущего символа уже превысила 8 знаков и переключаться на вторую строку

тоесть как бы иметировать однострочный режим

зачем производитель замутил такую фигню мне не понятно
не логично как то

может можно как то перевести его действительно однострочный режим

чтение даташита показала что вроде есть в команде Function set
бит N который якобы должен перевести его в режим однострочного

там так и написано
N = 2-line/1-line

но не помогает это не хотит он переходить в этот режим

или они имели под этим что то другое

прошу помощи по данному вопросу
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Pippeytz писал(а):Купил , блин на свою голову ету панель .
Юзаю коде вижен, и библиотеку на HD44780 - везде пишут что KS0066
аналог, у них только процедуры инициализации разные . Вобщем весь день промордавался с етой панелью , абсолютно не как не реагирут на управляющие сигналы от МК. Может к етим контролерам нужна своя библиотека для работы , или кто-то может сталкивался с етими KS0066 ?
Как их заставить рабоать ? Ато , уже подумываю на щет написания собственой билиотеки ...


Посмотри здесь:
http://www.melt.com.ru/work/display/150
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
saschai
Говорящий с текстолитом
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

Аватара пользователя
Pippeytz
Потрогал лапой паяльник
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк
Контактная информация:

Сообщение Pippeytz »

Да, я просто не пойму работают ети KS0066 под библиотеку под HD44780 из коде вижена?
Полный пипеутз.
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

KS0066 полностью аналогичен HD44780, из кодевижена библа подходит. на дисплее видна первая строка? (темные квадраты)
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Аватара пользователя
Pippeytz
Потрогал лапой паяльник
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк
Контактная информация:

Сообщение Pippeytz »

У меня етих дисплеев 2 оидн 2х16 другой 1х16.
В первом вобще никакой реакции нету на команды, во втором работает ровно половина дисплея (ето со стандартной библой)
А когда я их гонял командами в ручную , без билиотеки - все светилсоь. Как
токо подключаеш готовую библу - никакой реакции
Полный пипеутз.
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

ну, понимаю что говорю очевидное, но..... контраст крутить пробовали?

да и пример вашего кода для наглядности не помешал бы :wink:
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Аватара пользователя
saschai
Говорящий с текстолитом
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

sema писал(а):ну, понимаю что говорю очевидное, но..... контраст крутить пробовали?


:)) !
Я первый раз подключал, очень долго подпрыгивал, ну не работает, хоть плачь, уж думал, чавойто пожог. Все было намного проще :))
Аватара пользователя
Pippeytz
Потрогал лапой паяльник
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк
Контактная информация:

Сообщение Pippeytz »

Контарст выставлен максимальный.. В низу когда чип трогаеш какие-то сигменты светяться, а чтобы ето все от мк управлялось.. Ладно , буду разбираться раз с етой билиотекой ето работать должно
Полный пипеутз.
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

Pippeytz писал(а):В низу когда чип трогаеш какие-то сигменты светяться, а чтобы ето все от мк управлялось..


в смысле точки? если контраст на максимуме то верхняя строка должна быть почти черной, фотку дисплея можно увидеть?
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Аватара пользователя
Pippeytz
Потрогал лапой паяльник
Сообщения: 396
Зарегистрирован: Ср май 28, 2008 19:30:31
Откуда: Донецк
Контактная информация:

Сообщение Pippeytz »

Фотика к сожаления нету, а светиться как положено почти черным. Цвет
размазаной пасты от ручки.Не работает от лсд библиотеки коде вижена и все тут..
Полный пипеутз.
Аватара пользователя
sema
Мудрый кот
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород
Контактная информация:

Сообщение sema »

а примерчик кода мона? :) , инициализируете дисплей перед обращением к нему? а по какой схеме подключен дисплей? (в CV кажется шина данных 4-х проводная) подключен дисплей правильно?
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Pippeytz писал(а):Да, я просто не пойму работают ети KS0066 под библиотеку под HD44780 из коде вижена?

У меня работает. Индикатор выдран из списанного сервера. На микросхеме надпись: KS0066F00.
Аватара пользователя
saschai
Говорящий с текстолитом
Сообщения: 1596
Зарегистрирован: Вс дек 14, 2008 20:36:47
Откуда: SPb

Сообщение saschai »

Может, проблема именно в работоспособности, конкретного индикатора :? и стоит попробывать на макетке типовое подключение и готовую прошивку
Ответить

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