CODER: IN 07
MV1 B,0
M1: CP1 01
JZ M2
RAR
INR B
JMP M1
M2: MOV A,B
OUT 05
JMP CODER
Р8.6. В алгоритм, имитирующий работу дешифратора, можно заложить следующую идею:
если введенное число x = 0, то вывести унитарный код нуля 00000001;
если введенное число x ¹ 0, то сдвинуть код 00 000 001 влево x раз и вывести результат сдвига.
Программа будет следующей:
DECOD: IN 07
ADI 00
JZ M2
MOV B,A
MVI A,01
M1: RAL
DCR B
JNZ M1
JMP M3
M2: MVI A,01
M3: OUT 05
JMP DECOD
Р8.7. Обмен данными между МП и ВУ осуществляется по командам «Ввод» (мнемокод IN) и «Вывод» (мнемокод OUT). При синхронном обмене готовность ВУ к приему данных из МП или выдаче данных в МП обеспечивается за счет жесткого временного согласования между МП и ВУ. При асинхронном обмене такого согласования нет; МП, прежде чем производить обмен данными, запрашивает готовность ВУ к обмену и производит этот обмен только после подтверждения готовности.
Р8.8. а) Программа имеет следующий вид:
PROC: MVI A,81H ;Программирование ППА (режим 0,
OUT 0FBH ;Порт ПС – ввод, порт ПВ – вывод)
LP IN 0FAH ;Ввод данных из наборного поля
ANI 0AAH ;Маскирование нечетных разрядов
OUT 0F9H ;Вывод результата на индикаторы
JMP LP ;Организация цикла
Р8.9. Алгоритм формирования меандра представлен на рис. Р8.2. В аккумулятор загружается уровень aÎ{0,1}, в регистре B организуется счетчик. Программа имеет следующий вид (в столбце справа указано число тактов):
MEANDR: MVI A,81H ;Программирование ППА на 7
OUT 0FBH ;вывод из порта ПВ 10
MVI A,0 ;Загрузка в аккумулятор уровня 0 7
M1: OUT 0F9H ;Вывод уровня в порт F9 10
CMA ; . Загрузка в аккумулятор 4
;нового уровня
MVI B,K ;Загрузка в регистр B числа K, 7
;определяющего частоту колебаний
M2: DCR B ;Декремент регистра B 5
JNZ M2 ;Организация внутреннего цикла 10
JMP M1 ;Организация внешнего цикла 10
Рис. Р8.2. Алгоритм формирования меандрового напряжения
Длительность каждой полуволны формируемого напряжения определяется длительностью выполнения программы, которая, в свою очередь, зависит от числа внутренних циклов К, вводимого командой МVI В,К. Общее число тактов во внешнем цикле:
N = 10 + 7 (5 + 10)K + 4 + 10 = 31 + 15K.
При тактовой частоте МП fт = 2 МГц период и частота колебаний на выходе будут соответственно
,
Поскольку число K может находиться в пределах 1 £ K £ 256, предельные значения
Tмакс = 3871 мкс, Tмин = 46 мск, fмин » 260 Гц, fмакс » 21,8 кГц
Для получения требуемых периодов и частоты колебаний Т и f необходимо, чтобы K имело значение:
где T — в микросекундах; f — в килогерцах; [x] означает ближайшее к x целое число.
Погрешности установки периода и частоты колебаний за счет дискретности K соответственно:
DT £ 7,5 мкс;
Рис. Р8.3. Алгоритм формирования прямоугольного напряжения с произвольной скважностью импульсов
f - в килогерцах; Df - в герцах.
Для получения f = 1 кГц необходимо выбрать К = 65; при этом истинные период колебаний и частота будут соответственно Тист = 31 + 15×65 = 1006 мкс; fист »994 Гц.
Р8.10. Схема алгоритма на рис. Р8.3 отличается от приведённой на рис. Р8.2 тем, что вместо четвертой команды вначале доверяется выполнение неравенства а ¹ 0 и затем при а ¹ 0; регистр С загружается числом L, а при а = 0 — числом К, где L и К определяют соответственно длительности импульса паузы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.