Продолжаем накапливать опыт работы с индикаторными устройствами. Они являются неотъемлемой частью диалоговых устройств, коими в большинстве своём есть микроконтроллерные конструкции. На сей раз исследуем в работе продукт отечественного производителя — жидкокристаллический индикатор МТ-10Т7-7т, купленный за 38 грн. 96 коп. на Космодроме.
Посмотреть информацию о нём и скачать даташит можно на сайте производителя. ?нтерфейс прост и логически понятен. ?меется десять знакомест Sg1-Sg10 на каждое из которых можно записать стандартный семисегментный символ с точкой (восьмой сегмент). При этом каждому сегменту в символе соответствует разряд на шине данных. Запись лог. 1 подсвечивает сегмент, запись лог.0 — гасит его. Шина данных DB3-DB0 (она же и шина адреса) четырёхразрядная. Адрес записывается за один такт (напомню, что всего десять знакомест), данные — за два такта (восемь сегментов — один байт). Ещё имеется выводы: А0 — адрес/данные; WR1, WR2 — стробы записи в модуль; питание, контрастность и, как вариант, подсветка. Поиск в сети библиотеки работы с данным индикатором даёт некоторые варианты, но все они, как правило, привязаны к конкретным портам микроконтроллера. Меня этот вариант не устраивал, и поэтому я написал свою библиотечку работы с данным ЖК?. В заголовочном файле настраиваете разряды портов, имеющиеся у вас в наличии, вразнобой как угодно и пользуете дисплей себе в удовольствие. В архиве исходник для ATmega8A, выводящий в бесконечной бегущей строке все заданные в знакогенераторе символы (я задал цифры шестнадцатиричной системы счисления).
Кстати, символов можно нагенерить, каких вам только захочется — всё зависит от постановки задачи. Просматривая исходник обратите внимание, что пауз для выполнения команд я нигде не ставил. В даташите в таблице 4 (Динамические характеристики модуля) фигурирует максимальное число 200 нс. При частоте внешнего кварца 20 МГц, такт микроконтроллера составит 50 нс. поэтому минимальные требования пауз будут выполнены даже для максимальной частоты работы МК (в ДАННОЙ реализации работы с ЖК?). Да, ещё я преднамеренно не писал функцию записи нескольких знакомест подряд, т.к. мне она не нужна, а Вы, внимательно просмотрев исходник, без труда напишете сами. Вообще, на основании данного кода, можно написать любую, необходимую в Вашем проекте функцию — всё зависит от поставленной задачи. Удачи, коллеги!
P.S. Сие приобретение есть недорогое, достаточно универсальное решение для использования в качестве дисплея в микроконтроллерных конструкциях.
Поиск
Вход
Архивы
Hey,
Great site. I used Google translate to translate your text. Great build. Do you have an emaiL i can grab you on have a few questions to ask.
Thanks
Ryan
В даташите указаны М?Н?МАЛЬНЫЕ значения динамической характеристики ( пауза между WR), а не максимальные. Получается, что паузу лучше поставить, а то 50 нс маловастенько будет для устойчивой работы индикатора.
Конечно можно! Но работа устойчива и данном случае.
Нужно ставить задержки больше указанных 200 us, а не меньше.