5.1. Программа состоит из двух модулей: программы gener.dsp и подпрограммы sine.dsp.
Скопируйте из папки Лр6 в Ваш рабочий каталог папку Gen_Sine c файлами .asm, .ldf и .dat. ( файл sine.asm лучше взять из прошлой работы – он отлажен ).
5.2. Запустите программу VisualDSP++. Проделайте все этапы создания нового проекта с именем gen_sine.prj и исполняемого файла .dxe для программы, состоящей из двух модулей .asm и файлов .ldf и .dat. Загрузите исполняемый файл gen_sine.dxe.
5.3. При обследовании программы с прерываниями в пошаговом режиме следует использовать IREQ - регистр запросов прерывания. Это не регистр процессора, а регистр имитатора; он показывает, какие прерывания ожидаются, и обеспечивает удобства, позволяя вызвать возникновение прерывания и выйти из состояния ожидания прерывания (IDLE). Разряды IREQ соответствуют разрядам регистра IMASK процессора.
5.4. Обратите внимание на очерёдность выполнения инструкций программы в связи с возникновением и обработкой прерываний, а также на роль инструкции IDLE. Отобразите стрелками очерёдность выполнения инструкций в тексте программы или на схеме алгоритма.
5.5. Установите контрольную точку на инструкции вывода отсчёта и, производя запуски имитатора, фиксируйте каждый раз число циклов в окне Register / Program Control. Период прерывания равен разности числа циклов между вырабатываемыми отсчётами. Убедитесь в соответствии периода заданной частоте генерации.??
5.6. Убрав контрольную точку, можно запустить программу в режиме прогона. Остановка произойдёт по команде Halt. Чтобы наблюдать последовательность выходных отсчётов, можно использовать формирование в памяти массива выходных данных dm_y. Соответствующие инструкции в программе имеются. Чтобы вывести на экран область памяти с массивом, имеющим имя, следует, находясь в окне этой памяти, вызвать меню, дать команду GoTo, выбрать имя массива и выбрать дробный формат.
5.7. Создайте график зависимости y(n), пользуясь указаниями раздела 14.2.
5.8. После демонстрации преподавателю результатов работы следует закрыть проект Gen_Sine командой Project/Close и закрыть программу VisualDSP++. Папку Gen_Sine из своей рабочей области удалить.
6.1. Цель работы.
6.2. Графический алгоритм программы gener.asm.
6.3. Расчёт параметров таймера для формирования заданной частоты.
6.4. Очерёдность выполнения строк программы в связи с возникновением и обработкой прерываний показать стрелками.
6.5. Измеренное значение периода следования отсчётов.
6.6. Полученные результаты работы программы (таблица и график).
7.1. Расскажите о блоке таймера, его функциональном назначении и внутренней структуре.
7.2. Рассчитайте максимальный временной интервал, который можно задать с помощью таймера при тактовой частоте ADSP-2101 fCLKIN = 10 Мгц.
7.3. Как экспериментально проверить период прерываний от таймера при выполнении программы в имитаторе, если выражать его в циклах процессора?
7.4. Опишите принцип работы таймера и роль таймера в работе программы gener.asm.
7.5. Каковы особенности проверки программы в пошаговом режиме, если в ней используются прерывания?
7.6. Какие инструкции и директивы программы и как влияют на частоту генерируемой синусоиды?
7.7. Опишите последовательность выполнения инструкций в программе, использующей прерывания.
7.8. Каковы роль и особенности выполнения и использования инструкции IDLE?
7.9. Изобразите графический алгоритм программы, использующей прерывание. Расскажите о её работе.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.