Редактор символов для lcd

Редактор символов для lcd

Сайт об электронике и не только

Символьный генератор

Данная программа предназначена для генерации массива символов для графических дисплеев. Она может генерировать, как символы обычного размера 5х8, так и символы размеров в 2 раза больше стандартного 10х16.

Пример использования массивов символов и функции отображения символов

Данные шрифты используются на дисплее от сотового телефона Nokia 3310 и на всех последующих проектах с монохромными графическими дисплеями:

Эти шрифты подойдут и к другим графическим дисплеям (например: дисплеям на контроллере KS0108B), которые схожи по организации памяти.

  • Программа открывается по центру рабочего стола, а не по центру рабочей области всех рабочих столов;
  • При двойном клике на строчку кода сформированного символа — символ отобразиться на рабочей области;
  • Добавлена возможность сохранения сгенерированного кода.

Программа обновлена 09.01.2017

Статья обновлена 09.01.2017

9 комментариев на « Символьный генератор»

САНЕК пишет 13.01.2011 в 10:35 #

Ни чего подобного,по простоте в обращении,ещё не встречал.Хотя есть пара буржуйских прог,но всё это не то!
Респект автору.
Если в будующем появится прога на весь 3310 (84х48) это будет фантастика.
Творческих успехов.

Alex_EXE пишет 14.01.2011 в 15:14 #

Если в будующем появится прога на весь 3310 (84х48) это будет фантастика.

valexus пишет 17.01.2011 в 00:24 #

Прога на весь экран nokia 3310 есть , FastLcd называеться , только она сохраняет масив в формате бейсика , потом обязательно надо в виндовсовском блокноте формат заменить на сишный или еще какойто (делов на несколько секунд).

САНЕК пишет 23.01.2011 в 10:05 #

Alex_EXE
Спасибо за Ваш труд.
Проверил,очень удобно.

Игорь пишет 12.03.2011 в 16:06 #

Скачал » штобы было». Но всё-же огромное СПАСИБО .

Лёха пишет 05.04.2014 в 21:06 #

Я как дурак в пейнте рисовал и в калькуляторе переводил. Спасибо

H`UGO пишет 18.06.2014 в 21:53 #

Отличная прога! А возможно не фиксировать размер, а устанавливать скажем не только 5х8 и 10х16, а в диапозоне? Допустим выставил 14 х 24, и колдуешь.

Cyrill пишет 05.03.2015 в 16:15 #

Собрал проэкт в Keil 4 с русским шрифтом борода, не отображает ни на одном дисплее вместо выводит символы C & P

Читайте также:  Основы работы в ворде

Alex_EXE пишет 10.03.2015 в 01:47 #

Сайт об электронике и не только

Символьный генератор

Данная программа предназначена для генерации массива символов для графических дисплеев. Она может генерировать, как символы обычного размера 5х8, так и символы размеров в 2 раза больше стандартного 10х16.

Пример использования массивов символов и функции отображения символов

Данные шрифты используются на дисплее от сотового телефона Nokia 3310 и на всех последующих проектах с монохромными графическими дисплеями:

Эти шрифты подойдут и к другим графическим дисплеям (например: дисплеям на контроллере KS0108B), которые схожи по организации памяти.

  • Программа открывается по центру рабочего стола, а не по центру рабочей области всех рабочих столов;
  • При двойном клике на строчку кода сформированного символа — символ отобразиться на рабочей области;
  • Добавлена возможность сохранения сгенерированного кода.

Программа обновлена 09.01.2017

Статья обновлена 09.01.2017

9 комментариев на « Символьный генератор»

САНЕК пишет 13.01.2011 в 10:35 #

Ни чего подобного,по простоте в обращении,ещё не встречал.Хотя есть пара буржуйских прог,но всё это не то!
Респект автору.
Если в будующем появится прога на весь 3310 (84х48) это будет фантастика.
Творческих успехов.

Alex_EXE пишет 14.01.2011 в 15:14 #

Если в будующем появится прога на весь 3310 (84х48) это будет фантастика.

valexus пишет 17.01.2011 в 00:24 #

Прога на весь экран nokia 3310 есть , FastLcd называеться , только она сохраняет масив в формате бейсика , потом обязательно надо в виндовсовском блокноте формат заменить на сишный или еще какойто (делов на несколько секунд).

САНЕК пишет 23.01.2011 в 10:05 #

Alex_EXE
Спасибо за Ваш труд.
Проверил,очень удобно.

Игорь пишет 12.03.2011 в 16:06 #

Скачал » штобы было». Но всё-же огромное СПАСИБО .

Лёха пишет 05.04.2014 в 21:06 #

Я как дурак в пейнте рисовал и в калькуляторе переводил. Спасибо

H`UGO пишет 18.06.2014 в 21:53 #

Отличная прога! А возможно не фиксировать размер, а устанавливать скажем не только 5х8 и 10х16, а в диапозоне? Допустим выставил 14 х 24, и колдуешь.

Читайте также:  Иероглиф буква руна графика цифра что лишнее

Cyrill пишет 05.03.2015 в 16:15 #

Собрал проэкт в Keil 4 с русским шрифтом борода, не отображает ни на одном дисплее вместо выводит символы C & P

Alex_EXE пишет 10.03.2015 в 01:47 #

Хотел бы представить Вашему вниманию свою собственную библиотеку для работы с широко распространёнными символьными дисплеями на базе контроллера HD44780.


Рис.1 Внешний вид дисплея на базе контроллера HD44780 ( 2 строки Х 16 символов).

Библиотека написана на С#, в Atmel Studio 6.2. Библиотека состоит из двух файлов: HD44780_Config.h и HD44780.c. Первый файл является заголовочным, он, собственно, и подключается в Ваш разрабатываемый проект директивой #include "HD44780_Config.h". Также, в этом файле мы прописываем все необходимые нам начальные настройки. Вот, собственно, исходный код этого заголовочно — настроечного файла:

Здесь, в общем и целом, каждая функция и каждый заданный макрос описаны между знаками комментария /* */. Большее внимание хотелось бы уделить макросам, определяющим инициализационные настройки:

Данный макрос определяет, по какой схеме Вы хотите подключить свой дисплей к микроконтроллеру — 4-х проводная (Data_Length 0) или 8-ми проводная (Data_Length 1).


Рис.2 Схемы подключения дисплея к МК

а) 8-ми проводная б) 4-х проводная

Если вы выбираете 4-х проводную схему, то побитно записываете порты МК, к которым подключены линии дисплея, в этот макрос:

Например, где PORT_bus_4 — это имя порта МК, к которому подключена линия дисплея DB4. Аналогично и с записью бита порта: PIN_bus — номер бита порта, к которому подключена линия дисплея DB4.

Если вы выбираете 8-ми проводную схему, то побитно записываете порты МК, к которым подключены линии дисплея, в этот макрос:

Здесь все так же, только проводов больше. Зачем же такие сложности, спросите вы? Ответ прост-благодаря этому, Вы можете подключать линии дисплея абсолютно в разброс по всем портам МК, к которым захотите и ножки которых будут свободны. Просто зачастую получается так, что при проектировании какого-либо устройства не удаётся сохранить абсолютно свободным целый порт. Я часто сталкивался с этой проблемой, и решил её таким вот образом. Здесь Вы не привязаны к конкретным ножкам МК, какие цифры напишете и названия портов в вышеприведённых макросах настройки, по таким линиям микроконтроллера и будет работать ваш дисплей.

Читайте также:  Лампочки для подсветки вытяжки

Остальные макросы и функции, я думаю, не вызовут затруднений в использовании, поскольку их описание приводится непосредственно в исходном коде заголовочного файла. Единственная функция, которой я хотел бы уделить дополнительное внимание-функция записи в память CGRAM пользовательских символов, которых нет в таблице ASCI:

LCD_UserSymbolsWrite(uchar Addr, uchar *data);

Данная функция позволяет нам записать в энергозависимую память знакогенератора 8 собственных символов, которые Вы сами и придумаете. Для большей ясности, дабы мне не повторять автора, можете почитать интересную статью: http://cxem.net/mc/book52.php. Там расписана вся работа дисплея на аппаратном уровне. Моя статья и библиотека призваны упростить применение дисплея=)

Так, я немножко отвлёкся от темы. Запись в дисплей пользовательских символов. — Для упрощения этой задачи, в дополнение к библиотеке, я написал простую программу:


Рис.3 Внешний вид программы для рисования пользовательских символов

Синие квадратики соответствуют не активированным пикселям сегмента дисплея. Кликом мыши можно переключать эти пиксели между видимым состоянием и не видимым. Программа рассчитывает значения байтов данных и автоматически создаёт готовый массив одного символа Symbol[8], состоящего из восьми байт. После того, как вы закончили рисование своего символа, копируете весь массив в Ваш проект и запихиваете его в память дисплея функцией LCD_UserSymbolsWrite вот так:

где i — адрес памяти CGRAM, предназначенный для пользовательских символов. Диапазон адресов: 0х00-0х07;

&Symbol[0] — указатель на нулевой (начало) элемент массива с данными для сегмента.

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


Рис.4 Внешний вид программы для рисования пользовательских символов с готовым результатом


Рис.5 и 6 Иллюстрация работы

В общем и целом, вроде бы всё. Если что-то будет непонятно, почитать можно тут: http://cxem.net/mc/book52.php.

Если даже после этого останутся вопросы — задавайте в комментариях. Спасибо за внимание!

Ссылка на основную публикацию
Регулятор громкости для автомагнитолы
Бывший хозяин видимо пытаясь снять магнитолу за рукоятку громкости, сломал её. В результате громкость не регулировалась, а отпаявшиеся контакты энкодера...
Работа с far manager
Фар менеджер - один из самых удобных файловых менеджеров, рассчитанный на работу с файлами и папками на дисках, прежде всего,...
Работа с классами python
Серия контента: Этот контент является частью # из серии # статей: Этот контент является частью серии: Следите за выходом новых...
Регулярные выражения perl примеры
Regular expressions, или регулярные выражения - способ определения символьной маски для последующего сравнения с ней строки символов или для обработки...
Adblock detector