0

Les symboles de devises znakosinteziruyuschih indicateurs

У каждого радиолюбителя, разработчика, программиста есть множество программок “полезняшек”. Одни посерьезнее, другие с функциями попроще. И все они, так или иначе, помогают в творчестве на ниве радиолюбительства.
В один прекрасный день возникло ощущение, что чего-то не хватает. Даже программа Winamp никак не помогала избавиться от этого недуга. Дело касалось написания очередного русифицированного меню для знакосинтезирующего индикатора, в простонародье называемого LCD (2х16 и прочих – это для тех кто не понял). Да что говорить, очень многие столкнулись с вопросом непонимания кодировки LCD. И я об этом сужу по отзывам, сообщениям и письмам на статью “Темброблок с микроконтроллерным управлением на TDA8425”.
Друзья, ваши чувства мне близки по схожести эмоций. Если честно, и меня напрягает “кланяться” каждому кириллическому символу при написании русскоязычных экранных фраз. В итоге, без лишних изысков, по-быстрому была написана очередная полезняшка. Это конвертер текста в 16-ричные коды символов знакосинтезирующих индикаторов, собранных на HD44780, KS0066 и аналогичных.
Эта программа не имеет явной заточенности под какой либо синтаксис и контроллер. Полученный результат может быть использован как в ассемблере, так и в Си.

В ассемблере на PIC эффективнее работать с кодировкой через сопоставления, как это показано ниже (русский текст компилятор MPLAB адекватно обрабатывает, что выгодно PIC отличает от других микроконтроллеров):

; Cопоставление символов с числами ЖКИ
А equ 0x41
Б equ 0xA0
В equ 0x42
...

Подобное оформление не занимает флеш-память МК и значительно облегчает работу.
Что касается синтаксиса Си для PIC, то здесь варианты использования ограничены только фантазией. Это могут быть и отдельные слова, и фразы, и словарные библиотеки в массивах, и даже контент в ПЗУ. В общем – кому как нравится и кто как умеет.

// массив заставка на русском
const unsigned char arr_logo1 [8] = {0x50, 0x61, 0xE3, 0xB8, 0x6F, 0xBA, 0x6F, 0xBF},
// и тоже самое на английском
const unsigned char arr_logo2 [8] = {‘R’,’A’,’D’,’I’,’O’,’K’,’O’,’T’},

Что мы видим? Про схожесть кодировки на английском не нужно рассказывать, это известный факт. А вот на русском языке придется приседать. И взята кодировка из типовой таблицы знакогенератора.

1Кто-то может немного разочароваться, что его знакогенератор вместо русских символов содержит китайскую грамоту. Ну ничего страшного. Учите китайский, либо пишите на английском. А лучше и то и другое. Говорят, что помогает.
Ну и собственно программа. Всё просто.

2 В одном окне пишем, в другом копируем готовый результат. Поддерживаются символы, русские и английские буквы, большие, маленькие, цифры. В общем, конвертируется всё, что набрано с клавиатуры. Вроде бы фигня, но полезная.

Файлы:
Софт для ПК

radiokot.ru

administrateur

Laisser un commentaire

Your email address will not be published. Required fields are marked *