Таблица 9. Управляющие комбинации битов регистра IR

D7 D6 D5 D4 D3 D2 D1 D0

 

Назначение
0 0 0 0 0 0 0 1

 

Очистка экрана, АС = 0, адресация АС на DDRAM
0 0 0 0 0 0 1 -

 

АС = 0, адресация на DDRAM, сброшены сдвиги, начало строки адресуется в начале DDRAM
0 0 0 0 0 1 I/D S

 

Выбирается направление сдвига курсора или экрана
0 0 0 0 1 D C B

 

Выбирается режим отображения
0 0 0 1 S/C R/L - -

 

Команда сдвига курсора/экрана
0 0 1 DL N F - -

 

Определение параметров развертки и ширины шины данных
0 1 AG AG AG AG AG AG

 

Присвоение счетчику АС адреса в области CGRAM
1 AD AD AD AD AD AD AD

 

Присвоение счетчику АС адреса в области DDRAM

Контроллер HD44780 поддерживает как операции записи так и операции чтения. Чтение регистра DR приводит к загрузке содержимого DDRAM или CGRAM, в зависимости от текущего режима, при этом курсор смещается на одну позицию, как и при записи. Чтение регистра IR возвращает 8 значащих разрядов, причем в 7-ми младших содержится текущее значение счетчика АС (7 разрядов, если адресуется DDRAM, и 6 - если CGRAM), а в старшем - флаг занятости BF. Этот флаг имеет значение 1 когда контроллер занят и 0 - когда свободен. Необходимо учитывать, что большинство операций, выполняемых контроллером, занимают значительное время, около 40 мкс, а время выполнения некоторых доходит до единиц миллисекунд, поэтому цикл ожидания снятия флага BF должен обязательно присутствовать в программах драйвера ЖКИ-модуля и предшествовать совершению любой операции (естественно, кроме операции проверки флага BF).

После совершения операции записи или чтения DDRAM и появления после нее признака готовности (BF = 0), прочитанное в этом же цикле (вместе с флагом BF) значение АС скорее всего не будет достоверным. Дело в том, что между появлением признака готовности и вычислением контроллером нового значения АС существует некоторый временной интервал, составляющий около 4 мкс при тактовой частоте контроллера 270 кГц. Поэтому, если необходимо получить истинное значение АС, нужно совершить повторную операцию прочтения IR спустя не менее чем 4 мкс (если контроллер работает на частоте 270 кГц время ожидания необходимо пропорционально увеличить).

Вывод на экран символа производится записью его кода в регистр DR. При этом символ размещается в DDRAM по текущему адресу, указываемому АС, а значение АС увеличивается или уменьшается на 1. Чтобы произвести переустановку курсора на нужную позицию, необходимо присвоить АС соответствующее значение (см. таблицу 9). Здесь есть одна тонкость. Когда производится последовательная запись символов и в результате заполняется вся строка, курсор автоматически переходит на вторую строку, но если необходимо принудительно установить курсор, скажем, на начало второй стороки, то будет неверным присвоить АС казалось бы логичное значение $28 (40), правильным является значение $40 (64). Значения адресов DDRAM в диапазоне $28...$3fF (а равно и $68...$7F) являются неопределенными и результаты работы с ними могут быть непредсказуемыми.

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

Более того, существует как минимум два варианта русского набора символов: контроллер фирмы Hitachi (H2 по маркировке фирмы Powertip) и контроллер фирмы Epson (EH по маркировке Powertip). Контроллер фирмы Hitachi обладает существенным недостатком - у него весьма ограниченный набор русских символов, фактически у него имеются только прописные русские буквы, и даже среди них отсутствует символ "Ф". Напротив, контроллер фирмы Epson содержит полный набор русских символов в прописном и строчном вариантах, поэтому он весьма удобен для отечественных применений. Это свойство контроллеров фирмы Epson обеспечило им заслуженную популярность на российском рынке, поэтому в последнее время основная масса импортируемых в нашу страну ЖКИ-модулей оснащены именно этиим контроллером; в качестве примера в таблице 10 приведен набор символов этого контролера.

Таблица 10. Таблица кодов символов контроллера Epson, набор "Russian"

Из допустимых для размещения в DDRAM кодов символы с кодами $00...$07 (и их дубликат с кодами $08...$0F) имеют специальное назначение - это переопределяемые символы, графическое изображение которых может назначить сам потребитель, разместив соответствующую информацию в области CGRAM. Для программирования доступны 8 переопределяемых символов в режиме с матрицей 5 х 7 точек и 4 с матрицей 5 х 10 (в режиме 5 х 10 переопределяемые символы адресуются кодами DDRAM через один: $00, $02, $04, $06). Для кодирования матрицы используются горизонтально "уложенные" байты, пять младших битов которых несут информацию о рисунке (причем 1 означает, что сегмент будет включен), 4-й разряд каждого из 8-ми (или 11-ти в режиме 5 х 10) байтов матрицы определяет левую колонку символа, а 0-й - правую. Старшие три бита не используются, равно как и старшие пять байтов, составляющих полную область матрицы символа (16 байтов) в режиме 5 х 10 (обратите внимание, что матрица программируемых символов допускает использование полной высоты строки (8 строчек для режима 5 х 7 и 11 строчек для режима 5 х 10), то есть можно размещать точки в области подчеркивающего курсора).

Чтобы определить собственный симол необходимо установить счетчик АС на адрес начала матрицы требуемого символа в CGRAM - $00, $08, $10 и т.д. ($00, $10, $20 для режима 5 х 10 точек) - произвести перезапись всех байтов матрицы, начиная с верхней строки. После этого, записав в DDRAM код запрограммированного символа: $00, $01, $02 ($00, $02, $04 для режима 5 х 10 точек), на экране в соответствующем месте будет отображаться переопределенный символ.

Несколько слов о процессе инициализации ЖКИ-модуля. Производитель контроллера рекомендует выполнять следующую последовательность действий для инициализации. Выдержать паузу не менее 15 мс между установлением рабочего напряжения питания (> 4,5 В) и выполнением каких-либо операций с контроллером. Первой операцией выполнить команду, выбирающую разрядность шины (это должна быть команда $30 независимо от того, какой разрядности интерфейс вы собираетесь использовать в дальнейшем), причем перед выполнением этой операции не проверять значение флага BF. Далее опять выдержать паузу не менее 4,1 мс и повторить команду выбора разрядности шины, причем перед подачей команды вновь не производить проверку флага BF. Следующим шагом необходимо вновь выдержать паузу, на этот раз 100 мкс, и в третий раз повторить команду установления разрядности шины, вновь без проверки BF. Эти три операции являются инициализирующими и призваны вывести контроллер в исходный режим работы (то есть перевести в режим работы с 8-ми разрядной шиной) из любого состояния. Следом за ними нормальным порядком (без выдерживания пауз, но с проверкой флага BF) выполняется инициализация режимов работы с выдачей инициализирующей последовательности, аналогичной указанной в таблице 7 (содержащей в том числе команду выбора необходимой разрядности шины).

Необходимо помнить, что когда Вы объявляете режим работы с 4-х разрядной шиной, то есть выдаете команду $20, то делаете это обычно из 8-ми разрядного режима, который устанавливается автоматически после подачи напряжения питания, а значит вы не сможете адекватно объявить необходимое значение флагов N и F, располагающихся в младшей тетраде команды установки разрядности шины. Поэтому команду необходимо повторить в уже установившемся 4-х разрядном режиме путем последовательной передачи двух тетрад, то есть для 4-х разрядного режима образом.

В заключение хотелось бы поделиться несколькими соображениями из практического опыта применения ЖКИ-модулей в процессе разработки и отладки реальных устройств. Не смотря на наличие "экономичного" 4-х разрядного режима, 7 необходимых для связи линий могут оказаться чрезмерным требованием для приборов, которые в современных условиях нередко строятся с применением микро-ЭВМ в 16ююю28-ми выводных корпусах и имеющих ограниченный ресусрс свободных портов. Оказалось, что часто, если конечно речь не идет о жесткой экономии каждой копейки, наиболее удобным способом использования ЖКИ-модуля становится создание отдельного контроллера на базе конкретной микро-ЭВМ с каким-либо последовательным интерфейсом, осуществляющего посредничество между управляющей системой и ЖКИ-модулем. Для тех кто ценит свое время и не имеет желания разрабатывать такой контроллер самостоятельно, фирма КТЦ-МК предлагает готовое решение - микросхему СЕ110 [3], созданную на базе микро-ЭВМ в 28-ми выводном корпусе SDIP или SOIC. Микросхема СЕ110 выполняет роль контроллера ЖКИ-модуля и клавиатуры (до 64-х клавиш) и предлагает в качестве интерфейса связи с управляющей системой двухпроводную шину I2C.

На базе микросхемы СЕ110 производится демонстрационно-отладочная плата DB-CE110 [4], предназначенная для отладки устройств, использующих в своем составе микросхему СЕ110. Кроме того, эта плата с успехом выполняет роль простого терминала с ЖКИ-модулем 16 х 2 и 16-ти кнопочной клавиатурой, незаменимого при отладке устройств, не имеющих штатных средств ввода/визуализации, благодаря всего двум линиям легко реализуемой программно шины I2C. Для отладки же устройств, уже имеющих в своем составе I2C-устройства (микросхемы EEPROM, часов, датчиков температуры и т.п.), что отнюдь не является редкость, необходимость в каких-либо дополнительных ресурсах отпадает вовсе.

 

- Питание

На рисунке 6 приведены схемы подключения питание к двум типам LCD-модулей: нормального и расширенного температурных диапазонов.

Нормальный температурный диапазон 0...+50С

 

Расширенный температурный диапазон -20...+50С

 

 

- Электрические характеристики

Таблица 11.

Параметр

Обоз.

Условие

Стандартное значение

Ед. изм

Вывод

Мин. Тип. Макс.
Напряжение питания Vdd   4,75 5,00 5,25 V Vdd
Уровень вх.1 Vih   2,2 ~ Vdd V RS,R/W
Уровень вх.0 Vil   .-0,3 ~ 0,6 V DB0~DB7
Уровень вых.1 Voh .-Ioh=0,2 mA 2,4 ~ ~ V  
Уровень вых.0 Vol .-Iol=1,2 mA ~ ~ ~ V  
Ток утечки Iil Vin=0~Vdd .-1 ~ 0,4 mkA  
Ток потребления Idd Vdd=5V ~ 0.35 0,1 mA Vdd

Напряжение питания LCD панели

             
Vlcd Vdd-Vo 3,0 ~ 11,0 V Vo

 

12 SCADA системы [Л.12, часть 1]

12.1 Сравнительный анализ пакетов Genesis, Trace Mode и Genie.

[Л.12, часть 1] /software1_1996_1.pdf/

(Рассматривается необходимость применения пакетов SCADA/MMI в АСУ ТП,

раскрываются скруктура SCADA$ cистем и методы программирования в них.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: