Подключение российского ЖК индикатора |
Здравствуйте, уважаемые читатели! Мигающий светодиод весьма наглядно демонстрирует окружающим нормальную работу микроконтроллера, но ведь не кодировать же мне выходные данные путём изменения длительности вспышки и паузы между вспышками! Да, таким же образом первый в мире искусственый спутник Земли, запущенный в СССР 4 октября 1957 года, передавал в эфир информацию о давлении воздуха и температуре на борту. С начала космической эры прошло больше 60 лет, наука и техника значительно продвинулись вперёд, ушли в историю огромные ламповые ЭВМ, требующие стабильности температуры окружающего воздуха в десятую долю градуса. Теперь, небольшая электронно-вычислительная машина целиком размещена на одном кристалле и упакована в пластиковый корпус миросхемы микроконтроллера К1986ВЕ92QI. Думаю, не стоит ретроградствовать, а вместо мигающего светодиода сделать вывод информации на цифро-буквенный знакосинтезирующий жидкокристаллический индикатор, как наболее простой в применении.
У меня в наличии оказался российский двухстрочный ЖКИ MT16S2D, изготовленный фирмой "МЭЛТ". Этот индикатор рассчитан на питание от пяти вольт, но я собираюсь только писать в него информацию, порты индикатора работают только на ввод и в порт микроконтроллера не будут поданы сигналы с пятивольтовыми уровнями. Кроме того, индикатор и микроконтроллер заводами изготовлены с требованием согласования входов и выходов под работу с уровнями классической ТТЛ-логики. Значит, индикатор по техусловиям должен нормально работать с управлением от микроконтроллера! Вот схема подключения ЖК индикатора к плате:
ЖК индикатор в четырёхбитном режиме требует всего шесть выводов управления, четыре вывода для полубайтового ввода данных DB4-DB7, сигнал управлеия режимом ввода команда/данные A0 и сигнал защёлкивания данных E. В секции инициализации для удобства программирования нужно прописать сигналы управления, имена и типы переменных, а также массив из 16х2 байт выводимых символов:
Поскольку по четырёхбитной шине данных байт записывается в два приёма, нужна процедура записи байта:
Процедуры записи байта команды и данных различаются только разным уровнем сигнала управления, дальше идёт вызов процедуры записи байта:
Процедура вывода символов на ЖК индикатор в цикле сначала записывает в контроллер ЖКИ верхнюю строку, потом нижнюю:
Наконец, главная процедура и главный цикл программы:
Главная процедура включает в себя инициализацию переменных, портов микроконтроллера, а также инициализацию самого ЖК индикатора. Основной цикл программы выводит на ЖК индикатор две строки символов и ждёт 100 мс. Думаю, 10 раз в секунду обновлять показания ЖКИ вполне достаточно. Остаётся только подключить индикатор к плате и прошить микроконтроллер:
Как видите, русский ЖК индикатор работает под управлением русской отладочной платки на русском микроконтроллере!
Архив проекта.
Благодарю за внимание, доброго здоровья!