- •Российская открытая академия транспорта микропроцессорные информационно-управлчющие системы
- •Микроконтроллеры серии 1830ве51
- •1.1. Структурная схема микроконтроллера 1830ве51
- •1.1.1. Блок управления
- •1.1.2. Арифметико-логический блок
- •1.1.3. Организация памяти программ
- •1.1.4. Резидентная память данных
- •1.1.5. Счетчик команд и регистр указателя данных
- •1.1.6. Регистр указателя стека
- •1.1.7. Таймеры/счетчики
- •Режимы работы таймера/счетчика
- •1.1.8. Блок последовательного интерфейса и прерываний
- •1.1.9. Порты мк51
- •1.1.10. Начальная установка и режимы работы мк51
- •1.2. Система команд микроконтроллера 1830ве51
- •1.2.1. Команды пересылки данных
- •1.2.2. Команды арифметических операций
- •1.2.3. Команды логических операций
- •1.2.4. Команды операций над битами
- •1.2.5. Команды передачи управления
- •1.3. Структурная организация систем на основе микроконтроллеров
- •1.3.1. Подключение внешней памяти
- •1.3.2. Расширение каналов ввода/вывода информации
- •2. Программная реализация типовых вычислительных процедур
- •2.1 Типовые структуры схем алгоритмов обработки данных
- •2.2 Приемы программирования
- •2.3 Примеры программ обработки данных в мк51
- •2.3.1 Примеры использования команд передачи данных
- •2.3.2 Примеры использования команд арифметических операций
- •2.3.3 Примеры использования команд логических операций
- •3. Применение микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.1. Классификация микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.2 Автоматизированные системы управления и контроля движения поездов
- •3.3 Автоматизированные системы диспетчерского контроля
- •3.4 Информационные системы обслуживания пассажиров
- •Литература
1.2.3. Команды логических операций
В данную группу входят 25 команды, краткое описание которых приведено в табл. 1.18. Кроме этого в таблице приведены данные о длине команды в байтах и время ее выполнения в машинных циклах.
Таблица.1.18. Логические операции
Мнемоника команды |
Код операции |
Количество байтов в команде |
Время выполнения команды, циклы |
Выполняемые действия |
ANL A, Rn |
01011rrr |
1 |
1 |
(A) (A) AND (Rn) |
ANL A, ad |
01010101 |
2 |
1 |
(A) (A) AND (ad) |
ANL A, @Ri |
0101011i |
1 |
1 |
(A) (A) AND ((Ri)) |
ANL A, #d |
01010100 |
2 |
1 |
(A) (A) AND #d |
ANL ad, A |
01010010 |
2 |
1 |
(ad) (ad) AND (A) |
ANL ad, #d |
01010011 |
3 |
2 |
(ad) (ad) AND #d |
ORL A, Rn |
01001rrr |
1 |
1 |
(A) (A) OR (Rn) |
ORL A, ad |
01000101 |
2 |
1 |
(A) (A) OR (ad) |
ORL A, @Ri |
0100011i |
1 |
1 |
(A) (A) OR ((Ri)) |
ORL A, #d |
01000100 |
2 |
1 |
(A) (A) OR #d |
ORL ad, A |
01000010 |
2 |
1 |
(ad) (ad) OR (A) |
ORL ad, #d |
01000011 |
3 |
2 |
(ad) (ad) OR #d |
XRL A, Rn |
01101rrr |
1 |
1 |
(A) (A) XOR (Rn) |
XRL A, ad |
01100101 |
2 |
1 |
(A) (A) XOR (ad) |
XRL A, @Ri |
0110011i |
1 |
1 |
(A) (A) XOR ((Ri)) |
XRL A, #d |
01100100 |
2 |
1 |
(A) (A) XOR #d |
XRL ad, A |
01100010 |
2 |
1 |
(ad) (ad) XOR (A) |
XRL ad, #d |
01100011 |
3 |
2 |
(ad) (ad) XOR #d |
CLR A |
11100100 |
1 |
1 |
(A) 0 |
CPL A |
11110100 |
1 |
1 |
(A) NOT(A) |
RL A |
00100011 |
1 |
1 |
(An+1) (An), n=0÷6, (A0) (A7) |
RLC A |
00110011 |
1 |
1 |
(An+1) (An), n=0÷6 (A0) (C), (C) (A7) |
RR A |
00000011 |
1 |
1 |
(An) (An+1), n=0÷6, (A7) (A0) |
RRC A |
00010011 |
1 |
1 |
(An) (An+1), n=0÷6 (A7) (C), (C) (A0) |
SWAP A |
11000100 |
1 |
1 |
(A0…3) ↔ (A4…7) |
1.2.4. Команды операций над битами
Группа состоит из 12 команд, краткое описание которых приведено в табл. 1.19.
Таблица.1.19. Операции с битами
-
Мнемоника команды
Код операции
Количество байтов в команде
Время выполнения команды, циклы
Выполняемые действия
CLR С
11000011
1
1
(C) 0
CLR bit
11000010
2
1
(b) 0
SETB С
11010011
1
1
(C) 1
SETB bit
11010010
2
1
(b) 1
CPL С
10110011
1
1
(C) NOT(C)
CPL bit
10110010
2
1
(b) NOT(b)
ANL С, bit
10000010
2
2
(C) (C) AND (b)
ANL С, /bit
10110000
2
2
(C) (C) AND (NOT(b))
ORL С, bit
01110010
2
2
(C) (C) OR (b)
ORL С, /bit
10100000
2
2
(C) (C) OR (NOT(b))
MOV С, bit
10100010
2
1
(C) (b)
MOV bit, С
10010010
2
2
(b) (C)
Эти команды позволяют выполнять операции над отдельными битами: сброс, установку, инверсию бита, а также логические И (/\) и ИЛИ (\/). В качестве "логического" аккумулятора, участвующего во всех операциях с двумя операндами, выступает признак переноса С (разряд D7 PSW), в качестве операндов могут использоваться 128 бит из резидентной памяти данных и регистры специальных функций, допускающие адресацию отдельных бит.