Научная статья на тему 'Вакуумно-флуоресцентные дисплеи фирмы IEE'

Вакуумно-флуоресцентные дисплеи фирмы IEE Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
107
31
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кузнецов Андрей

Система команд обеспечивает управление курсором, выбор символов из кодовой таблицы встроенного знакогенератора, включение/выключение режимов скроллинга и служебных режимов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Вакуумно-флуоресцентные дисплеи фирмы IEE»

(Окончание, начало в Киї № 2,2000)

Вакуумнофлуоресцентные дисплеи фирмы lEE

Андрей Кузнецов

andrey@prosoft.ru ht tp:// ww w.prosoft.ru

Система команд дисплеев 036X2 фирмы ІЕЕ

Система команд обеспечивает управление курсором, выбор символов из кодовой таблицы встроенного знакогенератора, включение/выключение режимов скроллинга и служебных режимов. Полный список команд приводится в табл. 2.

При использовании параллельного интерфейса при пересылке команд 00Ьі..иЬі линия АО должна находиться в состоянии логического 0; при пересылке команд 30И..3РИ линия АО должна находиться в состоянии логической 1. При использовании последовательного интерфейса каждой из команд, имеющих код 30И..3РИ, должна предшествовать команда 19И. Рассмотрим более подробно основные команды. Операции, выполняемые большинством команд, легко определяются по названию команды, однако для неко-

торых из них будет приведено расширенное описание. Для изучения работы дисплея удобно пользоваться схемой на рис. 9, где задействованы сигналы RD, АО и CS. Дисплей подключается к параллельному интерфейсу платы 5600 фирмы Octagon Systems. Базовый адрес платы — 100Н, порт А используется для формирования сигналов данных, порт В — для формирования сигналов WR (разряд В.2) и АО (разряд В.О). Для проверки работы дисплея через последовательный интерфейс можно использовать схему, показанную на рис. 7. Проверочная программа написана на языке CAMBASIC-V Octagon Systems, однако ее несложно повторить и на любом другом языке програм-

Выход платы 5600 Дисплей 036Х2

PA0 D0

PA1 D1

PA2 D2

PA3 D3

PA4 D4

PA5 D5

PA6 D6

PA7 D7

PB0 WR

PB1 RD

PB2 CS

PB3 A0

PB4 X GND

PB5

PB6 Рис. 9. Схема подключения д плея О36Х2 к плате 56ОО

PB7

PC0

PC1

PC2

PC3

PC4

PC5

PC6

PC7

GND

Таблица 2. Система команд дисплеев серии Century 036Х2

Шестнадцатеричный код команды Команда Число байтов Примечание

0 Нулевая (Null) 1 Холостая команда

Чтение идентификатора (Read Display Identification) 1 Чтение идентификационного кода и формата дисплея

2 Чтение контрольной суммы (Read Software Check Sum) 1

3 Чтение местоположения курсора (Read Cursor Location) 1

4 Чтение данных текущего местоположения курсора и инкремент (Read Data at Present Location) 1

5 Чтение местоположения курсора и инкремент (Read Cursor Location and Increment) 1

6 Не используется

7 Формирование звукового сигнала (Bell/Alarm Output) 1 Формирует на выходе Alarm-сигнал длительностью 160 мс

8 Возврат курсора (Backspace Cursor) 1

9 Курсор вправо (Advance Cursor) 1

0A Перевод строки (Line Feed) 1 Имеет несколько режимов. Режим определяется командой 11h

0B Не используется

0C Не используется

0D Возврат каретки (Carriage Return) 1 Имеет несколько режимов. Режим определяется командой 37h

0E Отключить курсор (Cursor off) 1 Курсор невидимый

0F Включить курсор (Cursor on)* 1 Курсор видимый

10 Выключение заданной строки из режима скроллинга (Scroll Line Lock) 2 Выключает заданную строку из режима скроллинга

11 Установка режима вертикального скроллинга (Vertical Scroll Mode)* 1 Устанавливает режим вертикального скроллинга и отключает режим горизонтального

12 Не используется

13 Установка режима горизонтального скроллинга (Horizontal Scroll Mode) 1 Устанавливает режим горизонтального скроллинга и отключает режим вертикального

14 Cброс (Reset) 1

15 Очистка экрана и установка курсора в стартовую позицию 1_ (Clear Display and Home Cursor)*

16 Возврат курсора в стартовую позицию (Cursor Home) 1

17 Установка 7-го бита данных в состояние логической 1 только для следующего байта (Set Data Bit 7 High for Next Byte Only) 1 Для отображения символа из кодовой таблицы

18 Запись символа, определяемого пользователем (User Defined Character) 7 Позволяет записать до 8 символов, определяемых пользователем, с возможностью последующего отображения

19 Установка A0 в состояние логической 1 только для следующего байта (Set Address Bit High for Next Byte Only) 1 Применяется при работе по последовательному каналу совместно с командами 30h..3Fh

1A Курсор вверх на одну линию (Cursor Up One Line) 1

1B Перемещение курсора в определенную позицию (Move Cursor to Designated Location)

1C Выбор страницы европейских символов (Select European Character Set)* 1 Выбирает кодовую страницу, загружаемую по адресам A0..DF. Загружена по умолчанию

1D Выбор страницы символов Katakana (Select Katakana Character Set) 1 Выбирает кодовую страницу,загружаемую по адресам A0..DF

1E Выбор страницы символов кириллицы (Select Cyrillic Character Set) 1 Выбирает кодовую страницу, загружаемую по адресам A0..DF

1F Выбор страницы символов Hebrew (Select Hebrew Character Set) 1 Выбирает кодовую страницу, загружаемую по адресам A0..DF

30 Программная установка уровня яркости (Set Display Screen or Column Brightness Level) 3 Программно устанавливает уровень яркости отдельного столбца или экрана

31 Установка режима мигания символов (Begin Blinking Characters or Underline) 2 Устанавливает частоту мигания заданного символа или подчеркивания

32 Запрет режима мигания символов (End Blinking Characters or Underline) 1 Запрещает режим мигания заданного символа или строки

33 Выключение самого индикатора (Blank Display Screen) 1 Гасит индикатор без стирания видеопамяти

34 Включение самого индикатора (Unblank Display Screen) 1 Включает экран

35 Разрешение служебных символов (Set Period, Comma or Triangle On) 2 Только для дисплея 036Х2-121

36 Сброс атрибутов мигания и стирание данных в данной строке (Erase Line Data and Reset Blink Attribute) 2

37 Установка режимов команд Возврат каретки и Перевод строки (Set Carriage Return and Line Feed Definions) 2 Устанавливает режимы команд Возврат каретки и Перевод строки

38 Не используется

39 Не используется

3A Установка направления формирования слов справа налево (Set Right to Left Data Entry) 1 Для языка Hebrew (иврит)

3B Установка направления формирования слов слева направо (Set Left to Right Data Entry)* 1 Для европейских и японского языков

3C Включение режима пониженного энергопотребления (Screen Saver On) 1

3D Выключение режима пониженного энергопотребления (Screen Saver Off) 1

3E Включение режима самотестирования (Self-test On) 1

3F Выключение режима самотестирования (Self-test Off) 1

* Данные режимы установлены в дисплеях серии 036Х2 по умолчанию.

Дисплей

036Х2

D0

D1

D2

COM- D3

порт D4

RxD D5

TxD D6

RTS D7

CTS WR

DTR RD

GND CS

посл. вход

GND

Рис. 7. Схема подключение дисплея к последовательному порту

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таблица 7. Пример кодировки второго и очистка данных

байта команды Сброс атрибутов мигания в строке (код 3бЬі)

од Номер бита Комментарий

X1h X X X X O O O 1 Очистить линию 0, линии 1, 2, 3 без изменений

XCh X X X X 1 1 O O Очистить линии 2, 3 линии 0, 1 без изменений

Таблица 3. Кодировка второго байта команды Выключение заданной линии из режима скроллинга (Scroll Line Lock, код 10h)

мирования. Большинство команд являются однобайтовыми, то есть для их выполнения необходимо передать в дисплей только один байт. Для проверки работы подобных команд можно использовать программу, приведенную далее. Для проверки работы двухбайтовых команд можно использовать модифицированную версию программы или выполнить тестовую программу два раза. В приведенном примере задержка, формирующая длительность импульса Ш1}, равна 0,1 с. Для реальных программ, написанных на других языках программирования, задержки могут быть и меньше, однако следует иметь в виду, что запись в регистр дисплея производится по заднему фронту сигнала ШК минимальная длительность которого должна составлять не менее 120 нс (рис. б).

Таблица 4. Кодировка второго байта команды Установка режимов команд Возврат каретки

и Перевод строки (код 37И)

Код 2-го байта Функция

00h Отключение линии 1

01 h Отключение линий 1 и 2

02h Отключение линий 1, 2, 3

03h Отключение линий 1, 2, 3, 4

Код 2-го байта команды Вызов команды Перевод строки приведет к выполнению следующих операций Вызов команды Возврат каретки приведет к выполнению следующих операций

00h Перевод строки Возврат каретки

01 h Перевод строки +Возврат каретки Возврат каретки

02h Перевод строки Возврат каретки +Перевод строки

03h Перевод строки +Возврат каретки Возврат каретки +Перевод строки

Таблица 5. Кодировка второго байта команды Установка режима мигания символов (код 31И)

Частота мигания од

Без мигания 00h

1 Гц 01 h

2 Гц 02h

4 Гц 04h

Таблица б. Кодировка третьего байта команды Программная установка уровня яркости (код 30И)

од Уровень яркости

OOh 100%

01h 76%

02h 60%

03h 45%

04h 33%

05h 25%

06h 18%

07h 12%

1. Группа команд управления курсором

1.1. Команды Гашения и Включения курсора (коды 0Eh и 0Fh). Проще всего проверить, воспринимает ли дисплей данные, можно при помощи команд Гашения и Включения курсора. Для этого следует запустить тестовую программу, и на приглашение «input HEX code of command» ввести 0Еh, а на приглашение «input code A0, 0 or 1» ввести 0h. Курсор должен погаснуть. Если же после этого аналогичным образом ввести команду Включения курсора 0Fh, то курсор должен вновь засветиться.

1.2. Команды перемещения курсора Курсор вправо (код 09h), Курсор влево (код 08h), Курсор вверх на одну линию (код 1Ah) и Перевод строки (код ОАІі). К этой подгруппе также относятся команды Возврат каретки (код 0Dh), Возврат курсора в стартовую позицию (Cursor Home, код 1бИ) и команда Стереть информацию и установить курсор в стартовую позицию (код 15h). Следует заметить, что команда Курсор влево (Backspace) не перемещает курсор вверх в многострочных дисплеях, а режимы работы команд Возврат каретки и Перевод строки определяются командой 37h.

Проверить работу команд данной подгруппы можно аналогично проверке работы ко-

манд Гашения и Включения курсора. На линии А0 должен быть уровень логического 0.

1.3. Команда Перемещение курсора в определенную позицию (код 1БИ) является более сложной, так как состоит из двух байтов. Она позволяет перемещать курсор в любую позицию на экране. Первый байт команды состоит из кода команды 1ВИ, а второй указывает на позицию, в которую необходимо переместить курсор. Позиции нумеруются в шестнадцатеричном коде слева направо сверху вниз, левая верхняя позиция имеет номер 00И. Если, например, для дисплея, имеющего 4 строки по 20 символов, необходимо переместить курсор в третью позицию второй строки, последовательность команд будет иметь вид: 1ВИ, 1бИ (23-я позиция в шестнадцатеричном коде).

2. Служебные команды

2.1. В первую подгруппу входят команды Установка режима вертикального скроллинга (код 11И), Установка режима горизонтального скроллинга (код 13И), Выключение заданной линии из режима скроллинга (код 10И) и команда Установка параметров команд Возврат каретки и Перевод строки (код 37И). При этом в командах установки режимов скроллинга для однострочных дисплеев соответствующий скроллинг будет включен записью последующего символа при полностью заполненной строке. Для многострочных дисплеев горизонтальный и вертикальный скроллинг будет включен только после записи последнего символа в нижней строке. Команда Выключение заданной линии из режима скроллинга является двухбайтовой и выключает из режима вертикального скроллинга строку (строки), указанную во втором байте команды. В табл. 3 приведены значения, которые может принимать второй байт. Команда Установка параметров команд Возврат каретки и Перевод строки также является двухбайтовой и определяет, что последует после выполнения соответствующих команд. Так, например, они могут быть объединены, то есть вызов любой из них приводит к последовательному выполнению обеих (табл. 4).

2.2. Команды второй подгруппы устанавливают/сбрасывают режим мигания символов (коды 31И и 32И), отвечают за программное включение/выключение режима тестирования (коды 3БИ и 3РИ). В эту подгруппу входят также команды включения/выключения режима пониженного энергопотребления (коды 3СИ, 30И) и самого индикатора (коды 33И и 34И). В двухбайтовой команде Установки режима мигания символа второй байт определяет частоту мигания (табл. 5).

2.3. Команды Установка уровня яркости (код 30h) и Сброс атрибутов мигания и стирание данных в данной строке (код 36h) образуют третью подгруппу.

Команда Программная установка уровня яркости является трехбайтовой и определяет уровень яркости свечения для определенной колонки дисплея или всего дисплея в целом. Первый байт команды — собственно сам код команды 30h, второй — код колонки, для которой будет изменяться уровень яркости (00h — первая колонка, FFh — для всего дисплея). Третий байт определяет уровень яркости (табл. 6).

Команда Сброс атрибутов мигания и стирание данных в данной строке выполняет очистку данных и отключение режима мигания в одной или нескольких строках дисплея. Команда является двухбайтовой и содержит во втором байте код строки (строк), которую необходимо очистить. Кодировка строк (табл. 7) осуществляется путем установки логической 1 в младшей тетраде, причем младшему биту (биту 0) соответствует верхняя (первая) строка, а старшему (биту 3) — нижняя (четвертая строка дисплея).

2.4. Отдельно в этом списке стоят команды Системного сброса (RESET, код 14h) и Установки А0 в состояние логической 1 только для следующего байта (код 19h), применяемой при последовательной передаче данных.

3. Команды, отвечающие за отображение символов и выбор кодовых страниц знакогенератора

Как уже указывалось, дисплеи Century серии 036Х2 содержат встроенный знакогенератор, в том числе позволяющий отображать и символы кириллицы. Однако при более близком рассмотрении обнаруживается, что, кроме кириллицы, в памяти дисплеев также есть страницы символов, встречающихся в европейских языках, японская кодовая таблица Katakana, таблица символов Hebrew (рис. 10). Одним словом, дисплеи разрабатывали истинные интернационалисты! Впрочем, с точки зрения знакогенератора, один недостаток все-таки есть — кодовая страница кириллицы занимает другое адресное пространство по

отношению к общепринятой кодировке в странах СНГ. То есть для отображения символов кириллицы необходимо написание пере-кодировщика или при небольших объемах отображаемой информации можно просто использовать коды, применяемые в дисплее, без оглядки на компьютерную кодировку. Отображение символа, расположенного в основной части кодовой таблицы, производится очень просто: для этого необходимо только выдать в дисплей код, соответствующий выбранному символу. Например, для отображения в текущем поле цифры «3» следует запустить тестовую программу и ввести код цифры «3» 33h. (При пересылке кодов символов на линии А0 должен быть уровень логического 0!) Если же необходимо отобразить символ, расположенный в одной из кодовых таблиц, нужно сначала загрузить соответствующую кодовую таблицу, а затем выдать код символа. Например, если необходимо отобразить в текущем поле символ «Ю», в дисплей нужно послать последовательность 1 Dh (выбор кириллицы). При желании можно использовать команду Записи символа, определяемого пользователем. Дисплей позволяет записать восемь таких символов, а затем при необходимости их отобразить на экране. Символы записываются в ОЗУ и при выключении питания пропадают. Данная команда состоит из семи байтов. Первый байт представляет код команды 18h, второй байт определяет адрес символа (для режима Intel F6h..FFh). Оставшиеся пять байтов последовательно заполняют матрицу символа 5х7 точек (рис.11).

Практическое применение дисплеев

Так как дисплеи работают в расширенном температурном диапазоне, логично их использовать совместно с аппаратурой фирмы Octagon. При этом для подключения их по параллельному интерфейсу к принтерному порту и плате 5600 необходимо только сделать несложный заказной кабель. Если же необходимо применять дисплей совместно с клавиатурой типа КР-3, то можно использовать схему, показанную на рис. 12. Следует

Е IKI 0 т pm =!= =!= n Ц ЛЕЇ d а □ и| - Д її я 51 J

0 І р \ F ¥ £ & 6 а JL 1 £ Z E р 1 D

1 1 A Q a Я £ § 7й к і к T r I В с л и

II г і:; R ь r r E £ В £_ і 3 x £ Г т т 3

[яннинннп: 7A є 3 ё X к t д У тп □

I 4 эдпшппнп 7(E іі Й и • . 3 ± 1 E + 71 У

внзнэтпв ■£ й £ JL Й а Ё X ■т а

ШВИПИНП 7£ й £ JL :x і 1 3 Ж ц Т1 Ё

1 7 G N 3 Ш -i л и ё JL 2 Ж 4 • Сї ч 13 п

L а Ы X h X V 2 X х О 1 1 IL И ш 9 Ч ш

1 3 I Y _i_ Ї Л 3 і ± * _L О ІХ л ii к -Й ш л

ж J Z A z p к 1 X « 1 t □ К ъ 7^

+ К L Jt L d Z L H * А □ Hr zl 2 я ы

і L \ 1 ■ ■ I У L "Q Jl ■ 1 \ j м ь 7П

И Л m 1 L 1 ■ Л! Ы + Л- n О £ 31 о н 3 п

> H Л n LJ ± 1 70 6 0 л □ ' ‘U -J □ ^CJ № 71

7 7 0 о 2 ■ 1

Рис. 10. Кодовые таблицы для дисплеев 036Х2. Основная кодовая таблица ASCП (всегда загружена). Примечание. UDC — символ, определяемый пользователем. Европейская кодовая таблица (загружена сразу). Для переустановки использовать команду 1С Katakana. Для выбора использовать команду ^ Кириллица. Для выбора использовать команду ^. Иврит. Для выбора использовать команду 1^

Порядок размещения точек в матрице данных

Байт Данные

7 б S 4 3 2 1 G

3 33 1S 34 1б 3S 17 G 1З

4 29 11 3G 12 31 13 32 14

S 2S 7 2б З 27 9 2З 1G

б 21 3 22 4 23 S 24 б

7 G G G G 19 1 2G 2

Порядок размещения точек в матрице символов

1 2 3 4 S

б 7 З 9 1G

11 12 13 14 1S

1б 17 13 19 2G

21 22 23 24 2S

2б 27 2З 29 3G

2 1 G 17 G

Рис. 11. Пример отображения символа, определяемого пользователем, с помощью команды 18И

Выход платы 56GG Дисплей G36X2

PAG DG

PA1 D1

PA2 D2

PA3 D3

P >: Р4 • D4

PA5 D5

PA6 D6

PA7 D7

PBG WR

PB1 RD

PB2 CS

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

PB3 AG

PB4 GND

PB5

PB6 + КР-3

PB7

PCG Колонка1

PC1 - V D1 + Колонка2

PC2 - V D2 + КолонкаЭ

PC3 V D3 Колонка4

PC4 Строка1

PCS Строка2

PC6 Строка3

PC7 Строка4

GND

Рис. 12. Совместное применение дисплеев серии 036Х2 и клавиатуры КР-3 при их подключении к плате 5600

учитывать, что 8 линий данных будет использовать дисплей, а три линии вывода дисплей будет делить с клавиатурой. При этом конфликтов возникать не будет, так как в один момент времени производится либо сканирование клавиатуры, либо запись информации в дисплей. При записи информации в дисплей приемный порт клавиатуры на сигналы не реагирует, а при сканировании клавиатуры производится последовательная установка каждой из четырех линий столбцов в состояние логического 0, причем остальные три линии будут иметь высокий уровень. Таким образом, при сканировании никогда не возникнет ситуация, при которой низкий уровень будет на линиях 1 и 3 одновременно (сигналы CS и WR соответственно). Диоды VD предназначены для предотвращения случайного замыкания между собой столбцов, а соответственно, и выходных управляющих ли-

ний при одновременном нажатии двух клавиш в одной строке, что может привести к сбоям в работе дисплея.

Много возможностей предоставляет также работа по последовательному интерфейсу. Например, можно использовать дисплеи 036Х2 совместно с адресуемыми модулями ADAM-4521 (рис. 13), при этом дисплеи можно соединить в сеть и организовать систему удаленных терминалов, причем на каждом дисплее может высвечиваться своя информация.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.