Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Исходные данные и выполнение программы ⇐ ПредыдущаяСтр 2 из 2
Будем выполнять программу в режиме MPlabSim. Используем текст программы, приведенный ниже. В окно наблюдения включите РСН STATUS, TRISC, Wreg, PORTC, PCL, а также РОН Sch_in, Sch_out, Sch3. В пошаговом режиме перед запуском таймера CALL Timer сохраните в Word-файле состояние окна наблюдения и далее сохраняйте эти окна после завершения каждого цикла. Сравните состояние регистров STATUS, Wreg и PCL перед включением таймера и после выхода из него. Определите разницу в значениях разрядов. Измените в программе значения количества выполняемых циклов в соответствии с вариантами из таблицы 4.1. На основании приведенного выше расчета времени паузы, подсчитайте задержку, создаваемую таймером для Вашего варианта.
Таблица 4.1 - Задания по количеству операций в каждом цикле
Оформление отчета по лабораторной работе Отчет оформляется на группу. В созданный Word-файл копируется текст программы и окна по ходу выполнения программы в режиме MPLabSim (перед запуском таймера и после его отработки после вывода константы в PORTC). Рассчитывается время паузы, созданной таймером при использовании заданных по варианту значений количества повторений в каждом цикле и тактовой частоты 20 МГц.
Выводы 4.3.1 Применение встроенных таймеров позволяет создать в 8-разрядных микроконтроллерах необходимые расчетные временные задержки. 4.3.2 В программе может быть создано несколько подпрограмм с разными временными задержками.
Рисунок 1. Горит лампа Л-7
Рисунок 2. Уменьшаем значение счетчика Sch_in на 0 Рисунок 3. Уменьшили значение счетчика Sch_out на 0.
Рисунок 4. Уменьшили значение счетчика Sch3 на 0 Рисунок 5.Горит лампа Л-0 Контрольные вопросы 1. Что выполняет инструкция GOTO METKA? 2. Назначение символа «;» в тексте программы? 3. Какое напряжение питания МК? 4. Какое напряжение в PORTC? 5. Поясните инструкцию условного перехода BTFSC STATUS, Z 6. Поясните инструкцию условного перехода BTFSS STATUS, Z 7. Поясните инструкцию DECF Sch_out, F 8. Поясните инструкцию INCF R, f 9. Поясните инструкцию GOTO $ 10. Поясните инструкцию RETURN 11. Что такое машинный цикл и как определить время его выполнения? 12. Сколько машинных циклов требуется для выполнения команд в подпрограмме Timer в отладочном режиме при задании всем счетчикам зна-чения 3? 13. Как вызывается подпрограмма на выполнение? 14. Какой адрес появляется в счетчике команд в регистре PCL после выполнения подпрограммы?
Вывод Целью этой лабораторной работы была изучением способов создания задержек выполнения следующей инструкции, в соответствии с реализацией управляющего алгоритма. Мы изучили работу таймеров ТМR0, ТМR1 и ТМR2 и назначение регистра PCL по [11] и приложению Г, а также инструкции DECF и DECFSZ. Мы достигли своей цели, мы научились вставить таймер в режиме MPlabSim.
|