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

На рис. 5. показана схема подключения МП-системы к некоторому исполнительному механизму объекта управления через порт вывода информации.

Рис. 5. Схема формирования управляющего сигнала

Предположим, что данный исполнительный механизм работает по принципу «включить–выключить», т.е. может управляться двоичным выходным сигналом МП-системы («1» – включить, «0» – выключить).

Подпрограмма формирования такого управляющего воздействия проста и состоит всего из двух команд. Для включения исполнительного механизма используется подпрограмма «ON»:

ON: MVIA, 02; загрузить в аккумулятор код 000.0010

OUT, 03; выдать управляющий байт в порт 03.

Для выключения исполнительного механизма можно использовать подпрограмму «OFF»:

OFF: XRAA; обнулить аккумулятор

OUT, 03; выдать байт 0000 0000 в порт 03.

(вывести содержимое аккумулятора байт 0000 0000 в порт 03).

В том случае, если к остальным семи выводам выходного порта 03 подсоединяются другие исполнительные механизмы, формируется не двоичное управляющее воздействие, а байт управляющего слова, где каждому разряду ставится в соответствие 0 или 1 в зависимости от того, какие механизмы должны быть выключены или включены.

Программная реализация временной задержки использует метод программных циклов, при котором в какой-либо регистр блока регистров общего назначения (РОН) микропроцессора загружается число, которое при каждом проходе цикла уменьшается на единицу. Так продолжается до тех пор, содержимое регистра-счетчика не станет равным нулю, что интерпретируется программой как момент выхода из цикла. Время задержки при этом определяется числом, загруженным в регистр-счетчик, и временем выполнения команд, образующих цикл. Схема алгоритма такой программы показана на рис. 6.

Рис. 6. Блок-схема временной задержки

Программа имеет символическое название «TIME» и, в случае вызова её основной программой по команде CALL, адрес TIME, должна завершаться командой возврата RET.

Предположим, что в МП-системе, использующей тактовую частоту 2 МГц (такт в этом случае составляет 0,5 мкс), необходимо реализовать временную задержку длительностью 250 мкс. Фрагмент программ, реализующей временную задержку, необходимо оформлять в виде подпрограммы, так как предполагается, что основная программа будет обращаться к ней многократно.

Текст программы, отображающей структуру алгоритма, показанного на рис. 6, следующий:

TIME: MVIB, X; загрузка регистра В числом Х

COUNT: DCRB; уменьшение на 1 содержимого

регистра В JNZ, адрес COUNT; повторить цикл, если В≠0

RET; возврат в основную программу, если В=0.

Для получения требуемой временной задержки необходимо определить значение числа Х, загружаемого в регистр В. Определение числа Х выполняется на основе времени выполнения команд, образующих данную подпрограмму. При этом необходимо учитывать, что команды MVIB, X и RET выполняются однократно, а число повторений команд DCRB и JNZ, адрес COUNT равно числу Х, загружаемому в регистр В. Кроме того, обращение к подпрограмме временной задержки осуществляется по команде CALL, адрес TIME, время исполнения которой также необходимо учитывать при подсчете временной задержки. В описании команд МП КР580ИК80 указывается, за сколько тактов основной частоты синхронизации исполняется каждая команда МП. На основе этих данных можно записать:

CALL, TIME – 17 тактов – 8,5 мкс;

MVIB, X – 7 тактов – 3,5 мкс;

DCRB – 5 тактов – 2,5 мкс;

JNZ, адрес COUNT – 10 тактов – 5,0 мкс;

RET – 10 тактов – 5,0 мкс.

Таким образом, однократно исполняемые команды (CALL, MVI, RET) в этой подпрограмме требуют 17 мкс (8,5+3,5+5,0). Следовательно, для получения требуемой задержки в 250 мкс необходимо команды DCRB и JNZ, COUNT столько раз, чтобы время их исполнения составило 233 мкс, т.е. (250–17). Однако время выполнения этой пары команд составляет (2,5+5,0). Поэтому, если принять Х=31, возможно получение временной задержки 232,5 мкс.

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