Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
15.04.2015
Размер:
161.79 Кб
Скачать

Цель работы: изучить и практически исследовать работу команд операций с битами однокристальных микроконтроллеров семейства MCS-51 (МК51) на персональном компьютере.

Основные теоретические сведения

Отличительной особенностью данной группы команд является то, что они оперируют с однобитными операндами. В качестве таких операндов могут выступать отдельные биты некоторых регистров специальных функций, а также 128 программных флагов пользователя.

МК51 имеет следующие команды операций с битами

CLR C ; (C)  0 - Сброс переноса

CLR bit ; (b)  0 - Сброс бита

SETB C ; (C)  1 - Установка переноса

SETB bit ; (b)  1 - Установка бита

CPL C ; (C)  (/C) - Инверсия переноса

CPL bit ; (b)  (/b) - Инверсия бита

ANL C, bit ; (C)  (C)  (b) - Логическое И бита и переноса

ANL C, /bit ; (C)  (C)  (/b) - Логическое И инверсии бита и переноса

ORL C, bit ; (C)  (C)  (b) - Логическое ИЛИ бита и переноса

ORL C, /bit ; (C)  (C)  (/b) - Логическое ИЛИ инверсии бита и переноса

MOV C, bit ; (C)  (b) - Пересылка бита в перенос

MOV bit, C ; (b)  (C) - Пересылка переноса в бит

5-й бит регистра PSW может быть сброшен (очищен) любой из четырех команд

USER_FLAG REG PSW.5 ; Описание символа пользователя

………………..

………………..

CLR 0D5H ; Абсолютная адресация

CLR PSW.5 ; Использование точечного оператора

CLR F0 ; Использование собственного имени бита

CLR USER_FLAG ; Использование символа пользователя

Установить в единицу 3-бит ячейки ПД с адресом 20H можно любой из трех следующих команд

FLAG1: REG 20H.3 ; Описание флага пользователя

……………….

SETB 03H ; Абсолютная адресация

SETB 20H.3 ; Использование точечного оператора

SETB FLAG1 ; Использование имени флага пользователя

Порядок выполнения работы

1. Управление отдельными битами ячеек ПД и регистров специальных функций

Запишите в память симулятора AVSIM51 коды команд

SETB ACC.7

CLR ACC.7

CPL ACC.7

NOP

SETB C

CLR C

CPL C

NOP

CLR PI.0

SETB P1.0

CPL P1.0

NOP

SETB 22H.0

CLR 22H.0

CPL 22H.0

NOP

2. Использование команд операций с битами для переключения регистровых банков

Выбор рабочего банка регистров осуществляется 3-м и 4-м битами регистра состояния PSW (биты PSW.3 и PSW.4), которые имеют собственные символические имена RS0 и RS1 соответственно. Распределение банков регистров общего назначения в МК51 приведено в табл. 1.

Таблица.1

Распределение банков МК51

RS1

RS0

Номер банка

0

0

Банк 0

0

1

Банк 1

1

0

Банк 2

1

1

Банк 3

Во избежание нежелательного изменения других битов регистра PSW рекомендуется производить модификацию номера банка с использованием команд операций с битами. Напоминаем, что после сброса МК51 (обычно при включении электропитания) автоматически выбирается банк 0, при этом биты RS1 = RS0 = 0.

Запишите в память симулятора AVSIM51 следующие коды

MOV R0, #10H

SETB RS1

SETB RS0 ; Выбор банка 3 РОН

MOV R0, #33H

CLR RS0 ; Выбор банка 2 РОН

MOV R0, #22H

CLR RS1 ; Выбор банка 0

MOV R0, #0FFH

NOP

3. Вычисление логических функций с помощью команд операций с битами

Необходимо вычислить логическую (булеву) функцию трех переменных

Y = X  Z  W  ( X  Z ).

Переменные X, Z, W поступают на линии 2, 1 и 0 порта P1. Результат Y нужно вывести на линию 7 порта P1.

Программа вычисления логической функции имеет вид

W: REG P1.0 ; Спецификация бит порта P1

Z: REG P1.1

X: REG P1.2

Y: REG P1.7

MOV C, X ; Пересылка X в С

ANL C,/Z ; Операция X AND NOT(Z)

MOV F0, C ; Запоминания результата в бите F0

MOV C, X ; Пересылка X в C

ORL C, Z ; Операция X OR Z

ANL C, W ; Операция W AND (X OR Z)

ORL C, F0 ; Операция OR, результат во флаге C

MOV Y, C ; Вывод результата Y

END

Задание. В своей папке создайте файл с именем log.asm. Запишите в него программу вычисления логической функции. Получите файлы log.obj и log.hex. Исследуйте работу программы в пошаговом режиме, задавая значения переменных на соответствующих линиях порта P1 из табл. 2.

Таблица 2

Результаты исследования программы вычисления функции

Входные значения

Получено

Практически

Теоретически

X (P1.2)

Z (P1.1)

W (P1.0)

Y (P1.7)

Y

1

1

1

1

1

1

1

0

0

0

1

0

0

1

1

Проверьте результаты работы программы «вручную», произведя вычисления по правилам алгебры логики.

Вывод: изучена и практически исследована работа команды операций с битами однокристальных микроконтроллеров семейства MCS-51 (МК51) на персональном компьютере.

Соседние файлы в папке МПТлабы4-6