Система команд и методы адресации
Система команд MCS-51 ориентирована на организацию гибкого ввода/ вывода через параллельные и последовательный порты, первичную обработку информации, развиты команды операций с битами и передаче управления по их значениям. Набор команд операций с битами совместно с реализующими их аппаратными средствами образует "булев процессор" (Boolean processor). В отличие от многих RISC- контроллеров, система команд MCS-51 удобна для программирования на ассемблере.
Система команд MCS-51 базовой архитектуры содержит 111 команд, состоящих из 5 групп:
- команды пересылки
- арифметические команды
- логические команды
- команды передачи управления
- команды операций с битами
Большинство команд (94) имеют формат 1-2 байта. Часть команд имеют трехбайтный формат. Группа арифметических команд включают команды аппаратного умножения и деления, двоично- десятичной коррекции аккумулятора. При выполнении операций умножения и деления над 8- разрядными числами 16- разрядный результат помещается в регистры А и В.
|
|
Используются три типа адресации: прямая, непосредственная, косвенная.
Исходная система прерываний включает пять источников – два внешних и три внутренних. Старшие версии МК имеют более развитую систему прерываний, индивидуальную для каждого типа МК. Источники внешних прерываний подключаются через выводы INT0#, INT1#; источники внутренних – два счетчика/таймера и последовательный порт. При одновременном поступлении нескольких запросов на прерывание очередность их обслуживания определяет внутренняя процедура последовательного опроса – поллинг. Применяется следующий порядок приоритетов источников прерывания:
- вход INT0 – высший приоритет
- таймер 0
- вход INT1
- таймер 1
- последовательный порт – низший приоритет
МК с архитектурой MCS-51 выпускают многие фирмы. ATMEL и другие выпускают МК с этой архитектурой и flash- памятью программ под маркировкой "89", например:
Тип | Flash | RAM | Питание | Частота, МГц | Примечание* |
AT89C4051 | 4K | 3V, 5V | 12, 24 | Iout = 20mA | |
AT89S8252 | 8K | 5V | ISP, SPI, WD | ||
T89C51RD2 | 64K | 3V, 5V | ISP, Boot Flash, PCA |
* – Iout – нагрузочная способность выходов в состоянии логического "0"
ISP – возможность программирования в системе
SPI – наличие интерфейса SPI
WD – сторожевой таймер
Boot Flash – наличие области Flash- памяти для размещения пользовательского монитора- загрузчика памяти
PCA – многорежимный программируемый таймер
Для решения задач, требующих повышенной производительности, фирма Phillips выпускает семейство 80C51XA. Это семейство совместимо с MCS-51 только по особенностям архитектуры и системы команд на уровне мнемонических обозначений. Основные отличия семейства 51XA:
|
|
- 16- разрядное АЛУ
- 24- разрядное пространство адресов памяти программ и данных (16 МБайт)
- расширенный набор команд и способов адресации
- аппаратная поддержка мультизадачности
- напряжение питания от 2,7 В
Архитектура 51XA обеспечивает увеличение производительности по сравнению с MCS-51 на два порядка.
Фирма Analog Devices выпускает МК типа ADmC812 (2000 г.), названный однокристальной системой сбора данных и управления. Он построен на основе архитектуры MCS-51 и дополнительно содержит:
- 12- разрядный 8- канальный АЦП с каналом прямого доступа к памяти
- два 12- разрядных ЦАП
- встроенный источник опорного напряжения
- последовательные порты UART, I2C, SPI
- монитор напряжения питания
- сторожевой таймер
- внутреннюю Flash- память программ объемом 8 К, программируемую через последовательный порт UART
- внутреннюю энергонезависимую Flash- память данных объемом 640 байт
Микросхема выполнена в 52- выводном корпусе и может работать при напряжениях питания 3…5 В.
В целом, хотя МК с архитектурой MCS-51 уступают по производительности RISC- контроллерам, они находят широкое применение из-за наличия развитых инструментальных средств разработки, большого накопленного опыта разработки МП- систем на их основе, хорошего соотношения цена - качество.