Управление музыкальным синтезатором




Принцип действия музыкального синтезатора основывается на делении тактовой частоты микропроцессором при помощи программируемого таймера КР 580 ВИ 53. Таймер программируется для работы в режиме 3 (генерация прямоугольных сигналов). Каждой ноте соответствует строго определённая частота, получаемая путём деления тактовой частоты F2 (TTL) на соответствующие коэффициенты. Длительность звучания ноты задаётся программно. Соответствующие каждой ноте частоты и коэффициенты деления для используемой тактовой частоты 1,23 МГц, приведены в инструкции по эксплуатации конструктора микро – ЭВМ «Энерго». В этой же инструкции приводится пример программной реализации музыкального синтезатора, коды, длительность звучания нот и соответствующие им частоты.

Организация обмена данными между двумя микропроцессорными системами.

Организацию обмена данными в МП системах можно проследить на примере параллельной передачи информации между двумя конструкторами микро – ЭВМ «Энерго» (рис. 5.4.). Для этого порт А одного комплекта «Энерго» должен быть запрограммирован на вывод информации, а другого – на ввод. Косвенную адресацию к ячейкам памяти, в которых хранится передаваемая информация, рационально осуществлять с использованием регистровой пары HL. В комплекте, настроенном на приём данных, в этой же регистровой паре можно сохранять текущее значение номеров ячеек, применяемых для записи информации. Порт С используется для передачи признака 01Н, выдаче данных в порт А. С целью обеспечения надёжного приёма передаваемой информации данные в порт А должны выводиться в течение некоторого временного интервала. Как показано в приведённом фрагменте программы (табл. 5.3.), длительность данного интервала можно задавать путём записи в регистр D числа FFH с последующей его декрементацией до нуля. Для передачи следующего байта данных необходимо сбросить признак наличия информации в канале А, увеличить содержимое регистровой пары HL на единицу и выдать в порт А очередные данные. чтобы микропроцессор приёмного комплекта успел отреагировать на изменение порта с 01Н до 00Н, последующая установка данного признака производится с задержкой, вводимой путём повторения команды отсутствия операции NOP. Для организации передачи целого массива данных необходимо предусмотреть циклической выполнение фрагмента программы.

 

      Таблица 5.3
Программа, осуществляющая передачу двух байт данных
Метка КОП Операнды Комментарий:
       
  MVI A, 82H Программирование порта А и С
  OUT F7H на выход информации
  MOV A, M A <= M(HL)
  OUT F4H port A <= A
  MVI A, 01H A <= 01H
  OUT F6H port C <= A
  MVI D, FFH D <= FF
M1: DCR D D <= D - 1
  MVI A, 00 A <= 00H
  ORA D A <= A or D
  JNZ M1 Переход по условию на метку М1
  MVI A, 00H сброс признака наличия данных
  OUT F6H в канале А
  INX H HL <= HL + 1
  MOV A, M A <= M(HL)
  OUT F4H port A <= A
  NOP   Введение задержки
  NOP    
  NOP    
  NOP    
  NOP    
  NOP    
  NOP    
  NOP    
  MVI A, 01H Посылается в порт С признак
  OUT F6H наличия данных в канале А

 

При приёме информации необходимо контролировать изменение признака обновления данных в канале С. С этой целью следует циклически опрашивать порт С и при изменении данных с 00Н на 01Н производится считывание информации. При обратном изменении признака в канале С осуществляется наращивание адреса ячейки памяти, предназначенного для записи следующего байта данных. В таблице 5.4 в качестве примера представлен фрагмент программы приёма двуз байт данных. При приёме большего объёма информации необходимо предусмотреть циклическое выполнение программы.

      Таблица 5.4
Программа, осуществляющая прием двух байт данных
       
Метка КОП Операнды Комментарий:
       
  MVI A, 98H Программирование порта А и С
  OUT F7H на ввод информации
M1: IN F6H Опрос канала С с целью
  CPI 01H фиксации признака
  JNZ M1 наличия данных
  IN F4H A <= port A
  MOV M, A M(HL) <= A
M2: IN F6H Циклический опрос канала С с целью
  ORI 00H фиксации изменения признака ввода
  JNZ M2 данных с 01H на 00Н
  INX H HL <= HL + 1
M3: IN F6H Опрос канала С с целью
  CPI 01H фиксации признака
  JNZ M3 наличия данных
  IN F4 A <= port A
  MOV M, A M(HL) <= A
       

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: