Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Вс окт 07, 2012 15:17:26

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

Есть ли возможность прошить в такой индикатор русские буквы? И если да то как это сделать?

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

Вс окт 07, 2012 15:37:10

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

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

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

Вс окт 07, 2012 21:25:30

Как я понял эта программа создает кодовый набор для русских символов, но как понять понимает ли сам индикатор их? Потому как я брал готовую прошивку в которой уже все это должно быть (кстати там АТМЕГА)
То что он ставит за место русских букв нельзя назвать иероглефами

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

Пн окт 08, 2012 06:52:55

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

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

Вт окт 09, 2012 06:03:40

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

Вот это программой можно это проверить? http://www.labkit.ru/html/indication

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

Вт окт 09, 2012 06:13:21

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

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

Вт окт 09, 2012 08:04:27

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

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

Вт окт 09, 2012 11:07:15

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


Я уже написал. Они МОГУТ БЫТЬ зашиты. Могут и не быть. Всё зависит от того, что производитель дисплея заложил в знакогенератор.
А вообще говоря на индикаторе можно изобразить всё, что угодно.
Всё дело в том, как конкретно программа использует дисплей: рисуя кириллицу как пользовательский символ или из знакогенератора.

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

Чт окт 11, 2012 07:03:30

получил даташит на мой индикатор - кириллиц там нет
LCD1602.pdf
(842.43 KiB) Скачиваний: 3386


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

и ещё вопрос (так как сам никогда не писал прошивки могу только брать готовые) чем можно отредактировать данную прошивку, чтобы воспользоваться перекодировщиком предоставленным выше
IBPsoft.zip
(5.24 KiB) Скачиваний: 932

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

Чт окт 11, 2012 07:30:24

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


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

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

Чт окт 11, 2012 07:32:15

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

Код:
Lcd Chr(&Ha4) ; Chr(&H61) ; Chr(&Hbe) ; Chr(&Hb8) ; Chr(&H63) ; Chr(&Hc4) ; Chr(&H20) ; Chr(&Hb3) ;


Можно пробовать менять байты, стоящие после &H, компилить, шить и смотреть, что изменится.

К слову, в даташите на винстаровские 1602 в таблицах тоже вроде как русского нет. Но с прогой пишет тем не менее.

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

Чт окт 11, 2012 20:24:36

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

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"

А есть ли возможность понять что написано - то есть перекодировать в обычный текст?

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

Сб окт 13, 2012 19:11:00

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

Изображение

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

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

Сб окт 13, 2012 19:25:01

Bear2011 писал(а):К слову, в даташите на винстаровские 1602 в таблицах тоже вроде как русского нет. Но с прогой пишет тем не менее.
По той простой причине, что к нам, таки, возят индикаторы с кириллическим набором символов. Кстати, часть символов сходных по написанию с русскими, берется из латинского набора.
СпойлерИзображение

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

Пн окт 15, 2012 09:33:36

Спасибо за помощь. Все получилось - просто перевел фразы на английски, перекопилил , прошил и все отлично

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

Вт окт 16, 2012 16:15:52

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

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);
};

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

Вт окт 16, 2012 18:42:40

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

К слову, при использовании программы нет необходимости забивать память массивом.

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

Вт янв 01, 2013 17:53:45

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

Изображение
Вложения
DSC039932.jpg
(87.65 KiB) Скачиваний: 33860

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

Ср янв 02, 2013 01:55:36

Тут можно узять исходники:
http://forum.easyelectronics.ru/viewtop ... 16&t=13364

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

Ср янв 02, 2013 02:54:34

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