- •5.1. Функциональное назначение выводов корпуса мк51 32
- •Лабораторная работа №1. Общие сведения о работе мк1816ве48.
- •1.1. Структурная схема мк48
- •1.2. Арифметико-логическое устройство.
- •1.3. Функциональное назначение выводов корпуса мк48.
- •1.4. Память микроконтроллера.
- •2.2. Общие сведения о системе команд
- •2.3. Группа команд пересылки данных
- •2.4. Структура информационных связей.
- •Задание к лабораторной работе
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа №3. Организация условных и безусловных переходов, управления режимом работы мк48
- •3.1. Устройство управления микроконтроллера.
- •3.2. Группа команд передачи управления.
- •3.3. Группа команд управления режимом работы мк
- •Задание к лабораторной работе
- •Содержание отчета
- •Контрольные вопросы.
- •Лабораторная работа n 4. Режимы прерывания, Арифметические и логические операции.
- •4.1. Организация системы прерываний
- •4.2. Группа команд арифметических операций
- •4.3. Группа команд логических операций
- •Задание к лабораторной работе
- •5.2. Арифметическо-логическое устройство
- •5.3. Резидентная память
- •5.4. Таймер/счетчик
- •5.5. Последовательный порт
- •5.6. Система прерываний
- •5.7. Системы команд мк51
- •Группа команд передачи данных
- •Группа команд арифметических операций
- •Команда m u l.
- •Команда d I V.
- •Группа команд логических операций
- •Группа команд операций с битами
- •Группа команд передачи управления
- •Эмулятор микроконтроллера мк51.
- •Задание к лабораторной работе
- •Содержание отчета
- •Контрольные вопросы
4.2. Группа команд арифметических операций
Данная группа состоит из 12 команд (таб. 6) и позволяет выполнять следующие операции над 8-битными целыми двоичными числами без знака: двоичное сложение (ADD), двоичное сложение с учетом переноса (ADDC), десятичная коррекция (DA), инкремент (INC) и декремент (DEC).
При сложении используется неявная адресация источника первого операнда и места назначения результата, в качестве которых выступает аккумулятор. Содержимое аккумулятора А можно сложить с регистром, константой и ячейкой РПД. В результате суммирования возможно появление переноса, который фиксируется в специальном триггере переноса (флаг С). Команда сложения с учетом переноса позволяет выполнять суммирование многобайтных чисел.
При необходимости выполнять двоичное вычитание требуется перевести вычитаемое в дополнительный код и произвести сложение с уменьшаемым.
Все более сложные операции (умножение, деление) выполняются по подпрограммам.
Таблица 6. Группа команд арифметических операций
Название команды |
Мнемокод |
КОП |
Т Б Ц |
Операция |
Сложение регистра с аккумулятором |
ADD А,Rn |
01101rrr |
1 1 1 |
(A) = (A) + (Rn) |
Сложение байта из РПД с аккумулятором |
ADD A,@Ri |
0110000i |
1 1 1 |
(A) = (A) + ((Ri)) |
Сложение константы с аккумулятором |
ADD A,#d |
00000011 |
2 2 2 |
(А) = (A) +#d |
Сложение регистра с аккумулятором и переносом |
ADDC A,Rn |
01111rrr |
1 1 1 |
(A) = (A) + (Rn) + (С) |
Сложение байта из РПД с аккумулятором и переносом |
ADDC A,@Ri |
0111000i |
1 1 1 |
(A) = (A) + ((Ri)) + (С) |
Сложение константы с аккумулятором и переносом |
ADDC A,@d |
00010011 |
2 2 2 |
(A) = (A) +#d+ (C) |
Десятичная коррекция аккумулятора |
DA А |
01010111 |
1 1 1 |
если ((A0-3) >9) \/ ((AC) =1),то (A0-3) = (A0-3) +6 затем, если ((A4-7) >9) \/ ((C) = 1)), то (A4-7) = (A4-7) +6 |
Инкремент аккумулятора |
INC А |
00010111 |
1 1 1 |
(А) = (А) +1 |
Инкремент регистра |
INC Rn |
00011rrr |
1 1 1 |
(Rn) = (Rn) +l |
Инкремент байта в РПД |
INC @Ri |
0001000i |
1 1 1 |
((Ri)) = ((Ri)) +l |
Декремент аккумулятора |
DEC A |
00000111 |
1 1 1 |
(A) = (A) -l |
Декремент регистра |
DEC Rn |
11001rrr |
1 1 1 |
(Rn) = (Rn) -1 |