Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Порядок выполнения лабораторной работы. Часть 1. Исследование работы интервального таймера (запуск, считывание текущего состояния и останов)
Часть 1. Исследование работы интервального таймера (запуск, считывание текущего состояния и останов) 1. Напишите фрагмент программы, в котором вначале задается максимальное значение счетчика для интервального таймера. Следующая команда выполняет запуск таймера, а следующая – фиксирует его текущее значение. Для этого необходимо выполнить запись в соответствующий регистр таймера (snapshot). Затем выполняется загрузка из регистра snapshot в регистр процессора с использованием операций полусловного чтения и считывание регистра состояния таймера. Следующая команда выполняет безусловный переход сама на себя. 2. Выполните программу из предыдущего пункта по шагам. Запишите в отчет считанные значения со счетчика таймера и состояния битов RUN и TO регистра состояния таймера. 3. Повторите выполнение предыдущего пункта, выдержав паузу перед выполнением команды записи в регистр snapshot таймера. 4. Поставьте контрольную точку на последней команде (команда br) и запустите программу. Запишите в отчет наблюдаемые результаты. Объясните наблюдаемое значение бита ТО. 5. Напишите фрагмент кода, в котором выполняется задание интервала для таймера, старт таймера и его останов с последующим считыванием текущего значения счетчика таймера в регистр процессора по аналогии с пунктом 1. первой части. 6. Выполните программу из предыдущего пункта по шагам. Запишите в отчет считанные значения со счетчика таймера и состояния битов RUN и TO регистра состояния таймера. 7. Повторите выполнение предыдущего пункта, выдержав паузу перед выполнением команды записи в регистр snapshot таймера. 8. Повторите выполнение предыдущих пунктов, вставив после выполнения останова таймера команду записи в регистр snapshot таймера. 9. Поставьте контрольную точку на последней команде (команда br) и запустите программу. Запишите в отчет наблюдаемые результаты. Объясните наблюдаемое значение бита ТО. 10. Оцените длительность выполнения команд процессора ldw, stw, ldwio, stwio и некоторых других, вставив их в фрагмент программы из пункта 4 между командами запуска таймера и считыванием его текущего значения. Попробуйте обратиться к памяти, реализованной на кристалле, к статической и динамической памяти. Отразите в отчете наблюдаемые значения. 11. Вставьте в программу из пункта 4 после команды запуска таймера команду вычитания единицы из регистра, например R3, процессора. Повторите выполнение 4 пункта задания. Определите длительность выполнения команды subi. 12. Подтвердите Ваши выводы, вставив в программу подряд несколько команд subi. 13. Добавьте в программу из пункта 6 команду перехода на повтор команды subi, если текущее значение R3 не равно 0. Экспериментально оцените длительность выполнения команды bne в случаях, когда переход на повтор команды вычитания subi не выполняется и когда выполняется. Подтвердите Ваши выводы, задавая разные значения R3. 14. Рассчитайте длительность выполнения цикла уменьшения R3 для случая, когда R3 равняется n, и экспериментально проверьте Ваши расчеты, задавая разные значения n. Рекомендуется эксперимент проводить следующим образом. Первую контрольную точку следует установить перед командой записи начального значения в счетчик таймера. Вторая контрольная точка устанавливается в конце программы. 15. Рассчитайте начальное значение R3 таким образом, чтобы программный цикл выполнялся ровно 1 минуту (90 секунд). Проверьте рассчитанное значение экспериментально, сверяя время выполнения фрагмента программы с наручными часами. Покажите выполнение этого пункта преподавателю. Чтобы более точно обнаружить время завершения, в конце программы используйте включение светодиодов. 16. Повторите выполнение предыдущего пункта, выполнив перед программным циклом запуск таймера, а после выхода из цикла – считывание его значения. Определите правильность работы Вашей программы, сравнив программную задержку с длительностью интервала, зафиксированную таймером. 17. Реализуйте в Вашей программе программный счетчик секунд и выведите его состояние на светодиоды. Проверьте правильность его работы, сверяя с наручными часами.
|