logo
МПУЭВС

Приложение а6 Подпрограмма вывода звукового сигнала

В фрагменте программы используются регистры процессора:

НL  косвенные адреса (Адр, Адр+1, Адр+2) ячеек памяти используемых программой для хранения числа повторов периода тона и множитель длительности половины периода тона;

ВС  число повторов периода тона;

D  счетчик длительности полупериода тона;

А  обработка данных;

Порт вывода АИЗ  адрес 98h;

Линия СШД вывода уровней сигнала  D7.

Входные параметры:

(М (Адр, Адр+1))  младший и старший байты числа повторов периода тона соответственно;

(М (Адр + 2)) – множитель N расчётного выражения для длительности периода звукового сигнала;

Выходные параметры:

Вывод звукового тона (частота _____Гц, длительность звучания __сек)

Вариант фрагмента подпрограммы:

lxi H, Адр ; настройка косвенного адреса «Адр»

mov C, M ; извлечение числа

inx H ; повторов

mov B, M ; периода тона звука

inx H ; настройка адреса «Адр+2»

M2: xra A ; установка уровня

cma ; напряжения U1 разряда D7 рег. А

out 98h ; вывод уровня U1 на адаптер

nop ; семь повторов команды

nop ; для выравнивания

nop ; полупериодов тона

mov D, M ; извлечение числа N

MO:dcr D ; пауза полупериода

jnz M0 ; тона с напряжением U1

cma ; установка уровня

out 98h ; напряжение U0 на адаптер

mov D, M ; извлечение числа N

M1: dcr D ; пауза полупериода

jnz M1 ; тона c напряжением U0

dcx B ; анализ завершения

mov A, C ; цикла вывода

ora B ; звукового

jnz M2 ; сигнала

rst 7 ; выход в программу «Монитор» УМК

В приведенном фрагменте подпрограммы длительность двух полупериодов тона (период тона) в тактах определяется по выражению

Т = 2 * (15*N + 49) tтакт ,

где N  множитель длительности полупериода тона,

tтакт = 1/ fТ,

где fТ – тактовая частота процессора.

Значения множителя N в десятичном счете соответствует диапазону

1 < N < 255.

Лабораторная работа 7

Микропроцессорное управление матричным семисегментным табло