Индикаторы 1602 и русский язык

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Doc
Открыл глаза
Аватара пользователя
Сообщения: 65
Зарегистрирован: Пт янв 06, 2006 12:13:45
Откуда: Moscow

Сообщение Doc »

Приобрел индикатор 1602ZFA прямиком из Китая, но при установки оказалось, что он не понимает русского
тоесть отображение буржуйских слов идет нормально , а русский крскорябзами

Есть ли возможность прошить в такой индикатор русские буквы? И если да то как это сделать?
Малое знание опасно, впрочем как и большое....
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

http://labkit.ru/html/profit?id=393

Если после этого не захочет писать на русском - значит не умеет.
Там как повезёт, в знакогенераторе могут быть китайские символы.
У меня нормально пишет.
Реклама
Doc
Открыл глаза
Аватара пользователя
Сообщения: 65
Зарегистрирован: Пт янв 06, 2006 12:13:45
Откуда: Moscow

Сообщение Doc »

Как я понял эта программа создает кодовый набор для русских символов, но как понять понимает ли сам индикатор их? Потому как я брал готовую прошивку в которой уже все это должно быть (кстати там АТМЕГА)
То что он ставит за место русских букв нельзя назвать иероглефами
Малое знание опасно, впрочем как и большое....
Контактная информация:
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

Программа ничего не создаёт. Таблица символов жёстко вшита в дисплей. Если нужно изобразить нечто не из таблицы - это уже другой метод.
В программе знакогенератор дисплея не обходится, а именно что используется.
Просто компилятор эти символы в коды превращает. А коды подобраны так, чтоб попасть на русские буквы. Всё в статье по ссылке написано.
Возможно, от IDE зависит. Я в mikroC этим пользовался, там для дисплеев библиотека есть.
Прям в функцию и копирую текст, выданный прогой: Lcd_out(1,1,"#$&$&#$&#"); - и всё пашет.
Если вы не пользуетесь библиотеками, то в программе предусмотрена выдача и кодов тоже.
Весь вопрос в том, зашита ли в знакогенератор кириллица или катакана. Пробуйте - и увидите.
Реклама
Эиком - электронные компоненты и радиодетали
Doc
Открыл глаза
Аватара пользователя
Сообщения: 65
Зарегистрирован: Пт янв 06, 2006 12:13:45
Откуда: Moscow

Сообщение Doc »

Тоесть, Вы считаете что русские символы там зашиты, просто в прошивки указаны не те коды под них?

Вот это программой можно это проверить? http://www.labkit.ru/html/indication
Малое знание опасно, впрочем как и большое....
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Сообщение Bear2011 »

А мне попадались принтеры и МФУ у которых видимо не было русификации и русские буквы были сделаны из символов например Ж }|{ примерно так. И еще была интересная статья про то что в индикаторах есть место в памяти под 7 или 8 пользовательских символов. Правда эти символы нужно было загружать после выключения питания. Ну и далее способы писать по русски латиницей (это не тот стиль что использует молодежь в SMS а просто попытка использовать латинские буквы которые по написанию совпадают плюс загружаемые символы) сам не пробовал, тогда у меня просто индикаторов не было.
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

увидеть, есть в индикаторе русский шрифт или нет, можно посмотрев даташит на индикатор. Русские, насколько помню, выделяются буквой "c" - "кириллица" в названии. На ходу перевести можно, воспользовавшись таблицей Алекса
http://forum.chipmk.ru/index.php/topic/ ... D1%8F-lcd/
ЗЫ. Как правило, вначале читается шит, а потом покупается.
Но можно и наоборот... :)
Контактная информация:
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

Doc писал(а):Тоесть, Вы считаете что русские символы там зашиты
Я уже написал. Они МОГУТ БЫТЬ зашиты. Могут и не быть. Всё зависит от того, что производитель дисплея заложил в знакогенератор.
А вообще говоря на индикаторе можно изобразить всё, что угодно.
Всё дело в том, как конкретно программа использует дисплей: рисуя кириллицу как пользовательский символ или из знакогенератора.
Doc
Открыл глаза
Аватара пользователя
Сообщения: 65
Зарегистрирован: Пт янв 06, 2006 12:13:45
Откуда: Moscow

Сообщение Doc »

получил даташит на мой индикатор - кириллиц там нет
LCD1602.pdf
(842.43 КБ) 3579 скачиваний
тогда возвращаюсь к вопросу в первом посте - есть ли возможность перепрошить знакогенератор в индикаторе?

и ещё вопрос (так как сам никогда не писал прошивки могу только брать готовые) чем можно отредактировать данную прошивку, чтобы воспользоваться перекодировщиком предоставленным выше
IBPsoft.zip
(5.24 КБ) 995 скачиваний
Малое знание опасно, впрочем как и большое....
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Сообщение Bear2011 »

есть ли возможность перепрошить знакогенератор в индикаторе?
Увы нет. Знакогенератор программируется так называемой "маской" в процессе изготовления (сделано для удешевления процесса) и не может быть перепрошит. :( Вроде бы есть возможность заменить микросхему но тогда нужен индикатор-донор так что проще купить готовый или писать латиницей и недостающие знаки подгружать (рисовать символами)
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

Судя по гуглу, это написано в Bascom 8051.
Вывод текста осуществляется тут (и в похожих местах):

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

Lcd Chr(&Ha4) ; Chr(&H61) ; Chr(&Hbe) ; Chr(&Hb8) ; Chr(&H63) ; Chr(&Hc4) ; Chr(&H20) ; Chr(&Hb3) ; 
Можно пробовать менять байты, стоящие после &H, компилить, шить и смотреть, что изменится.

К слову, в даташите на винстаровские 1602 в таблицах тоже вроде как русского нет. Но с прогой пишет тем не менее.
Doc
Открыл глаза
Аватара пользователя
Сообщения: 65
Зарегистрирован: Пт янв 06, 2006 12:13:45
Откуда: Moscow

Сообщение Doc »

Нашел несколько таких сток

Lcd Chr(&Ha4) ; Chr(&H61) ; Chr(&Hbe) ; Chr(&Hb8) ; Chr(&H63) ; Chr(&Hc4) ; Chr(&H20) ; Chr(&Hb3) ; " EEPROM?"
Locate 2 , 1
Lcd Chr(&H45) ; Chr(&H63) ; Chr(&Hbb) ; Chr(&Hb8) ; Chr(&H20) ; Chr(&He3) ; Chr(&H61) ; Chr(&H20) ; Chr(&Hbd) ; Chr(&H61) ; Chr(&Hb6) ; Chr(&Hbc) ; Chr(&Hb8) ; "- M"

А есть ли возможность понять что написано - то есть перекодировать в обычный текст?
Малое знание опасно, впрочем как и большое....
Контактная информация:
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

Вот они в двоичной кодировке:

Изображение

Открываем даташит с таблицей знакогенератора и смотрим.
По таблице с русскими символами на labkit (кстати, там не надо в двоичный переводить, а в ДШ вроде в двоичном таблица) получается "Запись в", дальше английским текстом идёт " EEPROM?"
Итого имеем: "Запись в EEPROM?"
Мучитель микросхем
Сообщения: 436
Зарегистрирован: Сб апр 10, 2010 16:46:26

Сообщение murzila »

Bear2011 писал(а):К слову, в даташите на винстаровские 1602 в таблицах тоже вроде как русского нет. Но с прогой пишет тем не менее.
По той простой причине, что к нам, таки, возят индикаторы с кириллическим набором символов. Кстати, часть символов сходных по написанию с русскими, берется из латинского набора.
СпойлерИзображение
Doc
Открыл глаза
Аватара пользователя
Сообщения: 65
Зарегистрирован: Пт янв 06, 2006 12:13:45
Откуда: Moscow

Сообщение Doc »

Спасибо за помощь. Все получилось - просто перевел фразы на английски, перекопилил , прошил и все отлично
Малое знание опасно, впрочем как и большое....
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 41
Зарегистрирован: Ср фев 15, 2012 17:30:44
Откуда: Украина Шостка

Сообщение kama3er »

у меня давно была такая же проблема, но потом я случайно нашел кусок кода НЕИЗВЕСТНОГО героя. Низкий поклон ему!!! Больше проблем с кирилицей у меня не было
соответственно делюсь безвозмездно кодом:

const unsigned char kirilTable[64]= {
0x41, 0xA0, 0x42, 0xA1, 0xE0, 0x45, 0xA3, 0xA4, 0xA5, 0xA6, 0x4B, 0xA7, 0x4D, 0x48, 0x4F, 0xA8,
0x50, 0x43, 0x54, 0xA9, 0xAA, 0x58, 0xE1, 0xAB, 0xAC, 0xE2, 0xAD, 0xAE, 0xAD, 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, 0xE6, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7};
void dd_lcd(flash unsigned char *mas, unsigned char len ) //В функцию
//передаём параметры: mas - текст который выводим, len - его длина
{ unsigned char i,P;

for (i=0;i<len;i++) {
P= mas;
if (P > 0x7F) P=kirilTable[mas-0xC0];
lcd_putchar(P);
}
}


а здесь вызов функции вывода кирилицы

lcd_clear();
lcd_gotoxy(5,0);
dd_lcd ("для продолжения",15);
lcd_gotoxy(5,1);
dd_lcd("нажмите ОК",10);
соответственно текст и его длинна...

Да еще как-то заморачивался меню на 4х20 дисплей по мотивам DI Halt
соответственно вывод русского меню у меня бал реализован так

if (menu[current_menu].num_selections-current_poz==3)
{
lcd_clear();
time();
data();
lcd_gotoxy(0,1);
lcd_putsf("> ");
lcd_gotoxy(1,1);
dd_lcd(menu[current_menu].m[current_poz].mas,menu[current_menu].m[current_poz].len);
lcd_gotoxy(1,2);
dd_lcd(menu[current_menu].m[current_poz+1].mas,menu[current_menu].m[current_poz+1].len);
lcd_gotoxy(1,3);
dd_lcd(menu[current_menu].m[current_poz+2].mas,menu[current_menu].m[current_poz+2].len);
};
идейный борец за ден. знаки всего мира
Контактная информация:
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Сообщение TripleKill »

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

К слову, при использовании программы нет необходимости забивать память массивом.
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Осваиваю тут пришедший с китая WH1602, и естественно русского там нет..... но очень хочется.....
Вот и сойстряпал таки библиотечку, чтобы обычный, без кириллицы, индикатор, казал по нашему.....
Чуть позже кину ссылку....

Изображение
Вложения
DSC039932.jpg
(87.65 КБ) 35617 скачиваний
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

Тут можно узять исходники:
http://forum.easyelectronics.ru/viewtop ... 16&t=13364
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Сообщение Vov123 »

По моему всё придумано давно и без нас.Вот давно существующая программка конвертирования.Попробуйте на своём китайском индикаторе и если не трудно отпишитесь.К примеру в проекте вместо "С Новым Годом" нужно ввести "C HoіГј Ўoгoј".
Вложения
LCD20.rar
(106.65 КБ) 2577 скачиваний
Ответить

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