Главная страница
Навигация по странице:

  • Программируемый контроллер клавиатуры и индикации К580ВВ79

  • Блок управления.

  • Блок интерфейса индикации

  • Блок интерфейса клавиатуры

  • 5.2 Программирование и режимы работы БИС ПККИ К580ВВ79

  • Программирования скорости ввода-вывода (синхронизации)” CW1.

  • Сброс” (программная очистка) CW 6 .

  • Чтение М-ОЗУ (FIFO) клавиатуры (датчиков)” CW2.

  • Снятие запроса на прерывание - подключение средств обнаружения ошибки” CW7.

  • Запись в ОЗУ индикации” CW 4

  • Чтение ОЗУ индикации” CW 3 .

  • Запрет записи в ОЗУ индикации - гашение” CW5.

  • 5 Организация ввода и отображения данных в мпс


    Скачать 0.52 Mb.
    Название5 Организация ввода и отображения данных в мпс
    АнкорP5d-i79.doc
    Дата15.08.2018
    Размер0.52 Mb.
    Формат файлаdoc
    Имя файлаP5d-i79.doc
    ТипДокументы
    #22978
    страница1 из 3
      1   2   3





    5 Организация ввода и отображения данных в МПС
    Пульты управления (или консоли) небольших систем часто реализуются как устройства ввода и вывода простых клавиатуры и индикатора без применения устройства отображения на ЭЛТ. С помощью клавиатуры в МПС данные, адреса памяти и машинные коды вводятся в 16-ричной системе счисления. Кроме цифровых клавиш клавиатура имеет функциональные клавиши для ввода признаков управления. При выводе адреса памяти и данные отображаются с помощью светодиодных индикаторов. Примером такой системы ввода и вывода информации может служить учебный стенд “Электроника-580”.

    Для клавиатуры применяются клавишные переключатели, представленные матрицей и не имеющие никаких электронных схем. На рисунке 5.1 показано подключение 64-клавишной клавиатуры к магистрали микроЭВМ через два порта (канала) ввода-вывода программируемого параллельного адаптера (интерфейса) (ППА) К580ВВ55. При нажатии клавиши соответствующие строка и столбец замыкаются. Код строки и столбца нажатой клавиши образуют кодовое слово этой клавиши. Таким образом, для ввода символа в микроЭВМ решается задача:

    1. Определение факта нажатия клавиши на клавиатуре.

    2. Нахождение номера (кодового слова) нажатой клавиши.

    3. Осуществление передачи управления на соответствующую подпрограмму преобразования кода клавиши в код символа (кодогенератор) (решается программными или аппаратными средствами).

    Процесс определения кодового слова (номера клавиши) называется сканированием клавиатуры и реализуется следующим образом. Из микроЭВМ через выходной порт (канал А ППА ВВ55) посылается код “0” в строку 0 и сигнал “1” во все остальные строки. Затем считываются и проверяются линии столбцов через порт В ППА, и если в ней нет сигнала “0” (нет нажатой клавиши в строке 0), то процесс сканирования повторяется для строки 1, затем 2 и т.д. Когда хотя бы в одном разряде выходного слова канала В фиксируется “0”, то обнаруживается нажатая клавиша, позиция строки которой известна по выводимой комбинации через канал В (в унитарном коде), а позиция столбца - по результату ввода (коду сканирования клавиатуры через канал А). Например, если была нажата клавиша во второй строке третьего столбца, то через канал В будет принят код 11110111, а через канал А при этом был выдан код 11111011. Объединяя позиции строки и столбца обнаруженного “0” путем перевода унитарных кодов в восьмиричные, получим местоположение нажатой клавиши 32 (в 8-ричной системе счисления) (третий столбец, вторая строка).



    С клавиатурой связаны две сложности: дребезг контактов и одновременное нажатие нескольких клавиш. Дребезг контактов возникает при переходе из одного устойчивого состояния в другое (замкнуто или разомкнуто). Продолжительность дребезга не постоянна, но обычно меньше 10 мс. Подавление дребезга осуществляется либо аппаратно, либо программно, последнее требует больших затрат процессорного времени. Для исключения ситуации одновременного срабатывания нескольких клавиш ввод кодов замкнутых клавиш производят в порядке их обнаружения.

    В настоящее время для индикации информации существует большое разнообразие цифровых и алфавитно-цифровых индикаторов. Наиболее распространенными для отображения 16-ричных цифр являются семисегментные светодиодные индикаторы (рисунок 5.2), где A - G и DP (десятичная точка) - входы индикатора, на которые подается код символа.


    На рисунке 5.3 показана упрощенная структура подключения восьми индикаторов без использования буферных регистров для кодов символов. Дешифратор в любой момент времени выбирает только один из восьми индикаторов на 1 мс для подсветки выводимого на линии A-G, DP кода символа, а после прохождения всех разрядов последовательность операций повторяется с нулевого разряда, т.е. выполняется регенерация изображения на индикаторах (подсветка), что создает иллюзию непрерывно работающего дисплея. Потребляемый ток включенного сегмента индикатора превышает нагрузочную способность ТТЛ-схем, поэтому в цепях разрядов и сегментов обычно используют транзисторные ключи-усилители.

    Другим примером индикатора 16-ричных цифр может служить точечная матрица из 20 светодиодов. Индикатор имеет встроенный регистр-защелку, дешифратор и усилители тока. На вход индикатора подается 4-разрядный двоичный код цифры, который запоминается в регистре-защелке и преобразуется в видимое изображение эквивалентной 16-ричной цифры, при этом регенерация изображения не требуется, т.к. данные постоянно хранятся в регистре-защелке (рисунок 5.4).





    В качестве устройств ввода могут использоваться также датчики, представляющие собой переключательные элементы, управляемые от каких-либо объектов, например, датчики пожарной сигнализации, предельных режимов работы аппаратуры и т.д., как правило, отличающиеся по принципу действия от клавиатуры только отсутствием многократного срабатывания (дребезга контактов) при включении/выключении и длительностью замыкания контактов.

    Клавиатура и индикаторы обычно подключаются к магистрали микроЭВМ через программируемые параллельные адаптеры ввода-вывода ВВ55 и при вводе и выводе по прерываниям процессор должен выполнять процедуры сканирования клавиатуры (периодического ввода кодов клавиш и программной обработки введенной информации) и регенерации индикатора. Для освобождения процессора от этих процедур в состав МПК К580 входит БИС программируемого контроллера клавиатуры и индикации (ПККИ) К580 ВВ79.


    1. Программируемый контроллер клавиатуры и индикации

    К580ВВ79

    Программируемый контроллер клавиатуры и индикации (ПККИ) предназначен для реализации обмена информацией между МПр и матрицей клавиш (датчиков) и блоком индикации и может выполнять следующие функции:

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

    На рисунке 5.5 представлено условное графическое обозначение БИС ПККИ ВВ79, а в таблице 5.1 - назначение выводов.

    Структурная схема ПККИ приведена на рисунке 5.6, в которой можно выделить три основных блока: управления, интерфейсов индикации и клавиатуры, при этом блоки интерфейсов индикации и клавиатуры работают независимо друг от друга.



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

    Буфер шины данных служит для организации обмена с магистралью данных МПр при записи управляющих слов (CW) и данных в программируемый интерфейс контроллера, чтения слова состояния ПККИ и содержимого ОЗУ клавиатуры (М-ОЗУ) и ОЗУ индикации (отображения) и имеет двунаправленную 8-разрядную шину D7-D0 на три состояния.


    Схема управления вводом-выводом управляет обменом между МПр и ПККИ с помощью управляющих сигналов

    CS, RD, WR, A0 в режимах записи и чтения.

    Тип информации определяется значением разряда адреса порта ПККИ А0. Если А0=1, то записываемая в ПККИ информация является кодом управляющего слова CW, а считанная - кодом слова состояния ПККИ (PSW). Если А0=0, то записываемая и считываемая информация является словом данных ПККИ.

    Регистры управляющих слов служат для записи и хранения управляющих слов CW, определяющих режимы работы ПККИ, а с помощью схем управления и синхронизации производится их дешифрация и выработка сигналов, которые управляют функционированием всех узлов БИС. Кроме того, с помощью 5-разрядного регистра коэффициента пересчета, вычитающего счетчика с предустановкой и 10-разрядного счетчика (четыре старших разряда которого выполняют функции счетчика сканирования) схема управления и синхронизации делит внешнюю частоту синхросерии CLK, поступающей на вход ПККИ от ГТИ микропроцессора на К (К - число, записанное в регистр коэффициента пересчета), так как внутренняя частота синхронизации должна быть не более 100 кГц, что обеспечивает время просмотра (сканирования) клавиатуры за 5,12 мс и время ожидания успокоения дребезга контактов - 10,24 мс (два цикла сканирования). При этом тактовая частота внешнего генератора импульсов Тclk <= 2 МГц, а длительность такта внутренней синхронизации составляет 10 мкс.

    Схема управления и синхронизации также вырабатывает синхросигнал на выход BD для гашения индикации во время смены символов на ней длительностью 160 мкс при загрузке управляющего слова CW5 - запрет выдачи информации по каналам А и В.

    Счетчик сканирования (СТS) служит для формирования кодов, используемых для опроса матрицы клавиатуры (датчиков), и индикации, например, при загрузке управляющего слова CW0 “Установка режимов работы интерфейсов клавиатуры и индикации” производится настройка схемы для выдачи состояния счетчика сканирования, который может работать в двух режимах:

    • кодированном (обычного двоичного счета);

    • декодированном (режим сдвигового регистра с бегущим нулем).

    В кодированном режиме для получения восьми сигналов опроса (сканирования) столбцов матрицы клавиатуры размерностью 8х8 необходимо использовать внешний дешифратор на 3 входа (8 выходов). В декодированном режиме на выходах счетчика сканирования S3-S0 генерируются 4 сигнала опроса, что исключает использование дополнительного дешифратора, и размерность матрицы клавиатуры не должна превышать 4х8 (32 клавиши).

    Так как один и тот же счетчик вырабатывает сигналы опроса клавиатуры и регенерации изображения на индикаторе, то при работе счетчика в декодированном режиме будут работать только 4 разряда индикатора.

    Блок интерфейса индикации включает ОЗУ индикации (отображения), регистр адреса ОЗУ индикации и выходные регистры блока индикации.

    ОЗУ индикации (ОЗУИ) представляет собой двухпортовое запоминающее устройство емкостью 16 8-разрядных слов и предназначено для хранения информации, которая может отображаться на 8- или 16-разрядный индикатор. ОЗУ индикации состоит из двух независимых частей по 16 4-разрядных слов каждая, причем информация из каждой части может выдаваться на индикацию независимо на выходы OUTA3-OUTA0 и OUTB3-OUTB0 и запись в ОЗУИ также может осуществляться раздельно в каждую из частей или параллельно в обе части. После загрузки в БИС управляющих слов чтения или записи ОЗУИ его содержимое может быть прочитано или изменено микропроцессором по командам IN и OUT через системную шину данных.

    Четырехразрядный регистр адреса предназначен для адресации ячеек ОЗУИ, который снабжен схемами автоинкрементирования и сброса в “0”. Также имеется возможность занесения начального адреса ОЗУИ с помощью управляющих слов, загружаемых в ПККИ для обеспечения вывода символа на индикацию с произвольной позиции или записи в ОЗУИ новой информации (обновления содержимого части ОЗУИ или чтения содержимого ОЗУИ в микропроцессор).

    Блок интерфейса клавиатуры включает буфер возврата (регистр ввода), схему анализа и устранения дребезга контактов клавиатуры, многорежимное М-ОЗУ клавиатуры (датчиков), схему анализа состояния клавиатуры.

    Буфер возврата (регистр ввода) служит для приема кода состояния счетчика сканирования, снимаемого с выходных шин (столбцов) матрицы клавиш или датчиков в каждом цикле сканирования, кроме режима “Ввода по стробу”. Каждый вход RET7-RET0 буфера имеет высокое внутреннее сопротивление, обеспечивающее непосредственное подключение к нему выходной шины матрицы клавиатуры. В режиме стробируемого ввода буфер возврата является регистром, снабженным схемами стробирования по положительному фронту сигнала на входе C0/STB, а по линиям RET7-RET0 с клавиатуры поступает непосредственно код клавиши, т.е. формирование кода клавиши осуществляется в блоке клавиатуры и его выдача сопровождается формированием сигнала C0/STB.

    Схема анализа и устранения дребезга контактов клавиатуры подключается к выходам буфера возврата, служит для выявления запрещенных ситуаций при нажатии клавиш и не допускает повторного ввода кода клавиши, который может произойти за счет дребезга контактов в режимах стандартной и “игровой” клавиатуры. Эта схема запоминает номер сработавшего датчика на первом цикле сканирования (факт нажатия клавиши), ждет в течение двух циклов сканирования клавиатуры (время устранения дребезга контактов) и проверяет, осталась ли клавиша в сработавшем состоянии. Если да, то срабатывание истинное и сформированный код клавиши вводится в М-ОЗУ, если нет - то оно ложное и игнорируется.

    Например, при внутренней частоте контроллера 100 кГц время задержки схемы (устранения дребезга) равно 10,24 мс. Таким образом, всякое срабатывание клавиши на время, меньшее времени выдержки (2 цикла сканирования), будет игнорироваться. Таким образом, программируя внутреннюю частоту контроллера, можно в широких пределах изменять время просмотра матрицы клавиш и время выдержки схемы анализа и устранения дребезга контактов применительно к рабочим характеристикам клавиатуры, исключив ложные срабатывания.

    Многорежимное М-ОЗУ клавиатуры работает в режиме сканирования клавиатуры и организовано по принципу ОЗУ магазинного типа “первый зашел - первый вышел” (FIFO) емкостью восемь 8-разрядных слов для клавиатурных режимов работы (кроме режима анализа матрицы датчиков). То есть каждый вновь вводимый в ОЗУ код клавиши записывается в автоматически адресуемую ячейку (через указатель стека записи), а затем считывается в том порядке, в котором вводится (через указатель стека чтения). Таким образом, М-ОЗУ клавиатуры предназначено для хранения кодов клавиш, поступающих через буфер возврата и схему анализа и устранения дребезга контактов клавиш или в обход ее для режима ввода по стробу с выходных шин матрицы клавиш.

    В режиме анализа матрицы датчиков (опроса датчиков) М-ОЗУ работает как обычное адресуемое ОЗУ с произвольным доступом формата 8 слов х 8 бит. Каждое слово имеет свой адрес. При этом в данном режиме в М-ОЗУ хранятся состояния всех строк датчиков (в остальных режимах (таблица 5.4) - записываемые коды клавиш), а адрес записи равен содержимому счетчика сканирования в текущий момент времени. Если схема анализа состояния М-ОЗУ обнаружит изменение состояния хотя бы одного датчика по сравнению с предыдущим циклом сканирования (опроса), то в конце цикла сканирования генерируется сигнал запроса на прерывание INT. Информация из М-ОЗУ в режиме анализа матрицы датчиков считывается по адресу, установленному в RgA ОЗУ индикации с помощью CW2 “Чтение ОЗУ клавиатуры (датчиков)”. В режимах ввода с клавиатуры (стандартной и “игровой”) и ввода по стробу (таблица 5.4) М-ОЗУ клавиатуры работает как обычный 8-уровневый стек типа FIFO (ввод через порт Р2), т.е. коды клавиш автоматически записываются в последовательные ячейки М-ОЗУ указателя стека записи, а безадресное считывание данных происходит через порт Р1 в порядке записи данных через указатель стека чтения М-ОЗУ. После загрузки в ПККИ управляющего слова CW2 информация, хранимая в М-ОЗУ, может быть считана микропроцессором по команде IN.

    Схема анализа состояния М-ОЗУ клавиатуры включает регистр состояния, а также схему формирования запроса на прерывание INT. Разряды регистра состояния ПККИ содержат сведения о наличии введенных кодов клавиш и отображают следующие характеристики М-ОЗУ и состояние БИС (рисунок 5.7):

    • количество символов в очереди FIFO, кроме режима анализа матрицы датчиков (разряды D3-D0), причем значение разряда D3=1 используется как признак (флажок) того, что М-ОЗУ заполнено;

    • признаки ошибок обращения при записи в заполненное М-ОЗУ (D5) или попытки чтения микропроцессором из М-ОЗУ, не содержащего информации (D4) (FIFO пуст);

    • признак “Неготовность дисплея” (разряд D7) устанавливается и сигнализирует об ошибке при вводе данных в ОЗУИ, указывая на запрет доступа (записи) к ОЗУ индикации, когда выполняется команда CW6 “Программный сброс” формата записи константы в ОЗУИ или CW5 “Запрет записи в ОЗУ индикации - гашение” по обоим каналам (А и В) ОЗУИ;

    • признак S/E (разряд D6) устанавливается в зависимости от режима работы контроллера:

    • в режиме “Анализа матрицы датчиков”, если обнаружено изменение состояния хотя бы одного датчика по сравнению с предыдущим циклом сканирования с блокированием дальнейшей записи в М-ОЗУ;

    • в режиме игровой клавиатуры с запрещением одновременного нажатия двух и более клавиш (или специального анализа ошибки), если обнаружено одновременное срабатывание двух и более клавиш с блокированием дальнейшей записи в М-ОЗУ.

    Слово состояния ПККИ в основном используется для программного опроса контроллера с целью анализа его состояния в конкретных ситуациях.



    5.2 Программирование и режимы работы БИС ПККИ К580ВВ79
    После включения питания ПККИ должен быть установлен в исходное состояние путем подачи на вход RESET сигнала высокого уровня длительностью не менее 6 х ТСLK. При этом обнуляются счетчик сканирования, RgA ОЗУ индикации, указатели стека М-ОЗУ, регистр слова состояния, двоичный 10-разрядный счетчик, в регистр коэффициента пересчета записывается число 31, на выходах INT, BD, OUTA и OUTB устанавливается сигнал низкого уровня. Если аппаратный сброс (подача сигнала RESET) выполняется после записи управляющего слова CW0 “Установка режима работы интерфейса клавиатуры и индикации”, то в общем случае необходимо заново программировать режимы работы ВВ79, так как по умолчанию программируемый интерфейс настраивается на режим кодированного сканирования клавиатуры с запрещением ввода двух и более одновременно нажатых клавиш (режим стандартной клавиатуры), а также на вывод информации на 16-разрядную индикацию с разрешением ввода символов слева направо (начиная со старших разрядов). Также источником чтения назначается М-ОЗУ, что соответствует загрузке управляющего слова CW2. Отметим, что при аппаратном сбросе содержимое ячеек ОЗУИ и М-ОЗУ клавиатуры не обнуляется.

    Начальная установка БИС ВВ79 (настройка) осуществляется загрузкой управляющего слова CW0 “Установка режима работы интерфейса клавиатуры и индикации”, причем значение на входе А0=1. Блоки интерфейса клавиатуры и индикации хотя и используют для сброса общий счетчик сканирования, функционируют независимо и устанавливаются после загрузки управляющего слова.

    Программирование (настройка) ПККИ выполняется по командам OUT путем записи управляющих слов CW в регистры блока управления, после чего МПр может записывать командой OUT, читать командой IN информацию из ОЗУИ, М-ОЗУ клавиатуры и его слово состояния. Операции чтения/записи выполняются в зависимости от состояния управляющих сигналов CS, RD, WR, A0 (таблица 5.2).

    Таблица 5.2 - Операции чтения/записи

    Входные сигналы

    А0 RD WR CS



    В и д о п е р а ц и и

    1 1 0 0

    0 1 0 0

    1 0 1 0

    0 0 1 0

    Х Х Х 1

    Запись команды RgCW := D7-D0

    Запись данных ОЗУИ := D7-D0

    Чтение слова состояния D7-D0 = Rg PSW

    Чтение данных D7-D0 = М-ОЗУ v ОЗУИ

    Микросхема не выбрана. Шина данных находится

    в третьем состоянии.

    В ПККИ возможна запись восьми управляющих слов (таблица 5.3): три команды являются общими и используются во всех режимах; три CW управляют работой дисплея (индикацией) и два - режимами ввода, которые передаются по магистрали данных от МПр при CS=0 и А0=1 и загружаются по нарастающему фронту сигнала WR.

    Таблица 5.3 - Команды процессора для установки режимов работы

    Т и п

    команды

    К о м а н д а

    (управляющее слово CW)

    Код CW

    D7 D6 D5

    Код операции

    D4 D3 D2 D1 D0

    Общие

    команды

    CW0: Установка режима работы

    интерфейса клавиатуры и инди-

    кации

    CW1: Программирование скорос-

    ти ввода-вывода (синхронизации)

    CW6: Программный сброс

    0 0 0

    0 0 1
    1 1 0

    T2 T1 K2 K1 KD

    P4 P3 P2 P1 P0
    C4 C3 C2 C1 C0

    Управле-

    ние

    работой

    дисплея

    CW3: Чтение ОЗУ индикации

    CW4: Запись в ОЗУ индикации

    CW5: Запрет записи в ОЗУ инди-

    кации - гашение

    0 1 1

    1 0 0

    1 0 1


    S A3 A2 A1 A0

    S A3 A2 A1 A0

    X A B A B

    Управле-

    ние

    вводом

    инфор-

    мации

    CW2: Чтение М-ОЗУ клавиатуры

    (датчиков)

    CW7: Снятие запроса на преры-

    вание - подключение средств об-

    наружения ошибок

    0 1 0
    1 1 1


    S X A2 A1 A0
    E X X X X


    Рассмотрим форматы управляющих слов и преобразования, выполняемые в ПККИ ВВ79 при их загрузке.

    При загрузке CW0 “Установка режима работы интерфейса клавиатуры и индикации” производится настройка клавиатуры на один из восьми режимов работы (таблица 5.4) и дисплея на один из четырех режимов (таблица 5.5). Формат CW0 приведен на рисунке 5.8.

    Возможно задание одного из трех базовых режимов ввода информации:

    1. Ввод данных с клавиатуры (последовательный опрос матрицы клавиш, включающий два режима);

    • режим стандартной клавиатуры;

    • режим “игровой” клавиатуры;

    1. Последовательный опрос матрицы датчиков (или режим анализа матрицы датчиков);

    2. Стробируемый ввод (или ввод по стробу - сигналу синхронизации выдачи данных с клавиатуры STB ).

    В каждом из режимов ввода возможны следующие два варианта управления работой сканирующих линий:

    • режим кодирования (с дешифрированием состояния счетчика сканирования) - информация на линиях S3-S0 изменяется в двоичном коде;

    • режим декодирования - информация на линиях S3-S0 изменяется в унитарном коде с бегущим нулем, и при этом возможна работа без внешнего дешифратора.


    Таблица 5.4 - Кодирование режимов работы интерфейса клавиатуры

    К2К1 К0

    Режим

    Модификации режимов интерфейса клавиатуры


    0 0 0
    0 0 1

    0 1 0
    0 1 1



    Режим
    ввода с
    клавиатуры

    Режим стандартной

    клавиатуры с блоки- Кодирование линий S3-S0

    ровкой ввода двух и

    более одновремен- Декодирование линий S3-S0

    но нажатых клавиш
    Режим “игровой” Кодирование линий S3-S0

    клавиатуры с

    разрешением ввода Декодирование линий S3-S0

    нескольких клавиш

    1 0 0

    1 0 1


    Режим

    анализа

    матрицы

    датчиков

    Кодирование линий S3-S0
    Декодирование линий S3-S0


    1 1 0
    1 1 1

    Режим

    стробирован-

    ного ввода

    Кодирование линий S3-S0
    Декодирование линий S3-S0


    Функционирование ПККИ в различных режимах будет рассмотрено ниже.

    Таблица 5.5 - Режимы работы дисплея

    Т2 Т1

    Режимы работы интерфейса клавиатуры

    0 0


    Вывод 8-разрядных символов на индикацию с размещением их

    слева направо (начиная со старшего разряда индикатора)

    0 1


    Вывод 16-разрядных символов на индикацию с размещением их

    слева направо (начиная со старшего разряда индикатора)

    (устанавливается после аппаратного сброса по сигналу RESET)

    1 0


    Вывод 8-разрядных символов в один и тот же разряд со сдвигом

    ранее отображаемой информации влево (начиная с младшего

    разряда индикатора)

    1 1


    Вывод 16-разрядных символов в один и тот же разряд со сдвигом

    ранее отображаемой информации влево (начиная с младшего

    разряда индикатора)





    КD = 0 - кодированный выход счетчика сканирования;

    КD = 1 - декодированный выход счетчика сканирования.

    К2 К1

    0 0 - режим стандартной клавиатуры

    0 1 - режим “игровой” клавиатуры

    1 0 - режим анализа матрицы датчиков

    1 1 - режим ввода по стробу

    Т1=0 - вывод на 8-разрядный индикатор

    Т1=1 - вывод на 16-разрядный индикатор

    Т2=0 - вывод цифр слева направо (начиная со старшего разряда дисплея)

    Т2=1 - вывод цифр справа налево (начиная с младшего разряда дисплея)

    Рисунок 5.8 - Формат управляющего слова CW0 “Установка режима

    работы интерфейса клавиатуры и индикации
    Программирования скорости ввода-вывода (синхронизации)” CW1.


    Загрузка данного управляющего слова выполняется при настройке ПККИ для согласования внешней синхросерии CLK микропроцессора с внутренней частотой БИС ВВ79, которая должна быть не более 100 кГц. Коэффициент деления частоты, размещаемый в разрядах D4-D0 CW1, должен обеспечивать внутреннюю синхронизацию ПККИ с частотой Fclk/K <= 100 кГц.

    При аппаратном сбросе в регистр коэффициента пересчета заносится число 31, а при программном сбросе не изменяется. После загрузки CW1 происходит перенос коэффициента пересчета К= 2 - 31 в вычитающий счетчик с предустановкой в течение от 0 до 64 Тclk.

    Сброс” (программная очистка) CW6. Формат управляющего слова CW6 предусматривает несколько возможных вариантов сброса интерфейсов клавиатуры и индикации (рисунок 5.9):

    • сброс интерфейса индикации:

    а) запись в ОЗУИ константы гашения (пробела): С4=1, С1-С0=0;

    б) загрузка константы гашения в буфер: С4=0, С1-С0=0;

    • сброс интерфейса клавиатуры: С4=0, С1=1, С0=0;

    • два варианта совместного сброса интерфейсов клавиатуры и индикации:

    а) С4=1, С1=1, С0=0;

    б) С4=0, С1=0, С0=1.

    Сброс интерфейса индикации выполняется после загрузки CW6 формата 110.1УУ00, где УУ - код константы очистки, записываемый в ОЗУИ в течение цикла сканирования: все нули, все единицы или код 20h (цикл сканирования определяется форматом загруженного управляющего слова CW0: для декодированного выхода СТS цикл сканирования по умолчанию равен 4, а для кодированного выхода СТS - определяется разрядностью индикатора 8 или 16). Код константы, записываемый в ОЗУИ, определяется типом семисегментного индикатора (рисунок 5.2 - все нули или все единицы) или кодом символа (20h код пробела для КОИ8).




    При загрузке данного формата управляющего слова в слове состояния ПККИ бит 7 устанавливается в “1” и запрещается запись в ОЗУИ со стороны микропроцессора. В течение цикла сканирования в ОЗУИ записывается константа, определяемая значением бит D3, D2 CW6, а по окончании записи бит D7 PSW автоматически сбрасывается. Операция очистки занимает около 200 мкс, и процессор должен анализировать состояние разряда D7 слова состояния после загрузки команды CW6 “Сброс ОЗУИ”, прежде чем будет выполнено следующее обращение к контроллеру для записи новой информации в ОЗУИ.

    Если в разряде D4 CW6 будет записан нуль, то после загрузки управляющего слова в ПККИ на выходах OUTA и OUTB в зависимости от содержимого разрядов D3 и D2 появятся нули, единицы или код 20h, т.е. на время загрузки CW6 выполняется гашение индикатора и константа гашения записывается в специальный буферный регистр, которая в дальнейшем используется при гашении индикатора после загрузки CW5.

    Сброс интерфейса клавиатуры выполняется при D1=1, D4=0, D0=0 в формате CW6. При этом в ПККИ сбрасывается регистр слова состояния М-ОЗУ, указатели стека FIFO и на выходе INT устанавливается сигнал низкого уровня, что соответствует ситуации: М-ОЗУ пусто и разрешена запись новых кодов клавиш. Единица в разряде D0 CW6 оказывает такое же действие, как единицы в разрядах D4 и D1.

    Преобразования, выполняемые при загрузке CW6 различных форматов, приведены в таблице 5.6.
    Таблица 5.6 - Установка ПККИ при аппаратном и программном сбросе

    Источник


    RESET

    Программный сброс CW6

    CW0 1100NN10 1100NN00 1101NN00 110XNN01

    Режим работы

    CW0

    01000

    Определ.

    командой W W W W

    Коэффициент

    деления К


    31


    W W W W W

    Счетчик

    сканирования


    Сброс


    W W W W Сброс

    Источник чтения

    М-ОЗУ

    W W W W W

    Регистр адреса

    ОЗУИ


    0


    0 W W 0 0

    Указатели стека

    М-ОЗУ


    0


    0 0 W W 0

    Слово состояния

    0

    0 0 W W 0

    Запрос INT

    0

    0 0 W W 0

    ОЗУ индикации

    W

    W W W NN NN

    Код очистки на

    выходах OUTA,

    OUTB


    0


    W W NN NN NN

    W - остается без изменения.
    Чтение М-ОЗУ (FIFO) клавиатуры (датчиков)” CW2.




    В зависимости от режима работы, на который настроена БИС ПККИ, чтение содержимого М-ОЗУ клавиатуры производится различным образом. В клавиатурных режимах (последовательного опроса клавиатуры) и ввода по стробу данные из М-ОЗУ (FIFO) клавиатуры читаются после загрузки управляющего слова CW2, в разрядах D4-D0 которого может быть записана произвольная информация, так как в качестве адреса чтения используется указатель стека чтения FIFO.

    В режиме анализа матрицы датчиков М-ОЗУ работает в режиме ЗУ с произвольным доступом, а в качестве регистра адреса используется RgA ОЗУИ и после загрузки CW2 содержимое М-ОЗУ читается микропроцессором по командам IN по адресу, указанному в разрядах D2-D0 CW2. Если разряд D4=1 в CW2, то после каждого чтения адрес увеличивается на “1”, т.е. выполняется автоинкрементирование и информация будет считываться из последовательных ячеек М-ОЗУ, иначе (S=0) чтение будет происходить из одной и той же ячейки до подачи новой команды CW2 с другим кодом адреса ААА.

    Снятие запроса на прерывание - подключение средств обнаружения ошибки” CW7.


    В зависимости от режима, на который настроена БИС ПККИ, загрузка CW7 приводит к разным последствиям. В режиме анализа матрицы датчиков (Е=Х) после загрузки CW7 на выходе INT устанавливается низкий уровень сигнала и разрешается запись в М-ОЗУ клавиатуры (датчиков) (или просто снятие запроса на прерывание).

    В режиме “игровой” клавиатуры с разрешением замыкания двух и более одновременно нажатых клавиш единица, записанная в разряд D4 (Е) CW7, обеспечивает подключение специальных средств обнаружения ошибок, которые переводят ПККИ в режим, при котором фиксируется факт одновременного нажатия нескольких клавиш в одном цикле проверки на дребезг контактов и устанавливают в “1” флаг ошибки (разряд D6 слова состояния), запрещающий запись кодов клавиш в М-ОЗУ клавиатуры и устанавливающий на выходе INT сигнал высокого уровня.

    Запись в ОЗУ индикации” CW4.



    После загрузки CW4 микропроцессор по командам OUT может записывать информацию в ОЗУ индикации по адресу, указанному в разрядах D3-D0. Если разряд D4=1, то адрес ячейки после каждой операции записи увеличивается на единицу для адресации в следующую ячейку по принципу указателя стека.

    Чтение ОЗУ индикации” CW3.



    Значения разрядов те же, что и в предыдущей команде. После загрузки CW3 микропроцессор по командам IN может читать информацию из ОЗУ индикации. CW3 устанавливает, помимо адреса ячейки, еще и внутренний переключатель, в результате чего источником считываемой информации становится ОЗУ индикации, а не М-ОЗУ клавиатуры. Загрузка CW2 сбрасывает этот переключатель, и источником чтения становится М-ОЗУ клавиатуры, т.к. чтение М-ОЗУ и ОЗУИ осуществляется микропроцессором по одной и той же команде IN с четным портом ввода-вывода (А0=0). Микропроцессор всегда будет читать информацию из источника, определяемого последней по времени командой CW3 “Чтение ОЗУ индикации" или CW2 “Чтение М-ОЗУ клавиатуры”. Также следует учитывать следующие особенности использования RgA ОЗУИ:

    • адрес в RgA ОЗУИ может устанавливаться по трем командам: CW3, CW4 и CW2 (только в режиме анализа матрицы датчиков (АМД));

    • при загрузке адреса можно использовать два режима чтения: с автоинкрементированием по принципу указателя стека и без изменения адреса чтения/записи (в режиме произвольного доступа).

    Поэтому при совместном использовании этих команд необходимо учитывать следующее:

    • для команд CW3, CW4, CW2 (в режиме АМД) без автоинкрементирования необходимо перед командой IN задавать адрес чтения ОЗУИ или М-ОЗУ, а перед командой OUT - адрес записи ОЗУИ;

    • команды CW3, CW4, CW2 (в режиме АМД) с автоинкрементированием нельзя использовать в одном цикле (ППОП), т.к. при каждом чтении или записи адрес будет автоматически изменяться на “1”. Например, в режиме АМД, если загружены CW2 и CW4 с автоикрементированием, то адрес чтения М-ОЗУ будет определяться последней загруженной командой CW, а адрес записи в ОЗУИ будет на “1” больше адреса чтения.

    Поэтому рекомендуется при использовании этих команд с автоинкрементированием сначала выполнить операции чтения М-ОЗУ всех переменных в цикле, а затем - запись массива данных в ОЗУИ. Во всяком случае недопустимо перемежать различные виды обмена (запись и считывание, обращение по чтению к ОЗУИ и М-ОЗУ клавиатуры) без предварительной посылки управляющего слова, устанавливающего код регистра адреса и внутренний переключатель чтения ОЗУИ и М-ОЗУ клавиатуры.

    Также отметим, что в режимах вывода символов на 4- и 8-разрядный дисплей в ОЗУИ ячейки с адресами 4-15 и 8-15 соответственно не используются для отображения и при построении микроконтроллерных систем их может использовать микропроцессор для расширения емкости ОЗУ данных. Доступ к этим ячейкам возможен только по командам IN и OUT.
    Запрет записи в ОЗУ индикации - гашение” CW5.

    При загрузке CW5 в ПККИ можно запретить запись информации в ОЗУ индикации по входам D7-D0 при наличии единиц в разрядах слова D3, D2 или запретить раздельно запись информации в каждую половину ОЗУ по входам D7-D4 магистрали данных (D3=1) или по входам D3-D0 (D2=1).


    Кроме того, единица в разряде D1 CW5 запрещает выдачу информации (гашение индикации) из выходного регистра канала А (OUTA3-OUTA0), а единица в разряде D0 - выдачу информации из выходного регистра канала В (OUTB3-OUTB0). Команда применяется, например, при отображении данных на дисплее из 32 знакомест (две линейки индикаторов по 16 отображаемых символов) для вывода данных на одну из линеек индикатора или запрещения ввода соответственно младшей или старшей половины байта. При запрещении выдачи данных выходы OUTA и OUTB устанавливаются в 0000, 1111 или 00100000 (20h) в зависимости от того, какой код константы гашения был предварительно загружен командой CW6. Заметим, что если выдача информации запрещается по каналам А и В одновременно, то на выходе BD появляется сигнал низкого уровня. Отмена режима отображения данных, установленного командой CW5, производится при выполнении этой же команды с инверсными значениями требуемых битов.
      1   2   3


    написать администратору сайта