Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций_Лобан_.doc
Скачиваний:
7
Добавлен:
21.12.2018
Размер:
2.06 Mб
Скачать

Система команд микроконтроллеров семейства mcs-51 Режимы адресации

Необходимо обеспечить нахождение первого операнда в аккумуляторе.

Команды – от 1 до 3 байт. В первом байте содержится код операции (код операции может занимать как целый байт, так и часть первого байта).

  1. Непосредственная адресация

Двух или трех байтовая операция.

Схема 12. Непосредственная адресация

Из кода операции ясно, сколько байт операция.

  1. Прямая адресация

Двух или трех байтовая операция. Кроме кода операции содержится адрес ячейки памяти, в которой хранится операнд.

Схема 13. Прямая адресация

  1. Косвенная адресация

Однобайтовая операция. Младший бит – регистр косвенной адресации.

i – адрес регистра косвенной адресации

Схема 14. Косвенная адресация

i=0 => R0

i=1 => R1

В R0 (R1) содержится адрес ячейки памяти, из которой извлекается операнд. Адресация в пределах одной страницы, так как однобайтовая операция

@ - косвенная адресация (аналог указателя в C)

@ DPTR – 16 бит ->64К. Используя один байт можно обратиться ко всей памяти; накладные расходы: необходимо описывать DPTR (DPL, DPH), следовательно, увеличивается время извлечения операнда.

  1. Регистровая адресация

Однобайтные команды. Самая быстрая адресация.

Схема 15. Регистровая адресация

Возможен вариант, когда под адрес текущего регистрового банка отводится 6 бит.

  1. Неявная адресация

При неявной адресации регистр источник или регистр приёмник подразумевается в самом коде операции.

Команды по функциональному признаку:

  1. команды пересылки данных

  2. команды арифметических и логических операций

  3. группа команд манипуляции с битами

  4. команды передачи управления

Каждая команда выполняется за определенное количество машинных циклов (1-5). Каждому машинному циклу соответствует 3-5 машинных тактов.

Особенности команд:

  • команды пересылки не модифицируют флаги в регистре PSW

  • команды арифметических операций модифицируют флаги в регистре PSW

  • команды логических операций модифицируют флаги в регистре PSW. Логические операции выполняются поразрядно, результат операции в одном разряде не влияет на результат в другом разряде.

Встроенные периферийные устройства мк

Архитектура портов ввода\вывода базовой модели

Базовая модель имеет 4 порта ввода\вывода: Р0, Р1, Р2, Р3. Каждый порт имеет 8 линий ввода\вывода. Каждая линия порта может быть запрограммирована для работы на ввод или на вывод, изначально все работают на ввод.

Р0 – двунаправленный порт, Р1-Р3 – квази двунаправленные.

С точки зрения пользователя Р1 – Р3 при вводе данных выполняют логическое умножение вводимых данных (данных на пинах микросхем) на содержимое регистра защелки.

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

Р0 3,2мА = 2 ТТЛ входа

Р1 1,6мА = 1 ТТЛ входа

Режимы входного буфера и выходного буфера у базовой модели не программируются.

В квазипрограммируемых регистрах, если в регистр защелки записано 0FFh, то все работает на ввод.

Альтернативные функции

Линии портов ввода\вывода могут иметь альтернативные функции.

Р0 – вывод младшего байта адреса при работе с внешней памятью данных или программ.

Р2 – вывод и защелкивание в регистре защелки старшего байта адреса.

Р3:

Р3.7

Р3.6

Р3.5

Р3.4

Р3.3

Р3.2

Р3.1

Р3.0

T1

T0

TxD

RxD

и - генерируются при работе с внешней памятью

T1 и Т0 – подсчет внешних импульсов

и - два внешних запрета прерываний

TxD и RxD – передача и прием через линию

В связи с ограничением числа линий общего пользования в микросхеме 80С535 добавились Р4 и Р5, при этом регистры Р0 – Р4 могут выполнять альтернативные функции.

Р1.0 – ввод\вывод\внешние прерывания \ СС0 (генерация и регистрация событий)

Р1.1 - ввод\вывод\внешние прерывания \ СС1

Р1.2 - ввод\вывод\внешние прерывания \ СС2

Р1.3 - ввод\вывод\внешние прерывания \ СС3

Р1.4 – не имеет альтернативных функций

Р1.5 - ввод\вывод\T2EX (внешний код таймера Т2)

Р1.6 – не имеет альтернативных функций

Р1.7 – ввод\вывод\T2 (линии управления таймера Т2)