Работа с ЖКИ на контроллере HD44780 и его аналогах
Думаю, можно добавить прослойку по преобразованию данных.. Но это еще и от индикатора зависит, мне кажется.
Оптимизм х (Опыт + Знания) = const
- Реклама
Решил поделиться опытом работы такого индикатора с PIC микроконтроллерами
- Вложения
-
- PIC16F628A-LCD.c
- (2.6 КБ) 1133 скачивания
- Сообщения: 331
- Зарегистрирован: Вс мар 30, 2008 14:31:51
Тут неоднократно поднималась тема как выводить руссике буквы на индикатор.
Вот вчера прочитал статью Конвертер текста для индикаторов с контроллером HD44780 в журнале Радио 2009 №4, с. 25, 26.
Проверил с PICом и индикатором фирмы Winstar,вроде получилось.
В статье сказанно что прогу можно настроить для работы практичеси с любым типом контроллера, точнее со средой разработки программ для него.
Вот вчера прочитал статью Конвертер текста для индикаторов с контроллером HD44780 в журнале Радио 2009 №4, с. 25, 26.
Проверил с PICом и индикатором фирмы Winstar,вроде получилось.
В статье сказанно что прогу можно настроить для работы практичеси с любым типом контроллера, точнее со средой разработки программ для него.
Вот такую самописную функцию, для получения русских символов, применяю для индикаторов 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 ****************************************************************Извиняюсь, что, возможно, не в ту тему, но...
Стал вопрос с регулировкой контрастности дисплея AC162B.
В начале темы нашёл такое:
Стал вопрос с регулировкой контрастности дисплея AC162B.
В начале темы нашёл такое:
Так и на этой модели ЖКИ делается? ... А что я что-то не разберусь...Sailanser писал(а):3 ногу которая регулирует контрастность заводи через подстроечник, поставь его так один конец на (+) другой на (-) и с центральной ноги снимай напряжение (кстати это тоже есть в даташите на индикатор). Например у меня напряжение контрастности на 3-й ноге стоит 1,23 вольта и все прекрасно видно.
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
- Реклама
Да, см. стр. 9 :DataLife писал(а):Так и на этой модели ЖКИ делается?
http://www.ampire.com.tw/Spec-AC/AC-162B.pdf
©"Good indian is dead one!"
Имеется индикатор Winstar WH1601A (однострочный)
но внутренне он построен как двухстрочный 2х8
и работать привычно с одной строкой не получается особенно когда выводиш не одиночные символы а строки
приходиться отслеживать что поз. следущего символа уже превысила 8 знаков и переключаться на вторую строку
тоесть как бы иметировать однострочный режим
зачем производитель замутил такую фигню мне не понятно
не логично как то
может можно как то перевести его действительно однострочный режим
чтение даташита показала что вроде есть в команде Function set
бит N который якобы должен перевести его в режим однострочного
там так и написано
N = 2-line/1-line
но не помогает это не хотит он переходить в этот режим
или они имели под этим что то другое
прошу помощи по данному вопросу
но внутренне он построен как двухстрочный 2х8
и работать привычно с одной строкой не получается особенно когда выводиш не одиночные символы а строки
приходиться отслеживать что поз. следущего символа уже превысила 8 знаков и переключаться на вторую строку
тоесть как бы иметировать однострочный режим
зачем производитель замутил такую фигню мне не понятно
не логично как то
может можно как то перевести его действительно однострочный режим
чтение даташита показала что вроде есть в команде Function set
бит N который якобы должен перевести его в режим однострочного
там так и написано
N = 2-line/1-line
но не помогает это не хотит он переходить в этот режим
или они имели под этим что то другое
прошу помощи по данному вопросу
Посмотри здесь:Pippeytz писал(а):Купил , блин на свою голову ету панель .
Юзаю коде вижен, и библиотеку на HD44780 - везде пишут что KS0066
аналог, у них только процедуры инициализации разные . Вобщем весь день промордавался с етой панелью , абсолютно не как не реагирут на управляющие сигналы от МК. Может к етим контролерам нужна своя библиотека для работы , или кто-то может сталкивался с етими KS0066 ?
Как их заставить рабоать ? Ато , уже подумываю на щет написания собственой билиотеки ...
http://www.melt.com.ru/work/display/150
Да, я просто не пойму работают ети KS0066 под библиотеку под HD44780 из коде вижена?
Полный пипеутз.
KS0066 полностью аналогичен HD44780, из кодевижена библа подходит. на дисплее видна первая строка? (темные квадраты)
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
У меня етих дисплеев 2 оидн 2х16 другой 1х16.
В первом вобще никакой реакции нету на команды, во втором работает ровно половина дисплея (ето со стандартной библой)
А когда я их гонял командами в ручную , без билиотеки - все светилсоь. Как
токо подключаеш готовую библу - никакой реакции
В первом вобще никакой реакции нету на команды, во втором работает ровно половина дисплея (ето со стандартной библой)
А когда я их гонял командами в ручную , без билиотеки - все светилсоь. Как
токо подключаеш готовую библу - никакой реакции
Полный пипеутз.
ну, понимаю что говорю очевидное, но..... контраст крутить пробовали?
да и пример вашего кода для наглядности не помешал бы
да и пример вашего кода для наглядности не помешал бы
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Контарст выставлен максимальный.. В низу когда чип трогаеш какие-то сигменты светяться, а чтобы ето все от мк управлялось.. Ладно , буду разбираться раз с етой билиотекой ето работать должно
Полный пипеутз.
в смысле точки? если контраст на максимуме то верхняя строка должна быть почти черной, фотку дисплея можно увидеть?Pippeytz писал(а):В низу когда чип трогаеш какие-то сигменты светяться, а чтобы ето все от мк управлялось..
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Фотика к сожаления нету, а светиться как положено почти черным. Цвет
размазаной пасты от ручки.Не работает от лсд библиотеки коде вижена и все тут..
размазаной пасты от ручки.Не работает от лсд библиотеки коде вижена и все тут..
Полный пипеутз.
а примерчик кода мона?
, инициализируете дисплей перед обращением к нему? а по какой схеме подключен дисплей? (в CV кажется шина данных 4-х проводная) подключен дисплей правильно?
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
- Сообщения: 3459
- Зарегистрирован: Ср сен 27, 2006 16:18:57



