Софт : Полезности


Тимофей Носов     

Конвертер символов знакосинтезирующих индикаторов

В один прекрасный день возникло ощущение, что чего-то не хватает. Даже программа Winamp никак не помогала избавиться от этого недуга. Дело касалось написания очередного русифицированного меню для знакосинтезирующего индикатора, в простонародье называемого LCD (2х16 и прочих – это для тех кто не понял). Да что говорить, очень многие столкнулись с вопросом непонимания кодировки LCD. И я об этом сужу по отзывам, сообщениям и письмам на статью "Темброблок с микроконтроллерным управлением на TDA8425".

Друзья, ваши чувства мне близки по схожести эмоций. Если честно, и меня напрягает "кланяться" каждому кириллическому символу при написании русскоязычных экранных фраз. В итоге, без лишних изысков, по-быстрому была написана очередная полезняшка. Это конвертер текста в 16-ричные коды символов знакосинтезирующих индикаторов, собранных на HD44780,  KS0066 и аналогичных.

Эта программа не имеет явной заточенности под какой либо синтаксис и контроллер. Полученный результат может быть использован как в ассемблере, так и в Си.

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

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


Подобное оформление не занимает флеш-память МК и значительно облегчает работу.

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

// типовой массив символов на английском
const unsigned char arr_logo2 [9] =
{L,A,B,K,I,T,.,R,U};

// представление массива в значениях
const unsigned char arr_logo1 [9] =
{0x4C,0x41,0x42,0x4B,0x49,0x54,0x2E,0x52,0x55};

// пример на русском «привет мир»
hd44_word ("ѕpёіeї јёp");


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

 

 

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

 

 

 

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


Файлы:
Приложение для работы на ПК


Назад

Просмотров: 49161

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.