Формирование звуковых сигналов: Методические указания к выполнению лабораторной работы

Страницы работы

Содержание работы

МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ УССР

КОММУНАРСКИЙ ГОРНО-МЕТАЛЛУРГИЧЕСКИЙ ИНСТИТУТ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ 29

'•ФОРМИРОВАНИЕ ЗВУКОВЫХ СИГНАЛОВ"

1С КУРСУ "ПРОГРАММИРОВАНИЕ И ПРИМЕНЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ

И МИ1{РОПРОЦЕССОРНОЙ ТЕХНИКИ"

(для студентов всех специальностей и форм обучения)

Утверждено

на заседании РИС

института.

Протокол 3 от 01.06.87.

Коммунарcк КГМИ 1988

ББК 3973.2-JDI8

      Методические указания к выполнению лабораторной работы 29 "Фор­мирование звуковых сигналов" по курсу "Программирование и применение вычислительной и микропроцессорной техники" (для студентов всех спе­циальностей и форм обучения) / Сост. С.И.Зайцев. - Коммунарск: КГМИ, 1988. - 12 с.

       Приведены алгоритмы и программы организации временных задержек и генерирования звуковых сигналов для микропроцессорного устройства "Микролаб".

Составитель     доц.     С.И.Зайцев

Рецензенты:                 А.И.Ровенок

                                       П.А.Данчук

       Цель работы - исследование алгоритмов и программ организации вре­менных задержек и формирования звуковых сигналов,

Описание лабораторной установки

        Для того,  чтобы "заставить"    звучать громкоговоритель МПУ "Микролаб", необходимо на нулевом разряде порта В сформировать последо­вательность чередующихся сигналов 0 и I с одинаковыми длительностями (рис. I).

Рис.  I. Схема формирования звукового сигнала

        Естественно,  что чистота следования импульсов должна лежать в звуковом диапазоне. Программу формирования последовательности импульсов следует строить с использованием специальной подпрограммы формирования временной задержки.

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

      Листинг простейшей программы задержки представлен в тябл. I.

Таблица I Простая программа задержки

Продолжение табл. I

       Чтобы использовать эту программу, необходимо предварительно в ре­гистр Н занести число, определяющее длительность задержки. Содержимое регистра Н уменьшается до тех пор, пока не достигнет нуля, после чего управление возвращается в вызывающую программу.

        Время задержки, полученное при выполнении этой программы, определя­ется суммарным количеством тактов, необходимых для её выполнения. В наше случае для команды   DCR   требуется четыре такта; для   0MZ      в случае выполнения условия - 10 тактов,  в противно* случае-7 тактов; для    RET-10 тактов. Тогда    для каждого цикле требуется 4 + 10 = 14 тактов.

        Для завершения цикла требуется 4 - 7 + 10 = 21 такт.

        Принимая во внимание, что такт длится 0,5 икс, уравнение задержки имеет вид

t3=  (   N„ - 1)7 + 10,5 (mкс) .

         Здесь      NH    - число, записанное в регистр Н.

         Самая длинная задержка этой программы вызывается установкой регист­ра Н в нуль.  Следовательно, максимальная задержка t^=  (256 - 1)7 + 10,5 = 1795 (мкс).

         Для получения еще более длительной задержки следует использовать команды, воздействующие на пары регистров.

Листинг программы,  использующей пары регистров,  приведен    в табл.2.

Таблица 2 Программа задержки

    Время задержки, полученное при выполнении этой программы, определя­ется по формуле:

Здесь  NBC - начальное содержимое пары регистров В, С, Максимально возможная задержка будет получена, если в регистры первоначально занести нули:

В табл. 3 приведен листинг программы, формирующей звуковой сигнал.

Таблица 3 Формирование звукового сигнала

Продолжение та,л.  3

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

          В табл. 4 представлен листинг программы, синтезирующей музыкальное произведение.

Таблица 4

Программа синтеза музыкального произведения

Продолжение табл.  4

Таблица 5

Массив НОТ

Продолжение табл.  5

      Монитор "Микролаб" содержит программу ЗЕЕР (Адрес 0350),  генерирует непрерывистый звуковой сигнал.

      Подпрограммы задержек могут быть использованы и в программах форми­рования световых эффектом Б.

Рассмотрим описание программы "Бегущие огни".

Индикаторы выходного порта В (светодиоды) МЛУ "Микролаб" используют­ся как имитаторы "Бегущего огня". Программа последовательно осуществляет следующие операции:

1)  включение светодиод» 1,4,7} остальные погашены;

2)  формирование длительности горения установленных светодиодов;

3)   включение светодиодов 2,5,8; остальные погашены;

4)  формирование длительности горения установленных светодиодов;

5)   включение светодиодов 3,6; остальные погашены;

6)  формирование длительности горения установленных светодиодом;

7)  повторение пунктов 1-6.

       В табл. 6 представлен листинг программы "Бегущие огни".

       Программа последовательно загружает в регистр А коды выходных инди­каторов: 92(10010010), 49(01001001),  24(00700100). При этом логическим "I" в кодах соответствуют горящие светодиоды,а логически.) "0" – погашенные

Таблица 6

Программа "Бегущие огни"

Продолжение табл.  6

         В данной программе задержка большой длительности (до 201 с) генери­руется при пямоии вложенных циклов. Для получения такой задержки органи­зован счетчик в регистре   3) .  Число, первоначально записанное в регистр D   , определяет, сколько рьз выполнится внутренний цикл (задержка 0:786 с). Так как в регистр!)   можно загрузить число 256, то максималь­ная задержка, полученная таким образом, равна 256 х 0,786 = 201 с.

                      Задание для домашней подготовки

1.  Ознакомьтесь с алгоритмами формироьания временных задержек.

2.   Ознакомьтесь с принципом формирования звукового сигнала в МПУ "Микролаб".

3.  Изучите группу логических команд и команды условной передачи уп­равления.

4.   Изучите команд"! косвенной адресации.

5.   Разработайте программу временной задержки;  время задержки опреде­лите из формулы          t = 500 х   NB(мкс), где     We-номер Вашего вари­анте.

6.   Используя подпрограмму ВЕЕР и разработанную программу временной задержки, разработайте программу, формирующую последовательность прерывис­тых сигналов.

7.   При разработке различных автоматизированных систем управления машинами и технологическими процессами на базе микропроцессорных уст­ройств    часто возникает необходимость формирования последовательности

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

       Имитируя срабатывание исполнительного механизма "зажиганием" соот-ветствующего светодиода выходного устройства "Микролаб", разработайте алгоритм и программу генерации последовательности импульсов, Bapvu HTU домашних заданий представлены в табл.7. При разработке программы учтите, что наиболее целесообразно длительности задержек хранить в памяти в виде массива чисел, а сканирование массивов осуществить с исполь зованием ко­манд косвенно-регистровой адресации.

Таблица 7

Варианты домашних заданий

Программа лабораторной работы

Задание I. Проведите эксперимент с программой из табл. 3.

1.   Начните выполнение программы с адреса 8000.

2.   Измените содержимое ячейки 6005 в сторону уменьшения, а затем увеличения.

3.  Измените скважность импульсов на выходе 30 порта В.

4.  Для организации задержки используйте программу монитора, начи­нающуюся с адреса 039?.

Задание 2. Проведите   эксперимент с программой    из табл. 4.

1.  Начните выполнение программы с адреса 8000.

2.   Незначительно измените содержимое ячейки 8001, а затем 8025.

3.   Скорректируйте программу таким образом, чтобы мелодия звучала

Непрерывно

4.  Подбирая элементы массива НОТ, запрограммируйте другую мелодию.

Задание 3.  Проведите эксперимент с программой из табл.  6.

1.   Начните выполнение программы о адресе 8000.

2.  Варьируя величины временных задержек, измените скорость "бегущего огня".

3.  Скорректируйте программу таким образом, чтобы изменилось направ-ления движения "бегущего огня".

Задание 4.  Самостоятельно исследуйте   программы, разработанные дома.

Содержание отчета

1.   Схема формирования звукового сигнала.

2.   Алгоритма и программы временных задержек.

3.   Алгоритмы, Слок-схемы и программы домашнего задания.

Задания для самопроверки

1.  В чем состоит принцип формирования звуковых сигналов раз­личной частоты в МПУ "Минролаб"?

2.   Поясните алгоритм формирования задержки.

3.  Как рассчитать время задержки ?

4.   Поясните способ формирования задержек переменной длительности.

5.  Как будет выполняться программа из табл. 4, если вместо команда EST iприменить команду     HUT ?

Список рекомендуемой литературы

1.   Валашой Е.П., Пузанков Д. В. Микропроцессоры и микропроцессорные сис­темы. -М.:Радио и связь,1981.-376 с.

2.  Шаньгин З.Ф., Костин А.Е. Микропроцессоры. Организация вычислительных процессов на микро-ЭВМ / Под ред. Л.Н.Преенухина.-   М.:    Высш.     am. 1984.-119 с.

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ 29

'•ФОРМИРОВАНИЕ ЗВУКОВЫХ СИГНАЛОВ"

1С КУРСУ "ПРОГРАММИРОВАНИЕ И ПРИМЕНЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ

И МИ1{РОПРОЦЕССОРНОЙ ТЕХНИКИ"

(для студентов всех специальностей и форм обучения)

Составитель Святослав Иванович ЗАЙЦЕВ

Редактор О. //. Самар

Техн. редактор В. Л'. Колодвева

Похожие материалы

Информация о работе