Построение счетчиков на двух регистрах.

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

Фрагмент из программы

Delay:

LXI B, DEL ; пересылается константа

В регистровую пару В-С

M3:

NOP ; пустая команда для увеличения

Времени цикла

NOP

MOV A,C

ORA B ; (A)←(A)V(B)

JNZ M3

JMP Mi ; метка основной программы

END

Построение программы с управляющими сигналами

Если МПС управляет устройством, то на вход МПС поступает сигнал, по результатам которого формируется управляющий сигнал. Пусть двоичный счетчик управляется двумя сигналами, а именно, сигнал Х1 – сброс счетчика в нулевое состояние (начальное) и Х2 – останов счетчика.

Примечание: Эти сигналы используются в программной реализации проектируемого устройства в курсовой и лабораторной работах.

Управляющий сигнал обеспечивает сброс счетчика в начальное состояние, если Х1=0 в разряде регистра А1 (аккумулятор), а Х2=0 в разряде регистра А3 (аккумулятор) : обеспечивает останов счета. Cигналы управления вводятся в аккумулятор МП побайтно.

Рассмотрим последовательность применения управляющих сигналов.

а) выделение сигнала Х1. Для этого применим команду логического умножения (конъюнкция) АNI X, где Х – число (соnst), позволяющее выделить любой разряд (ы) регистра (аккумулятора). В нашем примере константа 02 (ANI 02), которая позволяет выделить разряд сигнала Х1.

 

б) определение значения разряда (1 или 0)управляющего сигналаХ1: применяем команды JZ или JNZ.

Аналогично для сигнала Х2:

а) выделение сигнала Х2 (сонстанта 08):

б) определение значенияразряда сигнала Х2: применяем команды JZ или JNZ.

Пусть Х12=1, то есть рассмотрим ситуацию, когда счетчик работает без воздействия управляющих сигналов:

Разработка программы счетчика табличным методом.

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

Пример: разработать счетчик табличным методом с произвольным порядком смены состояний.

Пусть счетчик имеет начальное состояние Q0 = 4 и выдает следующие значения

4 →0 →14→12 →8.

NAT обозначим, как метка, которая указывает начальный адрес таблицы знчений, выдаваемых счетчиком.

Фрагмент программы:

…………………………………

MOV A,C ;(А)← (C)

OUT OUTPORT ;вывод значений счетчика

LXI H,NAT ;загружаем данные таблицы