Динамическая индикация дисплея 1602

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
maksimdag0
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Динамическая индикация дисплея 1602

Сообщение maksimdag0 »

Всем привет! Возникла сложность в отображении всех 33 букв русского алфавита в дисплее 1602 где русской раскладки нет. Как-то мне посоветовали использовать динамическую индикацию для решения этой проблемы, но я не могу понять как ее реализовать. Кто с этим сталкивался поделитесь пожалуйста опытом или может кто знает где это можно изучить?
Я пробовал реализовать динамически, но у меня не успевают символы отобразиться, как уде записываются другие. Я не знаю вообще возможно ли это сделать на 1602?
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение Martian »

А что мешает поставить паузу (уйти делать другую часть программы) и не записывать, пока не отобрязяться?
Реклама
maksimdag0
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Re: Динамическая индикация дисплея 1602

Сообщение maksimdag0 »

Так это будет заметно же глазу
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Динамическая индикация дисплея 1602

Сообщение MLX90640 »

Ой-вэй, зачем "динамическая индикация"?
Вам посоветовали использовать 8 пользовательских ячеек в начале таблицы символов, вот эти:
Изображение
в них вначале нужно загрузить изображение тех русских символов, которые будете использовать в ТЕКУЩЕМ выводимом слове или строке, а потом уже при выводе текстовой строки указать в нужных местах номера ячеек, в которые загружены нужные символы
Реклама
Эиком - электронные компоненты и радиодетали
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение Martian »

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

Добавлено after 2 minutes 34 seconds:
MLX90640, может, ТС использует 9 символов разных... тогда всё несколько веселее. И я бы решал пересмотром интерфейса, чтобы было не более 8 + совпадающие по начертанию из таблицы
Реклама
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Динамическая индикация дисплея 1602

Сообщение MLX90640 »

А, прочитал, да, он хочет все 33 символа одновременно :) Ну это как бы...
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение Martian »

не поместится, нужно 1604 или 2002 )
maksimdag0
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Re: Динамическая индикация дисплея 1602

Сообщение maksimdag0 »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4312770#p4312770"]А, прочитал, да, он хочет все 33 символа одновременно :) Ну это как бы...[/uquote]
ну не то что бы одновременно, а хотя бы например два или три слова, полюбому появится такие слова где мне этих 8 символов и символов латиницы похожих будет не достаточно)

Добавлено after 1 minute 5 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4312768#p4312768"]чтобы отобразить на таком дисплее какой-то символ нужно послать команды инициализации дисплея, однократно, при включении, а затем послать команды, загружающие символ в пользовательскую ячейку, а затем команды, адресующие знакоместо экрана на эту ячейку. После этого можно вообще выключить микроконтроллер, но символ останется.
Никаких проблем глазам.

Добавлено after 2 minutes 34 seconds:
MLX90640, может, ТС использует 9 символов разных... тогда всё несколько веселее. И я бы решал пересмотром интерфейса, чтобы было не более 8 + совпадающие по начертанию из таблицы[/uquote]
Допустим три слова, как вы это сделаете? Никак
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение Martian »

[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312773#p4312773"]Допустим три слова, как вы это сделаете? Никак[/uquote]

Внимание! Напр.
15 вольт!

импвльт - понадобилось 7 символов
maksimdag0
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Re: Динамическая индикация дисплея 1602

Сообщение maksimdag0 »

ну выкручивать как то можно, если действовать таким, способом, но я хотел на все случаи жизни, но кажется это невозможно с таким дисплеем. Ладно, всем спасибо)
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение Martian »

Вы купили вагон дисплеев? на всю жизнь?
maksimdag0
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Re: Динамическая индикация дисплея 1602

Сообщение maksimdag0 »

неее, я имею в виду на все случаи жизни в плане написания и сочетании слов
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение veso74 »

Для повторяющихся букв используйте соответствующие буквы из другой кодовой таблицы.
напр. eng "Т" -> ру "Т"

Для несуществующих букв английского алфавита создаете:
В 8 CGRAM дисплея можете создать 8 букв с соответствующей кодировкой в ​​8 первых ячейках.

или больше, чем 8:
Если нужны все буквы, напр. в первых 7 создайте буквы, которые используются чаще всего.
В последная 8: создаете символ, печатаете его, создаете другой символ, печатаете его и т. д.

Загрузка кода для новой буквы занимает несколько строк. например на С использую:

Код: Выделить всё

void lcd_create_char(int8 location, int8 charmap[]) {
  location &= 0x7; // we only have 8 locations 0-7
  lcd_send_byte(0, 0x40 | (location << 3));
  
  for (int8 i = 0; i < 8; i++)
    lcd_send_byte(1, charmap[i]);
}
Для код букв: Ексел или онлайн калкулатор или ... карандаш и бумага :) :
LCD Custom Character Generator/

ниже: печат буквы "Ю"
Вложения
Untitled-3.jpg
(68.94 КБ) 60 скачиваний
Untitled-2.jpg
(162.94 КБ) 45 скачиваний
Untitled-1.jpg
(110.32 КБ) 52 скачивания
Последний раз редактировалось veso74 Пн окт 31, 2022 21:23:59, всего редактировалось 1 раз.
Игорь_396
Встал на лапы
Сообщения: 102
Зарегистрирован: Ср дек 25, 2019 21:17:31
Откуда: Саратов

Re: Динамическая индикация дисплея 1602

Сообщение Игорь_396 »

[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312758#p4312758"]Всем привет! Возникла сложность в отображении всех 33 букв русского алфавита в дисплее 1602 где русской раскладки нет. Как-то мне посоветовали использовать динамическую индикацию для решения этой проблемы, но я не могу понять как ее реализовать. Кто с этим сталкивался поделитесь пожалуйста опытом или может кто знает где это можно изучить?
Я пробовал реализовать динамически, но у меня не успевают символы отобразиться, как уде записываются другие. Я не знаю вообще возможно ли это сделать на 1602?[/uquote]
Здесь посмотрите.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Динамическая индикация дисплея 1602

Сообщение ARV »

при "динамическом" отображении буквы, которые обновляются знакогенератором, будут более тусклые, чем те, что штатно прошиты в знакогенераторе - это очевидно же.

но в чем проблема, я не понимаю: надо динамически раз 50 в секунду выводить текст, поочередно заменяя русские "оригинальные" буквы то на пробел, то на символ из встроенного генератора. разумеется, и знакогенератор надо обновлять по мере необходимости перед выводом символов. муторно это все, но вполне реализуемо.

я делал вот такое:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «ARM»