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

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

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

Сообщение Doc »

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

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

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

Сообщение TripleKill »

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

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

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

Сообщение Doc »

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

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

Сообщение TripleKill »

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

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

Сообщение Doc »

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

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

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

Сообщение Bear2011 »

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

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

Сообщение urry »

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

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

Сообщение TripleKill »

Doc писал(а):Тоесть, Вы считаете что русские символы там зашиты


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

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

Сообщение Doc »

получил даташит на мой индикатор - кириллиц там нет
LCD1602.pdf
(842.43 КБ) 3576 скачиваний


тогда возвращаюсь к вопросу в первом посте - есть ли возможность перепрошить знакогенератор в индикаторе?

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

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

Сообщение Bear2011 »

есть ли возможность перепрошить знакогенератор в индикаторе?


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

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

Сообщение 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
Контактная информация:

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

Сообщение 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"

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

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

Сообщение TripleKill »

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

Изображение

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

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

Сообщение murzila »

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

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

Сообщение Doc »

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

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

Сообщение 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[i];
if (P > 0x7F) P=kirilTable[mas[i]-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);
};
идейный борец за ден. знаки всего мира
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

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

Сообщение TripleKill »

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

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

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

Сообщение shads »

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

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

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

Сообщение shads »

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

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

Сообщение Vov123 »

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

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