В рассмотренной в § 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