Задание на курсовое проектирование. Анализ технического задания. Разработка принципиальной схемы МПС, страница 6

Для дешифрации внешних устройств используются соответствующие разряды шины адреса, обращенные в ноль, в совокупности с сигналом шины управления , находящимся в состоянии логического нуля. 16-разрядный адрес внешнего устройства разделен на четыре зоны в соответствии с количеством адресуемых ВУ. Зоны ЦАП и компаратора одноразрядные, так как эти устройства не нуждаются в программировании. Зона таймера трехразрядная, ее битам соответствуют входы таймера A1, A0 и . Двухразрядной зоне контроллера клавиатуры и индикации соответствуют сигналы программирования и .

=0

16-разрядный адрес ВУ

Зарезервировано

Зона

IOP

Зона

таймера

Зона

компаратора

Зона

ЦАП

Диапазон

адресов

111111111

11

111

1

0

FFF0h

111111111

11

111

0

1

FFFDh

111111111

11

110

1

1

FFE3h...FFFBh

111111111

10

111

1

1

FF9Fh...FFDFh

5. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА АНАЛИЗА

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

Перед началом выполнения основных операций в главной процедуре main, находящейся по адресу 0800h в РПЗУ (т. е. начиная с третьего килобайта, абсолютный адрес ША – 8800h), производится инициализация счетчика отсчетов сигнала в виде полуслова регистра cx, и по умолчанию инициализируется десятью. Счетчик «низкого» уровня, в качестве которого выступает полуслово регистра ax, инициализируется нулем и, по ходу выполнения программы, будет получать единичные приращения.

Рисунок 6 – Блок схема алгоритма реализации поставленного ТЗ

Инициализация десятиразрядного ЦАП происходит следующим образом. Младшие 2 разряда кода преобразования стабильно находятся в состоянии логического нуля, чем обеспечивается возможность получения на выходе преобразователя одного четного уровня из 1020 возможных. По умолчанию, пороговый уровень компаратора выставляется в +4 В. Минимальный квант напряжения на выходе ЦАП: DU=5/1020≈0.0049 В. Напряжению в 4 В соответствует следующий уровень: 1020∙4/5=816. Таким образом, получаем необходимый уровень преобразователя: 816d=1100110000b, старшие восемь разрядов которого (11001100b=204d) выводятся во внешнее устройство – КР580ИР82.

Интервальный таймер инициализируется на следующий вид работ: канал 0, чтение запись/младшего байта, режим 2, двоичный счет, константа пересчета = 3.

SC1

SC0

RW1

RW0

M2

M1

M0

BCD

0

0

1

0

1

1

0

0

Канал 0

Чтение/запись младшего байта

Режим 2

Двоичный счет

Как уже было отмечено выше, интервальный таймер К1810ВИ54 периодически вырабатывает запросы аппаратного прерывания по входу INTR микропроцессора, чем инициирует запуск процедуры обработки прерывания с формальным идентификатором INTERRUPT_PROC и адресом в РПЗУ 0400h (второй килобайт, абсолютный адрес ША – 8400h).