Всем привет! Возникла сложность в отображении всех 33 букв русского алфавита в дисплее 1602 где русской раскладки нет. Как-то мне посоветовали использовать динамическую индикацию для решения этой проблемы, но я не могу понять как ее реализовать. Кто с этим сталкивался поделитесь пожалуйста опытом или может кто знает где это можно изучить? Я пробовал реализовать динамически, но у меня не успевают символы отобразиться, как уде записываются другие. Я не знаю вообще возможно ли это сделать на 1602?
Ой-вэй, зачем "динамическая индикация"? Вам посоветовали использовать 8 пользовательских ячеек в начале таблицы символов, вот эти: в них вначале нужно загрузить изображение тех русских символов, которые будете использовать в ТЕКУЩЕМ выводимом слове или строке, а потом уже при выводе текстовой строки указать в нужных местах номера ячеек, в которые загружены нужные символы
чтобы отобразить на таком дисплее какой-то символ нужно послать команды инициализации дисплея, однократно, при включении, а затем послать команды, загружающие символ в пользовательскую ячейку, а затем команды, адресующие знакоместо экрана на эту ячейку. После этого можно вообще выключить микроконтроллер, но символ останется. Никаких проблем глазам.
Добавлено after 2 minutes 34 seconds: MLX90640, может, ТС использует 9 символов разных... тогда всё несколько веселее. И я бы решал пересмотром интерфейса, чтобы было не более 8 + совпадающие по начертанию из таблицы
А, прочитал, да, он хочет все 33 символа одновременно Ну это как бы...
ну не то что бы одновременно, а хотя бы например два или три слова, полюбому появится такие слова где мне этих 8 символов и символов латиницы похожих будет не достаточно)
чтобы отобразить на таком дисплее какой-то символ нужно послать команды инициализации дисплея, однократно, при включении, а затем послать команды, загружающие символ в пользовательскую ячейку, а затем команды, адресующие знакоместо экрана на эту ячейку. После этого можно вообще выключить микроконтроллер, но символ останется. Никаких проблем глазам.
Добавлено after 2 minutes 34 seconds: MLX90640, может, ТС использует 9 символов разных... тогда всё несколько веселее. И я бы решал пересмотром интерфейса, чтобы было не более 8 + совпадающие по начертанию из таблицы
ну выкручивать как то можно, если действовать таким, способом, но я хотел на все случаи жизни, но кажется это невозможно с таким дисплеем. Ладно, всем спасибо)
Для повторяющихся букв используйте соответствующие буквы из другой кодовой таблицы. напр. 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]); }
Всем привет! Возникла сложность в отображении всех 33 букв русского алфавита в дисплее 1602 где русской раскладки нет. Как-то мне посоветовали использовать динамическую индикацию для решения этой проблемы, но я не могу понять как ее реализовать. Кто с этим сталкивался поделитесь пожалуйста опытом или может кто знает где это можно изучить? Я пробовал реализовать динамически, но у меня не успевают символы отобразиться, как уде записываются другие. Я не знаю вообще возможно ли это сделать на 1602?
при "динамическом" отображении буквы, которые обновляются знакогенератором, будут более тусклые, чем те, что штатно прошиты в знакогенераторе - это очевидно же.
но в чем проблема, я не понимаю: надо динамически раз 50 в секунду выводить текст, поочередно заменяя русские "оригинальные" буквы то на пробел, то на символ из встроенного генератора. разумеется, и знакогенератор надо обновлять по мере необходимости перед выводом символов. муторно это все, но вполне реализуемо.
я делал вот такое:
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения