Студентам > Курсовые > Устройство ввода и отображения информации на базе БИС КР580ВВ79
Устройство ввода и отображения информации на базе БИС КР580ВВ79Страница: 3/8
Примечание:
Х – безразличное состояние.
Таблица
3.
Код
|
Режим
клавиатуры
|
К2
|
К1
|
К0
|
0
|
0
|
0
|
Кодированное сканирование с
обнаружением одноклавишных сцеплений (устанавливается после сброса)
|
0
|
0
|
1
|
Декодированное сканирование с
обнаружением одноклавишных сцеплений
|
0
|
1
|
0
|
Кодированное сканирование с
обнаружением N-клавишных сцеплений
|
0
|
1
|
1
|
Дешифрированное сканирование с
обнаружением N-клавишных сцеплений
|
1
|
0
|
0
|
Кодированное сканирование матрицы
датчиков
|
1
|
0
|
1
|
Дешифрированное сканирование
матрицы датчиков
|
1
|
1
|
0
|
Ввод по стробу, кодированное
сканирование дисплея
|
1
|
1
|
1
|
Ввод по стробу, дешифрированное
сканирование дисплея
|
Таблица
4.
|
Код
|
Режим
дисплея
|
К4
|
К3
|
|
|
|
0
|
0
|
8-8 битовых символов на дисплее,
ввод слева
|
|
0
|
1
|
16-8 битовых символов на дисплее,
ввод слева (устанавливается после сброса SR)
|
|
1
|
0
|
8-8 битовых символов на дисплее,
ввод справа
|
|
1
|
1
|
16-8 битовых символов на дисплее,
ввод справа (устанавливается после сброса SR)
|
|
|
|
|
|
|
|
1.4. Работа БИС КР580ВВ79
Информация в БИС КР580ВВ79 вводится через линии
возврата RET7…RET0. В кодированном (дешифрированном) режиме
сканирования с обнаружением одноклавишных сцеплений по нажатии клавиши
срабатывает логика подавления дребезга. Другие нажатия клавиш обнаруживаются в
течение следующих двух сканирований. Если это единственная нажатая клавиша и ОМ
ОЗУ датчиков было пусто, то ее позиция записывается в ОМ ОЗУ датчиков вместе с
содержимым линий и
SH а сигнал INT устанавливается в состояние
лог. 1, сообщая центральному процессору (ЦП) о вводе информации в ОМ ОЗУ датчиков
из клавиатуры. Если ОМ ОЗУ датчиков было заполнено полностью, то информация с
клавиши не будет введена и установится флаг ошибки D5 в слове
состояния. В случае одновременного нажатия нескольких клавиш код ни одной из
них не будет записан в ОМ ОЗУ датчиков. Код клавиши записывается в ОМ ОЗУ
датчиков только одиночным нажатием.
В кодированном (дешифрированном) режиме с обнаружением
N-клавишных сцеплений каждое нажатие клавиши
обрабатывается независимо от всех остальных. При нажатии клавиши схема подавления
дребезга ожидает два цикла сканирования и проверяет достоверность нажатия
клавиши. При подтверждении нажатия в двух циклах код клавиши записывается в ОМ
ОЗУ датчиков. Если встретится одновременное нажатие, то коду клавиш будут
распознаны и введены в соответствии с порядком сканирования клавиатуры
сигналами S3…S0.
В кодированном (декодированном) режиме с обнаружением
N-клавишных
сцеплений с помощью комманды "сброс INT – установка
режима обнаружения ошибок" можно запрограммировать специальный режим
обнаружения ошибок. Распознавание и подавление дребезга клавиши происходит, как
в обычном N-клавишном режиме. Если в течение одного цикла
подавления дребезга две клавиши будут обнаружены нажатыми, то это распознается
как одновременные нажатия и устанавливается в регистре слово состояния разряд
D6 –
флаг ошибки. Указанный флаг запрещает дальнейшую запись в ОМ ОЗУ датчиков и
устанавливает на выводе INT состояние лог.1 (если оно до этого еще не было
установлено).
В кодированных (дешифрированных) режимах сканирования клавиатуры
символы, вводимые в ОМ ОЗУ датчиков, соответствуют позиции датчика в клавиатуре
и значению сигналов SH и (неинвертированным). - старший значащий бит, SH-
следующий. Далее три бита указывают строку, в которой находится нажатая
клавиша. Последние три бита и указывают, к какой линии (RET7…RET0)
подсоединена нажатая клавиша.
В кодированном (дешифрированном) режиме сканирования
матрицы датчиков логика подавления дребезга заблокирована и состояние ключей
датчиков вводится непосредственно в ОЗУ датчиков. Хотя подавление дребезга не
обеспечивается, этот режим имеет то преимущество, что ЦП "знает" как
долго датчик находится в замкнутом состоянии и когда он был разомкнут.
Клавиатурные режимы могут только отобразить действительное замыкание. Для
упрощения программного обеспечения разработчик должен функционально
сгруппировать датчики в строки в том формате, вкотором ЦП будет их читать.
Вывод INT устанавливается в состояние лог.1 (если обнаружено
изменение состояния датчика) в конце сканирования матрицы датчиков. В состояние
лог.0 INT переходит после первой операции чтения данных, если
перед чтением данных была записана команда "чтение ОМ ОЗУ датчиков",
а во время записи команды разряд слова состояния (D4) находился в
состоянии лог.0 или при подаче комманды "сброс INT-установка
обнаружения ошибок" (Е=1).
В кодированном (дешифрированном) режиме сканирования
матрицы датчиков данные с линий возврата RET7…RET0
вводятся прямо в строку ОЗУ датчиков, соответствующую строке матрицы датчиков,
которая сканируется. Таким образом, каждая позиция датчика отображается прямо в
позиции матрицы ОЗУ датчиков. Входы и SH в
этом режиме не используются. Заметим, что к линиям возврата могут быть
подключены не только контакты. Любая логика, фиксирующаяся линиями
сканирования, выдает данные на входы RET7…RET0.
В режиме "ввод по стробу с кодированным
(дешифрированным) сканированием дисплея" данные также вводятся в ОМ ОЗУ
датчиков через линии возврата RET7…RET0. Данные записываются нарастающим фронтом строб-импульса на линии . Они могут приходить от
любой кодированной клавиатуры или матрицы датчиков. Режим 16(8) – битовых
символов на дисплее, ввод слева – простейший формат отображения в котором
каждой позиции дисплея определена строка (полоустрока) в ОЗУ отображения.
Адресу 0 в этом ОЗУ соответствует карйний слева символ дисплея, а адресу 15 в
16-разрядном дисплее или адресу 7 в 8-разрядном – крайний справа символ. Вывод
символов начиная с нулевой позиции, вызывает запонение дисплея слева направо.
Символ 17-й или 9-й будет в этом случае вводиться снова в крайнюю слева
позицию дисплея и т.д. Вывод в произвольную позицию дисплея при установке
режима вывод слева направо без сдвига приводит к нежелательным побочным
эффектам и результата при этом предсказуем. В этом режиме адресация ОЗУ
отображения используется с автоинкрементированием и без инкремента.
Инкрементирование способствует увеличению адреса, по которому будет
производиться следующая запись, на единицу, и символ появляется в следующей
позиции. Без инкремента оба ввода произойдут в один и тот же адрес ОЗУ
отображения и позицию дисплея.
Режим 16(8)-8 битовых символов на дисплее ввода справа
используются в большинстве электронных калькуляторов. Первый введенный символ
помещается в правую позицию дисплея. Следующий вводимый символ также помещается
в правую позицию дисплея, но после того, как сдвинется все отображение на одну
позицию влево. Крайний слева символ при этом сдвигается за край дисплея и теряется.
В режиме ввода справа со сдвигом нет прямого соответствия между позицией
дисплея и адресом строки ОЗУ отображения. Следовательно, ввод какого-либо
символа в некоторую произвольную позицию дисплея не допускается, так как это
может привести к неопределенным результатам. Рекомендуется последовательный
ввод, начиная с нулевой позиции в режиме автоинкрементирования.
Если режим дисплея установлен на восемь символов, то
цикл подсвета вдвое меньше, чем он был бы для 16-символьного дисплея, т.е.
время сканирования для 8-символьных дисплеев 5,12 мс и 10,24 мс для
16-символьных дисплеев при внутренней частоте синхронизации 100 кГц.
Слово состояния используется в режимах опроса
контроллера для индикации количества символов в ОМ ОЗУ датчиков
D3…D0, а также для индикации ошибок при вводе информации по
стробу и из клавиатуры. Имеются два типа ошибок – это переполнение и
переопустошение. Переполнение D5
возникает, когда предпринимается попытка записи еще одного символа в
заполненное ОМ ОЗУ датчиков. Переопустошение D4 происходит, когда ЦП пытается читать пустое ОМ ОЗУ датчиков. Слово
состояния также имеет бит D7, указывающий, что
ОЗУ отображения занято, так как команды сброс дисплея или общий сброс не
завершили оперецию сброса ОЗУ отображения до конца. В кодированном (дешифрированном)
сканировании матрицы датчиков в слове состояния устанавливается бит
D6, указывающий, что по крайней мере один контакт замкнут в ситуации
заполненного ОЗУ датчиков. В N-клавишном
специальном режиме устанавливается бит D6 в
слове состояния, указывающий, что встретились ошибки нажатия более одной
клавиши.
1.5. Интерфейс клавиатуры
При вводе информации с клавиатуры необходимо обеспечить опрос и
анализ состояния датчиков, устранение дребезга, определение кодов датчиков,
буферирование введенной информации, сервис (выбор способов опроса и анализа
состояний, формирование запросов прерываний и т.п.). Для упрощения интерфейсов
устройств ввода и отображения информации (УВО) обычно применяют мультиплексный
опрос датчиков клавиатуры и такое же отображение информациина дисплее. Это, в
свою очередь, позволяет объединить функции регенерации изображения и опроса
клавиатуры.
Датчики клавишного или сенсорного типа, фиксирующие нажатие или
касание пальцем, являются основным элементом клавиатуры. Наиболее распространены
механические клавишные датчики, изменяющие при нажатии свое сопротивление.
Основные их достоинства – невысокая стоимость и возможность прямого подключения
к интерфейсам, а недостатки – сравнительно низкая надежность и дребезг
контактов. Наряду с механическими используются и другие клавишные датчики:
емкостные (изменяющие при нажатии емкость), интегральные (например, работающие
на эффекте Холла), механические со встроенными схемами антидребезга, оптические
и другие.
В отличие от клавишных сенсорные датчики не имеют двигающихся
частей и "чувствуют" касание пальца по вносимой емкости или наводкам
переменного напряжения, изменению сопротивления сенсорного элемента и т.п.
Такие датчики изготавливаются, как правило, в виде элементов топологии печатных
плат. К недостаткам сенсорных датчиков относятся отсутствие механической
обратной связи, затрудняющее определение оператором факта срабатывания датчика,
необходимость в схемах сопряжения, слабая помехоустойчивость, чувствительность
к загрязненности сенсорного элемента. Для мультиплексного опроса датчики
объединяются в матрицу.
Анализ информации о состоянии датчиков, полученный в ходе опроса
матрицы, и подготовка информации о сработавших датчиках для ввода в ЭВМ
проводятся различными способами в зависимости от требований, предъявляемых к
работе клавиатуры. Контроллер клавиатуры и дисплея КР580ВВ79 позволяет
программно выбрать один из шести режимов сканирования клавиатуры.
Буферирование введенной информации, подготовленной для выдачи в ЭВМ
после анализа состояния матрицы, необходимо вводить из-за асинхронности
моментов фиксации срабатывания датчиков и считывания данных о них МП БИС. Для
фиксации кодов сработавших датчиков используют регистр или ОЗУ, организованное
как стек, а для фиксации состояния всей матрицы – обычное ОЗУ. Извещение ЭВМ о
наличии готовых к вводу данных в интерфейс клавиатуры обеспечивает схема
формирования запроса прерывания и/или регистр состояния буферного ОЗУ.
Последний, при отсутствии формируемых интерфейсом прерываний, может
использоваться для организации ввода данных в ЭВМ по опрсу как в произвольные
моменты, так и по прерываниям от задатчика интервалов времени.
В БИС КР580ВВ79 для этих целей служат: буферное ОЗУ (8х8 бит),
которое работает как стек FIFO на восемь символов в
режимах 1…3, 5 и как ОЗУ датчиков в режиме 4; регистр слова состояния стека –
ОЗУ датчиков; выход запроса прерывания, формируемого схемой интерфейса
клавиатуры. Доступ к буферному ОЗУ возможен после аппаратного сброса или
выполнения комманды "Чтение стека – ОЗУ датчиков".
Для регламентации обмена данными между стеком БИС и ЭВМ можно
пользоваться словом состояния. Его разряды D0…D3 отражают число кодов в стеке, причем D3=1
указывает на то, что в стеке находится восемь символов, и если данные из него
не будут считаны, то информация о следующих сработавших датчиках будет утеряна.
Об ошибочных попытках чтения чтения данных из пустого стека и ввода в полный
стек очередного кода свидетельствуют флаги переопустошения D4=1
и переполнения D5=1. После чтения слова состояния
разряды D4 и D5 автоматически
сбрасываются.
Одновременно с записью первого кода в стек устанавливается запрос
прерывания на выходе INT БИС. Запрос снимается во время
чтения очередного кода из стека и устанавливается вновь после окончания чтения,
если стек еще не пуст. Кроме этого, возможен аппаратный или программный сброс
запроса прерывания.
1.6. Интерфейс дисплея.
Интерфейс дисплея должен выполнять следующие функции: регенерацию
изображения, буферирование отображаемой информации, декодирование информации
для знакосинтезирующих индикаторов (ЗСИ), сервис (очистка дисплея, запрет
отображения, установка порядка вывода информации на дисплей и способа доступа к
буферному ОЗУ дисплея). Сложность интерфейса определяется видом отображаемой
информации и физическим принципом действия ЗСИ. Сравнивая характеристики
различных типов ЗСИ (табл. ) можно заключить, что наиболее просто с ТТЛ
микросхемами сопрягаются полупроводниковые индикаторы.
Таблица 5.
Тип
ЗСИ |
Параметры
питающих напряжений
|
Достоинства
|
Недостатки
|
Полупроводниковые
|
Напряжение питания – 2…5 В
Максимальный
постоянный ток сегмента – 4…25 мА
Импульсный
ток сегмента – 200…300 мА
|
Быстродействующие
(время включения 10 нс), долговечность, высокая механическая стойкость, малые
габариты, три цвета свечения
|
Высокая
потребляемая мощность, большая стоимость
|
Вакуумные
люминесцентные
|
Напряжение
питания нака-ла – 0,7…5,5 В
Ток
потребления накала – 50…100 мА
Импульсное
напряжение питания сетки – 20…70 В
Импульсный
ток потребле-ния сетки – 2,5…45 мА
Импульсное
напряжение питания анодов сегментов – 20…70 В
Импульсный
ток потребле -ния анодов сегментов – 0,1…1,3 мА
|
Высокая
яркость, долговечность, малая потребляемая мощность, несколько цветов
свечения
|
Несколько
источников питания, низкая механическая стойкость
|
Вакуумные
накаливаемые
|
Импульсное
напряжение питания сегмента – 20…300 В
Эффективное
напряжение питания сегмента – 4,5…7,0 В
Ток
потребления сегмента – 20…50 мА
Ток
потребления сегмента в момент включения – 70…150 мА
|
Дешевизна,
стабильность параметров
|
Инертность,
(время включения 25…50 мс), низкие вибростойкость и механическая прочность,
высокое потребление один цвет свечения
|
Газоразрядные
сегментные постоянного тока
|
Напряжение
поджига разряда – 190…220 В
Напряжение
поддержания разряда – 120…170 В
Ток
потребления сегмента – 25…40 мкА
|
Малая
потребляемая мощность
|
Высокое
питающее напряжение, низкая механическая стойкость
|
|