Электронный метроном на ЭКВМ "Электроника МК" |
Главная / ЭКВМ / Программы для ЭКВМ / Прикладные задачи |
Программа занимает 87 байт и может заменить довольно сложный электронный метроном при занятиях музыкой. Особенно в тех случаях, когда приобретение узко специализированного устройства представляется нецелесообразным. С её помощью ЭКВМ может воспроизводить ритмический рисунок длиной от 1 до 8, состоящий из ударов трех типов: пауза (нет удара), обычный и выделенный. Если указать длину 1 и обычный сигнал, то получаем электронный аналог механического метронома. Метроном
Перед началом работы в RA следует записать темп, число ударов метронома в минуту. В RB заносится ритмический рисунок - целое число, состоящее из цифр 0, 1 и 2. Воспроизводится он слева-направо. Ноль будет обозначать паузу, единица обычный сигнал, а двойка выделенный. Частоты звучания сигнала метронома для единицы и двойки следует занести в RD и RE соответственно. Для имитации простого метронома достаточно в RB записать число 1. Если записать 211, получим ритм вальса. Числа 11211 и 1121211 соответствуют известным джазовым ритмам, и так далее. Длина записанного числа определяется автоматически. Естественно, ритм при этом не может начинаться с пауз. Но зато может ими заканчиваться, что, в конечном итоге, безразлично. После записи чисел в регистры следует нажать "В/О", "С/П" для начала работы. Для останова программы нажать "С/П". Программа состоит из двух частей. В адресах 00-46 содержимое RB преобразуется и заносится в R1-R9 для ускорения последующей обработки. В 00-10 значение темпа из RA преобразуется в величину периода цикла метронома, выраженную в сотых долях секунды. Число 2 по адресам 08 и 74 определяет длительность удара метронома. В первом случае оно уменьшает значение периода для записи в RC. Для изменения звучания удара это значение можно изменить, но только в обоих адресах одновременно. В 11-18 определяется длина ритма и заносится в R9 и R0. Содержимое RB временно переносится в R16. В 19-43 число из RB разбивается на отдельные цифры и заносится в регистры R1-R8, начиная с R1. Хотя проверок нет, поэтому при вводе неверного значения в RB перед запуском программа будет работать неправильно. В адресах 44-46 из R16 восстанавливается RB. При текущем запуске значение RB больше не требуется, но оно нужно для последующих запусков программы. В адресах 47-86 расположен цикл метронома. В 47-48 длина ритма переносится из R9 в R0 для организации цикла. В 49-58 вырабатывается пауза между ударами. Для этого происходит обращение к функции формирования звукового сигнала с частотой 0 (в регистре Y). Собственно звук при этом не вырабатывается, но регистр используется как таймер. Время считывается из RC и передается команде "РР П 9052" в регистре X. После этого значение считывается из таймера до тех пор, пока в нем не появится нулевое значение. Проверка выполняется командами 54-58 В 59-73 происходит выбор типа очередного сигнала. Для этого в 59-60 косвенно считывается код очередного сигнала. В 61-65 происходит проверка на 0 и занесение в стек нуля. В 66-73 проверка на 1 и занесение в стек содержимого RD, если условие выполнено или RE, если не выполнено. В 74-82 выполняется вывод звука. Длительность сигнала определяется числом 2, а частота содержимым стека, полученным в 59-73. Ожидание окончания звучания выполняется аналогично 54-58. Команды 83-86 организуют цикл по ритмическому рисунку и бесконечное повторение этого цикла. Громкость регулируется переменным резистором в отсеке регулировок. Если требуется значительное увеличение громкости звука, к ЭВМ можно подсоединить внешний усилитель. Для этого следует подключить его к контактам 15 (FOUT - звуковой сигнал) и 12 (GND - общий) разъема ВУ. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
НПП "СЕМИКО" (383) 271-01-25 (многоканальный) |