Учебное пособие: Аппаратное и программное обеспечение простых микропроцессорных систем

Исходя из приведенного расчета, запишем текст подпрограммы TIME:

TIME: MVIB, 31 ; загрузка в регистр В числа 31

COUNT: DCRB; декремент регистра В

JNZ, адрес COUNT; цикл, если В≠0

RET; возврат в основную программу.

В том случае, если точность представления временного интервала 250 мкс с погрешностью – 0,5 мкс не удовлетворяет разработчика, можно поступить двояко:

– реализовать подпрограмму точной задержки на 50 мкс и пятикратно повторить ее вызов;

– путем внесения в подпрограмму пустых операций NOP и соответствующего изменения набора команд (с целью устранения временного рассогласования 0,5 мкс) обеспечить точную временную выдержку.

Во многих случаях применения МП-систем требуется сформировать длительные временные задержки (секунды, минуты, часы и т.д.). Сделать это при частоте, равной 2МГц с использованием ранее описанного метода невозможно, так как максимальной емкости регистровой пары FFFF не хватит для того, чтобы представить число Х, достаточное для формирования задержки в 1 секунду. Сформировать столь большую для МП задержку можно с использованием метода вложенных циклов (как показано на рис. 7).

С целью получения задержки, равной 1 мин, основная управляющая программа может 60 раз осуществлять вызов подпрограммы ONESEC. Для этого число 60 загружается, например, в регистр В, который выполняет функции декрементного счетчика секунд, и после каждого прогона подпрограммы ONESEC его содержимое уменьшается на 1. Текст программы «ONESEC» приводится ниже.

ONESEC: MVIB, FF; счетчик внешних циклов

L1: MVIC, FB; счетчик внутренних циклов

L2: NOP; точная подгонка времени

внутреннего цикла

NOP;

NOP; время

NOP;

DCRC; декремент счетчика внутренних циклов

JNZ, адрес L2; возврат во внутренний цикл, если С≠0

DCR В; декремент счетчика внешних циклов

JNZ, адрес L1; возврат во внешний цикл, если В≠0

RET

Рис. 7. Алгоритм задержки на 1 секунду


Блок-схема типовой процедуры сбора и формирования в ОЗУ МП-системы массива данных от одного источника показана на рис. 8. Источником вводимых данных является порт ввода с символическим адресом NN, 8100 – начальный адрес массива данных, регистр С используется в качестве счетчика данных и регистровая пара HL используется командами с косвенно-регистровой адресацией в качестве указателя данных; ETX – знак-терминатор «конец массива».

Рис. 8. Типовая процедура сбора данных

Программа имеет вид:

LXIH, 8100; запись начального адреса

К-во Просмотров: 300
Бесплатно скачать Учебное пособие: Аппаратное и программное обеспечение простых микропроцессорных систем