Разработка микропроцессорной системы на базе микропроцессора I-8085, содержащую: 2 кБ ROM памяти, 2 кБ RAM памяти, периферийные БИС I-8255 и I-8279, страница 4

Устройство КР580ВВ79 позволяет вводить с клавишного пульта еще два дополнительных сигнала: SHIFT – установка регистра клавиатуры, CNTL – управление. При замыкании соответствующих ключей устройство КР580ВВ79 фиксирует их состояние и при вводе данных путем нажатия клавиш на клавишном пульте записывает соответствующею информацию в память. Таким образом, с помощью устройства КР580ВВ79 можно регистрировать 256 различных кодовых комбинаций или символов.   

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

2. Программирование БИС

По заданию предполагается программирование только 1 контроллера, поэтому рассмотрим  программирование контроллер КР580ВВ79.

Программирование периферийных БИС, как правило, начинается сразу же после включения питания МПС или после подачи сигнала сброса, выполнением  программы начальной инициализации. Обращение к периферийным БИС со стороны МП может быть реализовано или с помощью аппаратного прерывания или с помощью программного опроса регистров состояния периферийных БИС.

2.1 Программирование КР580ВВ79

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

Общий формат команды:

D7       D6       D5       D4       D3         D2       D1         D0

К

О

П

Аргументы

где КОП - код операции.

1. Задание режима работы индикатора и клавиатуры.

Команда задания режима работы индикатора и клавиатуры определяет режим функционирования устройства КР580ВВ79.

КОП =000;

D4=0, D3=0 – индикатор на 8 знаков, ввод слева;

D4=0, D3=1 – индикатор на 16 знаков, ввод слева;

D4=1, D3=0 – индикатор на 8 знаков, ввод справа;

D4=1, D3=1 – индикатор на 16 знаков, ввод справа;

D2=0, D1=0, D0=0 – кодирование сигналов сканирования матрицы клавиатуры. Блокировка ввода при нажатии двух и более клавиш;

D2=0, D1=0, D0=1 – прямое использование сигналов сканирования матрицы клавиатуры. Блокировка ввода при нажатии двух и более клавиш;

D2=0, D1=1, D0=0 – кодирование сигналов сканирования матрицы клавиатуры. Допускается одновременное нажатие N клавиш;

D2=0, D1=1, D0=1 – прямое использование сигналов сканирования матрицы клавиатуры. Допускается одновременное нажатие N клавиш;

D2=1, D1=0, D0=0 – кодирование сигналов сканирования сенсорной клавиатуры;

D2=1, D1=0, D0=1 – прямое использование сигналов сканирования сенсорной клавиатуры;

D2=1, D1=1, D0=0 – стробируемый ввод данных. Кодирование сигналов сканирования индикатора.

D2=1, D1=1, D0=1 – стробируемый ввод данных. Прямое использование сигналов сканирования индикатора.

2. Установка значения делителя частоты.

Устройство КР580ВВ79 имеет программируемые счетчики, используемые при выполнении деления частоты синхронизирующего сигнала на 100 Кгц. Тактовая последовательность частоты 100 Кгц применяется для внутренней синхронизации устройства КР580ВВ79.

Желаемое значение делителя частоты устанавливается с помощью команды - Установка значения делителя частоты.

КОП=001;

D4D3D2D1D0 – значение делителя, необходимое для получения частоты тактовой последовательности, равной 100 Кгц;

Делитель может принимать значения в диапазоне от 1 до 31.

3. Чтение из ОЗУ/магазинной памяти/чтение из сенсорного ОЗУ.

КОП=010;

D3 – не используется;

В режиме сенсорного сканирования содержимое поля D2D1D0 указывает одну из восьми строк ОЗУ, которая должна быть считана. Разряд D4 используется для задания режима автоинкрементной адресации. Если значение этого разряда равно 1, то после считывания из ОЗУ производится автоматическое увеличение адреса считывания. Если разряд  D4 установлен в 1, то после считывания из ОЗУ не будет сбрасываться запрос прерывания. Во время других режимов работы содержимое полей D2D1D0 и D4  не принимается во внимание.