Например TDA7294

РадиоКот > Статьи

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

Автор - Анастасия Попкова.
Опубликовано 07.05.2010.

У каждого радиолюбителя, разработчика, программиста есть множество программок "полезняшек". Одни посерьезнее, другие с функциями попроще. И все они, так или иначе, помогают в творчестве на ниве радиолюбительства.
В один прекрасный день возникло ощущение, что чего-то не хватает. Даже программа 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'},

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

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

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

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

Вопросы, как обычно, складываем тут.


ID: 35

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

9 3
2 1
Подробно