Дисциплина: « Микропроцессоры и микропроцессорные системы»
Практическое занятие № 6
Тема: «Изучение команд операций с битами».
Цель: Практически изучить команды операций с битами.
Время: 2 часа
Оборудование: ПК, ПО.
Методические материалы и литература:
-
Методические указания по выполнению практических занятия;
-
Иллюстративный материал: «команды операций над числами ».
Методические указания по выполнению практического занятия:
Последовательность выполнения работы:
-
Изучить и законспектировать основные теоретические положения по теме, используя описание работы;
-
Выполнить практическую часть практического занятия. При этом использовать описание работы, лабораторный блок ПК, иллюстратив-ный материал; В практической части отработать следующие подразделы:
-
Рассмотреть методы изучение команд операций с битами
-
Выполнить примеры изучение команд операций с битами и отразить в отчёте
-
Проанализировать результат изучение команд операций с битами; сделать выводы.
-
Ответить на контрольные вопросы.
-
Сделать выводы.
-
Подготовить отчёт по установленной форме.
-
Представить отчёт для защиты преподавателю.
1. Основные теоретические положения
Система команд микроконтроллеров подгруппы РIС16F8Х
Перечень и форматы команд
Микроконтроллеры подгруппы РIС16F8Х имеют простую и эффективную систему команд, состоящую всего из 35 команд.
Каждая команда МК подгруппы РIС16F8Х представляет собой 14-битовое слово, разделенное на код операции (ОРСОDЕ), и поле для одного и более операндов, которые могут участвовать или не участвовать в этой команде. Система команд РIС16F8Х является ортогональной и включает в себя команды работы с байтами, команды работы с битами и операции с константами и команды управления. В таблице 1 приведены описания полей команд.
-
Для команд работы с байтами f обозначает регистр, с которым производится действие;
-
d — бит, определяющий, куда положить результат. Если d =0, то результат будет помещен в регистр W, при d =1 результат будет помещен в регистр «f », упомянутый в команде.
-
Для команд работы c битами b обозначает номер бита, участвующего в команде, а f — это регистр, в котором данный бит расположен.
-
Для команд передачи управления и операций с константами, k обозначает восьми- или одиннадцатибитную константу.
Почти все команды выполняются в течение одного командного цикла.
В двух случаях исполнение команды занимает два командных цикла:
-
проверка условия и переход;
-
изменение программного счетчика как результат выполнения команды.
Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время исполнения командного цикла будет 1 мкс.
Основные форматы команд МК изображены на рис.1
Таблица 1.
Описание полей команд МК семейства РIС16СХХ
Рис.1 Основные форматы команд МК
Команды работы с битами
Отличительной особенностью данной группы команд является то, что они оперируют с однобитными операндами, в качестве которых используются от-дельные биты регистров МК.
Установка и сброс отдельных битов производится командами
BSF f, b и BCF f, b
Любой доступный для записи бит в регистровой памяти может быть модифицирован таким способом. При этом гарантируется, что ни один из остальных битов регистра не будет изменен.
Однако при работе с портами ввода/вывода последнее утверждение не всегда справедливо. Связано это с тем, что значение числа, считываемого из регистра порта, зависит от конфигурации его выводов в качестве входов или выходов данных.
В системе команд, рассматриваемых РIС МК, отсутствуют команды условного перехода. Вместо них имеются такие, которые позволяют пропустить выполнение следующей команды.
В частности, команды
INCFSZ f, d и DECFSZ f, d
удобны для организации циклов в программе.
Для управления процессом выполнения программы используются команды работы с битами
ВТFSC f, d, и ВТFSS f, d
позволяющие пропустить выполнение следующей команды програм-мы в зависимости от состояния определенного бита в заданном регистре.
Если в качестве заданного регистра используется регистр STATUS, то можно организовать управление переходами программы в зависимости от состояния битов признаков результата операции, как предусмотрено в микро-процессорах стандартной архитектуры.