Простейшая микро-ЭВМ

         

ЗВУКОВАЯ СИГНАЛИЗАЦИЯ


В рассмотренной в § 9.2 кон­струкции кодового замка мы уже использовали звуковую сигнализацию для подачи сигнала тревоги. Для этого наушник или репродуктор подключался через резистор 200 Ом к младшему разряду порта 001 между выводом 16 микросхемы D18 и источником +5 В. Определенный звуковой тон получался в результате того, что в порт 001 выводилось содержание ре­гистра, инкрементируемого в постоянном темпе. Частота сиг­нала, получаемого с младшего разряда порта, равна половине частоты инкрементирования и задается временной задержкой соответствующего программного цикла. В следующем разряде частота вдвое меньше и т. д. Следовательно, подключая репро­дуктор не к младшему разряду порта, а к старшим, получим тон на соответствующее число октав ниже. Подавая на репро­дуктор через резисторы сигналы с разных разрядов порта, полу­чим звуки одного тона, но с разным содержанием гармоник. Если же в несколько портов выводить содержимое регистров, к которым с постоянной частотой прибавляются различные чис­ла, то, подключив репродуктор, к выходам портов через резисто­ры, можно получить различные аккорды.

Таким образом, звуки разных частот можно получать, при­бавляя к содержимому регистра разные числа или же меняя частоту суммирования.

Подключим репродуктор и введем в ПМ-ЭВМ следующую программу:

014000061                               Ml: LXISP,TAB

014001 036

014002014

014003301                               М2: POP В

014 004 170                                          MOV A, B

014 005 267                                           ORA A

014006312                                          JZ.M1

014 007 000

014010014

014011171                               МЗ: MOVA.C



014012267                                           ORA A

014013312                                          JZ,M4

014014 023

014015  014

014016034                                          INRE

014017173                                          MOV A, E

014020323                                          OUT, 0010


014 021 001

014022171                                           MOV А, С

014023075                               М4: DCRA

014024302                                          JNZ,M4

014025 023

014026014

014 027 005                                           UCR B

014030302                                          JNZ,M3

014031  Oil

014032 014

014 033 303                                             JMP, M2

014 034 003

014035 014

014 036 175                                 TAB: до

014037 145

014040160                                            ре

014041161

014 042 144                                             ми

014043 177

014 044 136                                             фа

014 045 207

014 046 124                                             соль

014 047 230

014050113                                             ля

014 050 252

014051102                                             си

014 052 277

014 053 077                                             до

014054 313

014 055 000

014 056 000

Нажмем кнопки СБРОС и Ц. Репродуктор начинает наигры­ вать гамму. Воспроизводимая мелодия запрограммирована таб­лицей, начинающейся с метки TAB. Таблица содержит пары чи­сел, последовательно извлекаемые процессором из памяти с по­мощью команды POP В. Первое число из пары заносится в ре­гистр С и задает высоту тона, второе число заносится в регистр В и задает длительность звучания ноты. Если в регистре В оказы­вается нуль, программа возвращается к началу таблицы. Если в регистре С оказывается нуль, формируется пауза. Подсчитав длительности программных циклов, нетрудно определить, какие числа в таблице соответствуют различным нотам, и запрограмми­ровать любую мелодию. Надо иметь в виду следующее: для того чтобы различные ноты имели одинаковую длительность звучания, произведение первого числа из пары на второе должно быть постоянным.

Читатель может усложнить программу, чтобы получить более интересное звучание. Он может также самостоятельно разрабо­тать программу "музыкального ящика", позволяющую самому наигрывать различные мелодии, пользуясь клавиатурой ПМ-ЭВМ.Мир машинной музыки необъятен, и начав с простей­ших программ, читатель при желании может достичь в этой области новых и оригинальных результатов.



Содержание раздела