Шрифт:
Большинство современных ЖК индикаторов и дисплеев управляются от микроконтроллеров, которые располагаются на обратной стороне индикатора. Микроконтроллер преобразует цифровые коды, содержащие информацию об отображаемом объекте, в последовательность импульсов напряжения для электродов индикатора. В постоянной памяти этого МК записаны образы символов, которые могут отображаться индикатором (функция знакогенератора). В оперативной памяти МК размещаются коды тех символов, которые высвечиваются на экране индикатора в текущий момент времени. Поэтому, когда Вы производите подключение ЖК индикатора к МК, Вы фактически устанавливаете связь между двумя микропроцессорными системами.
В следующем параграфе мы рассмотрим цифро-буквенный ЖК индикатор с управлением от стандартного контроллера AND671GST с параллельным интерфейсом обмена. Мы также приведем пример программного кода для управления этим индикатором.
5.6.2. Сопряжение МК с символьным ЖК индикатором
AND671GST — однострочный цифро-буквенный дисплей на 16 знакомест. Для управления такими дисплеями используются интегральные схемы контроллеров HD44100H или HD44780. Контроллер с сопутствующими элементами размещается на печатной плате, которая помешается за индикатором и образует с ним единую конструкцию. На плате контроллера смонтирован разъем на 14 контактов. На разъем выведены сигналы стандартизованного параллельного интерфейса для сопряжения символьных ЖК индикаторов с микропроцессорными системами. Назначение сигналов этого интерфейса, имена линий и соответствующие им номера контактов разъема приведены на рис. 5.12,a.
Номер вывода | Обозначение | Функция |
---|---|---|
1 | GND | Общий вывод источника питания |
2 | VDD | Напряжение питания контроллера 5,0 В |
3 | V0 | Напряжение питания ЖК матрицы |
4 | RS | Выбор регистра контроллера: 0 — регистр управления, 1 — регистр данных |
5 | R/W | Выбор режима обмена чтение/запись: 0 — запись, 1 — чтение |
6 | E | Разрешение обмена |
7 | DB0 | Двунаправленная магистраль данных контроллера ЖК индикатора |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 |
а) Описание выводов контроллера ЖК индикатора
б) Схема подключения ЖК индикатора к МК
в) Временные диаграммы обмена в режиме записи
Рис. 5.12. Цифро-буквенный ЖК индикатор
Схема подключения индикатора к МК семейства 68HC12 представлена на рис. 5.12,б. Обмен данными в параллельном однобайтовом формате производится через порт PORT P. В нашем примере мы будем только записывать данные в контроллер индикатора, поэтому порт может быть однонаправленным. В реальных задачах иногда приходится читать информацию из памяти контроллера управления дисплеем, тогда следует использовать двунаправленный порт. Для управления режимами обмена информацией с контроллером используются два дополнительных сигнала: E — разрешение обмена, и RS — выбор регистра для обмена. Эти две линии подключены к линиям другого порта вывода МК. Третий сигнал управления обменом — линия выбора направления обмена (чтение или запись) подключена к общему выводу, поскольку в примере мы будем использовать только режим записи.
Три контакта разъема индикатора предназначены для подключения двух источников напряжения: VDD — напряжение питания цифровой части (схемы управления индикатора), VO — напряжение смещения электродов. Последнее называют напряжением управления контрастностью индикатора. Вывод VO подключен к средней точке потенциометра, поэтому напряжение VO может изменяться от 0 до 5,0 В, обеспечивая таким образом выбор наилучшего режима отображения.
Временные диаграммы обмена. Различают два типа данных, которые может передать МК контроллеру индикатора: команды управления и данные, т.е. коды символов для отображения. В режиме чтения МК может получить от контроллера управления дисплеем слово-состояние и данные из внутреннего ОЗУ символов. В нашем примере мы не будем пользоваться режимом чтения.
Временные диаграммы одного цикла записи в контроллер дисплея приведены на рис. 5.12,в. Приведенные на рисунке длительности временных интервалов определяются конкретным типом выбранного индикатора, поэтому могут достаточно существенно различаться. Об этом следует помнить при использовании ранее написанного и отлаженного программного кода для управления индикатором в последующих разработках. Если очередной индикатор требует больших времен установления по сравнению с предыдущим, то программный код может оказаться неработоспособным.
В соответствии с приведенными временными диаграммами (рис. 5.12,в) должна сгенерировать следующую последовательность сигналов на выходах портов МК:
• Линия RS должна быть установлена в соответствии с типом передаваемых данных: 1 — запись данных, 0 — запись команды;
• С задержкой в 140 нс относительно сигнала RS должна быть установлена в 1 линия разрешения обмена E;
• Длительность импульса на линии E не должна быть менее 450 нс;
• Байт данных должен быть выставлен на линии DB0…DB7 не позднее, чем за 195 нс до спадающего фронта сигнала E. Это время называют временем предустановки данных относительно сигнала разрешения E;
• Данные на линиях DB0…DB7 должны оставаться неизменными в течение не менее 10 нс после перехода сигнала E в неактивное (логический 0) состояние. Это время называют временем сохранения данных относительно сигнала E;
• Период сигнала E не должен быть менее 1000 нс.
Основываясь на требованиях временной диаграммы обмена, следующий алгоритм должен быть реализован микроконтроллером для выполнения одного цикла записи в контроллер дисплея:
1. Установить линию RS в 1 или в 0 (1 — для записи кода символа, 0 — для записи кода команды управления дисплеем);