- •Лабораторная работа № 10 Команды операций с битами
- •Цель работы
- •2.Основные теоретические сведения
- •3. Порядок выполнения работы
- •3.1. Управление отдельными битами ячеек пд и регистров специальных функций
- •3.2. Использование команд операций с битами для переключения регистровых банков
- •3.3. Вычисление логических функций с помощью команд операций с битами
- •Задания для самостоятельной работы
- •4.Содержание отчета
- •Контрольные вопросы
Задания для самостоятельной работы
Напишите программу, которая производит следующие действия установить флаг переноса, сбросить бит 5 порта P2, проинвертировать бит 4 порта P1, сбросить флаг с именем ERR_FL, расположенный в 1-м разряде ячейки ПД с адресом 25H, установить флаг F0.
Напишите программу, которая после сброса МК записывает в регистры R5, R6, R7 всех банков код FFH.
Разработайте программу, которая вычисляет логическую функцию
Q = X ( Z Y ) W.
Переменная X подается на вывод 1 порта P0, переменная Z подается на вывод 5 порта P1, переменная Y является флагом переполнения таймера/счетчика T/C1, переменная W является программным флагом с именем FLAG1, который хранится в 1-м разряде ячейки ПД с адресом 2FH. Результат вычисления функции - Q должен выдаваться на вывод 7 порта P2.
Программу запишите в файл func.asm. Исследуйте работу программы с помощью симулятора AVSIM51 при нескольких значения входных переменных. Результаты занесите в таблицу по форме табл. 6.2. Проверьте правильность работы программы «вручную».
4.Содержание отчета
Наименование и цель работы. Краткое описание команд операций с битами МК51. Таблицы с результатами исследования программ. Разработанные программы из заданий для самостоятельной работы.
Контрольные вопросы
Какие команды операций с битами могут выполнять микроконтроллеры семейства МК51
Как влияют команды операций с битами на флаги МК
Как можно сбросить в 0, установить 1 и инвертировать определенный разряд порта P1?
Как можно проинвертировать 7-й бит аккумулятора
Как выбрать 2-й банк регистров
Как можно установить, сбросить и проинвертировать флаг переноса
Программист решил использовать 0-й бит ячейки 22H памяти данных в качестве флага. Какими командами он может управлять этим флагом