
- •Введение в дсп.
- •Работа номер 1
- •9.Сдача работы:
- •If cond jump label;// условный переход
- •2.Показать как минимум две программы с разным темпом мигания от
- •Задание 2.5 - работа с таймером
- •Сдача задания 2.5: Задание – задать заметную на глаз частоту прерываний таймера
- •Задание 2.6 Использование таймера и прерывания от кнопки
- •Сдача задания 2.6: Задание – при нажатии на кнопку светодиод должен прекращать мигать, при повторном нажатии опять начинать мигать.
- •Сдача задания 3.1:
- •Сдача заданий 3.1.2 и 3.1.3:
- •If ne jump firstdac; // переход к пустому ацп Сдача задания 3.1.4:
- •Сдача задания 3.1.5:
- •1.Oб`ясните, почему нельзя использовать обычное сложение.
- •2.Почему инициализация регистров делается после вызова CodecInit ?
- •3.Почему запрещаются прерывания перед инициализацией регистров
- •If eq jump nofiltr; // если 0, не делаем фильтрацию
1.Oб`ясните, почему нельзя использовать обычное сложение.
2.Почему инициализация регистров делается после вызова CodecInit ?
3.Почему запрещаются прерывания перед инициализацией регистров
Задание 3.2.2
Сделайте включатель/выключатель фильтрации по кнопке, вывод на
осциллограф.
Можно использовать инструкции TGLBIT и TSTBIT.
АR=tglbit 0 of AX1;// бит переключается
АR=tstbit 0 of AX1; // бит не меняется, только флаги
Сдача задания 3.2.2:
Показать на осциллографе картинки, меняющиеся при нажатии на
кнопку..
Задание 3.2.3
Сделайте переключатель степени фильтрации по кнопке, вывод на
осциллограф.
Рекомендации:
Занесите значения длины буфера и величины сдвига в массивы.
По нажатию кнопки увеличивайте индекс этих массивов до заданной
величины, затем зануляйте.
Инициализацию накопительного буфера рекомендуется делать в процедуре
обработки нажатий кнопки, там же заносить значения в переменные buflen
(длина буфера) и shift (величина сдвига).
При инициализации буфера надо задавать регистры L0 и I0.
Для проверки на отсутствие фильтрации рекомендуется занести 0 в соответствующую ячейку массива и проверять перед фильтрацией, надо ли ее делать.
ax1=dm(shifter); // взяли из памяти величину сдвига, флаги не
// меняются!
ar=pass ax1; // проверка величины в AX1 с уставкой флагов
If eq jump nofiltr; // если 0, не делаем фильтрацию
Сдача задания 3.2.3:
Показать на осциллографе картинки, меняющиеся при нажатии на
кнопку.
Вопрос - зачем задавать регистр I0 при инициализации буфера ?
Работы 1,2,3 являются обязательными для получения зачета. Для получения отметки Хор. или Отл. необходимо выполнить одну из дополнительных работ.
Дополнительные работы
Можно придумать лабораторную работу самому и выполнить ее.
Это практически верная Отл. в зачетке.
Работа 4 - реализовать алгоритм целого деления с проверкой
Сдача работы – доказать, что ваш алгоритм работает верно.
Доказательства типа «Мамой клянусь» не принимаются.
Работа 5 - генерация сигналов из ЦАП в звуковую карту компьютера с
переключением типа сигналов по кнопке - синус, прямоугольник,
треугольник.
Просмотр сигнала либо через звуковую карту компьютера на программе-
осциллограф или на реальном осциллографе.
Работа 6 - Запрограммировать порт для работы как ком-порт, проверка
через программу в хост эвм.
Работа 7 - Частотомер – измерять частоту от генератора и каким-то
образом ее показывать.
Работа 8 - на осциллографе нарисовать картинку, пользуясь X-Y входами
Было нарисовано: цифра 1