Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Порядок выполнения лабораторной работы. Часть 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. Реализуйте в Вашей программе программный счетчик секунд и выведите его состояние на светодиоды. Проверьте правильность его работы, сверяя с наручными часами.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.