Форум по микроконтроллерам: Текст на ЖКИ с контроллером HD44780 - Форум по микроконтроллерам

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Текст на ЖКИ с контроллером HD44780 Можно легко выводить русский и английский текст

#1 Пользователь офлайн   gena.03 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 04 Март 12
  • ГородБрест

Отправлено 12 Март 2012 - 16:14

Быстро и легко выводить на ЖКИ русский и английский текст, символы, знаки поможет данная программа, написанная на Ассемблере.
Проект и пример использования:

Прикрепленные файлы

  • Прикрепленный файл  LCD.RAR (87,54К)
    Количество загрузок:: 810

2

#2 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 12 Март 2012 - 16:44

Немножко не понятно, что тестирует программа? Таблицы знакогенератора или просто исправность индикатора?
Если встраивать в программу, зачем весь алфавит определять? А если две таблицы у индикатора, что не редкость?
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#3 Пользователь офлайн   gena.03 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 04 Март 12
  • ГородБрест

Отправлено 12 Март 2012 - 20:36

Для вывода русского текста, естественно, в индикаторе должны быть две таблицы кодов символов - английского и русского. С выводом русских символов всё немного сложнее, чем с английскими.
Для меня более понятно читать и править такой текст:
stroka3 dt Ж,К,И," ",д,и,с,п,л,е,й,0x00
Чем так:
stroka3 dt 0xA3,0x4B,0xA5,0x20,0xE3,0xB8,0x63,0xBE,0xBB,0x65,0xB9,0x00
Или так:
movlw 0xA3
call Lcd_D
movlw 0x4B
call Lcd_D
movlw 0xA5
call Lcd_D
movlw 0x20
call Lcd_D

ну и т.д.
Поэтому и решил определить все русские символы.
Так же с местом ввода первого знакосимвола текста:
LINE 1,4,stroka1
Чем так:
movlw 0x83
call Lcd_A
movlw stroka3-stroka1
call Text

Эта программка была сделана, чтобы упростить ввод нужного текста (особенно русского) и не задумываться над тем, какой адрес соответствует, например, третьей строке четырёхстрочного шестнадцатисимвольного индикатора.
0

#4 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 12 Март 2012 - 23:47

Цитата

естественно, в индикаторе должны быть две таблицы кодов символов

Они могут быть и в одной таблице. А вот памяти знакогенератора могут быть две. Которые можно переключать. И в таблице ведь не только буквы. Там еще куча символов и значков. Их все тоже заносить тогда? А как интересно,я без обид, правда интересно, обозначать, например разряды батареи все уровни. Или стрелка влево/в право. Там бывают замысловатые. Ключики всякие. Все равно придется лезть в таблицу и искать номер символа.
Конечно вопрос спорный.
Но меня такая запись устраивает,
movlw 0xA3
call Lcd_D
movlw 0x4B
call Lcd_D
movlw 0xA5
call Lcd_D
movlw 0x20
call Lcd_D
почему. Во первых, если её написать один раз хоть в блокноте и поставить комментарии,к буквам
То набрать слово в программе пара пустяков. Что очень тяжело сделать строчкой и особенно символы.
Ну и не надо забывать. что многие буква латинские копия кирилицы. А,е,р,с ...
Понравился как указывается место в строке. Немного не привычная для меня запись. Но это не главное. Даже как то не задумывался об этом. В уме число складывается. Все равно же надо определить место 0 или 5. 0х80+5. не знаю. Может чего не понимаю.
Хотя если разобраться. Можно определить все знакогенераторы "любимых" индикаторов. И при работе вставлять в программу. Единственно проблема с символами. Но об этом я уже выше писал.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#5 Пользователь офлайн   gena.03 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 04 Март 12
  • ГородБрест

Отправлено 14 Март 2012 - 06:52

Извините за опечатку, в макросе SING строка:
movlw i
набрана два раза.
Что нужно для вывода нескольких знакосимволов. Пример:
CLR_LCD
SING 1,3,П
SINGadd "1"
SINGadd 0xD9

На индикаторе, в 1-й строке, 3-е знакоместо: П1 и стрелка вверх.
0

#6 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 14 Март 2012 - 09:07

http://www.melt.com.ru/docs/AN6866.pdf Посмотрите с 65 страницы, будет думаю интересно.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#7 Пользователь офлайн   gena.03 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 04 Март 12
  • ГородБрест

Отправлено 15 Март 2012 - 22:54

Да-а, сколько фирм, выпускающих индикаторы, столько будет и различных стандартов таблиц. И под конкретный ЖКИ нужно будет что-то и изменить. В программе я использовал ЖКИ с контроллером фирмы Epson с вот такой таблицей:

Прикрепленные изображения

  • Прикрепленное изображение: Снимок.GIF

0

#8 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 16 Март 2012 - 01:16

стандарты одинаковые. таблиц много. Я про их еще переключение имел в виду у одного индикатора.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#9 Пользователь офлайн   gena.03 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 04 Март 12
  • ГородБрест

Отправлено 18 Март 2012 - 01:36

Ещё раз просмотрел приведённую выше ссылку на 65 странице.
У всех кодировок, независимо от страницы, цифры, знаки препинания и английские буквы имеют фиксированный адрес (совпадающий с ASCII у Вас на клавиатуре).
В кодировках S00, S01, S06 страница 1 - русского нет.
В кодировке S02 страница 1 - полностью есть только русские прописные.
В кодировке S03 страница 1 (совпадает с той, что у меня в программе), S03 страница 2, S06 страница 2 (они одинаковые) - есть русские прописные и строчные.
Значит, переключать страницы в двух-страничном ЖКИ надо, если нужны особые спецсимволы. А для вывода русского текста определить в программе русский алфавит, согласно кодировке символов Вашего ЖКИ на нужной странице.

Прикрепленные файлы


0

#10 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 18 Март 2012 - 08:28

стандарт ASCII. Он на то и стандарт. Я просто подсказать, что не все так просто. ИМХО, чем больше хочется универсальности и автоматизации в программе, тем больше проблем, запутанности и размеров кода.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#11 Пользователь офлайн   Alex 

  • Убиватель МК
  • PipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 891
  • Регистрация: 15 Февраль 11

Отправлено 18 Март 2012 - 12:49

Цитата

чем больше хочется универсальности и автоматизации в программе, тем больше проблем, запутанности и размеров кода.
И не смотря на это, люди всё равно идут на эти жертвы ради универсальности. :rolleyes:
Не говорите что мне делать, и я не скажу куда Вам идти !
0

#12 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 18 Март 2012 - 14:27

Так кто спорит. Бизнес есть бизнес. Производство есть производство.
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

#13 Пользователь офлайн   gena.03 

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 04 Март 12
  • ГородБрест

Отправлено 04 Апрель 2012 - 19:04

Вывод на двух-строчный индикатор больших цифр и некоторых символов. Пример использования памяти ОЗУ ЖКИ индикатора.

Прикрепленные изображения

  • Прикрепленное изображение: DSC03341.JPG
  • Прикрепленное изображение: DSC03350.JPG

Прикрепленные файлы


1

#14 Пользователь офлайн   MAZ 

  • Консерватор - до мозга костей и суставов
  • PipPipPipPip
  • Группа: SuperMod
  • Сообщений: 1 391
  • Регистрация: 15 Февраль 11
  • ГородРоссия

Отправлено 04 Апрель 2012 - 20:11

:ay:
Если бы Бог не был консерватором, вместо десяти заповедей мы имели бы десять предложений
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей