- •4. Однокристальные микроконтроллеры фирмы intel
- •4.1 Микроконтроллеры семейства mcs-51
- •4.1.1 Общая характеристика семейства mcs-51
- •4.1.2 Организация памяти
- •4.1.3. Параллельные порты ввода/вывода.
- •4.1.4. Таймеры/счетчики
- •4.1.5. Организация системы прерываний
- •4.1.6. Последовательный порт
- •4.1.7. Система команд
- •4.8. Применение мк для управления шаговым двигателем
- •2 Да Да Да Нет Нет Нет2
- •4.2 Однокристальные микроконтроллеры семейства mcs-251
- •4.2.1 Общая характеристика семейства mcs-251
- •4.2.2 Структура микроконтроллера
- •4.2.3 Организация памяти микроконтроллера
- •4.2.4 Система команд
4.2.4 Система команд
Система команд микроконтроллеров семейства MCS-251 содержит все 111 команд, входящих в систему команд микроконтроллеров семейства MCS-51 и новые команды, число которых у микроконтроллеров разных подсемейств может быть различным. Система команд микроконтроллеров подсемейства SX содержит 157 новых команд.
В новых командах микроконтроллера используются следующие способы адресации: регистровая адресация, непосредственная адресация, прямая адресация памяти, косвенная адресация памяти, косвенная адресация со смещением в формате 16 и 24 разряда (dis16, dis24), стековая адресация с формированием адреса в расширенном указателе стека SPH+SP (stack).
При регистровой адресации производится обращение к регистру (Rm), паре регистров (WRj) или четверке регистров (DRk).
При непосредственной адресации операнд может иметь формат “байт” (#data), формат “слово” (#data16), или формат “двойное слово” с записью в два старших байта кода 0000H (#0data16) или кода FFFFH (#1data16). Кроме того, при непосредственной адресации операнд может быть равен 1, 2, 4 (#short).
При прямой адресации памяти адрес может иметь формат “байт” (dir8) или формат “слово” (dir16).
При косвенной адресации памяти адрес может иметь формат “слово” или “три байта” (24 бита). В первом случае адрес предварительно помещается в пару регистров (@WRj), во втором случае - в четверку регистров (@DRk).
В таблицах 4.3 – 4.8 приведены новые команды из системы команд микроконтроллеров подсемейства SX.
Таблица 4.3
Команды логической обработки
мнемоника |
Формат данных |
адреса |
примечание |
SLL SRL SRA |
B |
Rm |
Логический сдвиг влево Логический сдвиг вправо Арифметический сдвиг вправо |
W |
WRj |
Таблица 4.4
Команды арифметической обработки
мнемоника |
Формат данных |
адресация | |
1-й операнд, результат |
2-й операнд | ||
INC DEC |
B |
Rm |
#short*** |
W |
WRj |
#short*** | |
D |
DRk |
#short*** | |
ADD SUB* CMP** ANL ORL XRL |
B |
Rm |
Rm; #data; dir8; dir16; @WRj; @DRk |
W |
WRj |
WRj; #data16; dir8; dir16 | |
ADD SUB* CMP** |
D |
DRk |
DRk; #0data16 |
CMP** |
D |
DRk |
#1data16 |
MUL DIV |
B |
Rm; WRj |
Rm |
W |
WRj; DRk |
WRj |
Таблица 4.5
Команды пересылки
мнемоника |
Формат данных |
адресация | |
Приемник |
Источник | ||
MOV |
B |
Rm |
Rm; #data; dir8;Dir16; @WRj; @DRk;@WRj+dis16;@DRk+dis24 |
Dir8; dir16; @WRj;@DRk; @WRj+dis16;@DRk+dis24 |
Rm | ||
W |
WRj |
WRj; #data16;dir8; Dir8; @WRj; @DRk;@WRj+dis16;@DRk+dis24 | |
Dir8; dir16; @WRj;@DRk; @WRj+dis16;@DRk+dis24 |
WRj | ||
D |
DRk |
DRk; #0data16; #1data16dir8; dir16 | |
Dir8; dir16 |
DRk | ||
MOVH* |
W |
DRk |
#data16 |
MOVS** MOVZ*** |
B - W |
WRj |
Rm |
PUSH |
B |
stack |
#data; Rm; |
W |
stack |
#data16; WRj | |
D |
stack |
DRk | |
POP |
B |
Rm |
stack |
W |
WRj |
stack | |
D |
DRk |
stack |
Таблица 4.6
Команды битовых операций
мнемоника |
операция |
мнемоника |
операция |
CLR bit SETB bit CPL bit ANL C,bit ANL C,/bit |
(bit):=0 (bit):=1 (bit):=/(bit) C:=C(bit) C:=C/(bit) |
ORL C,bit ORL C,/bit MOV C,bit MOV bit,C |
C:=C(bit) C:=C/(bit) C:=(bit) (bit):=C |
Таблица 4.7
Команды безусловных переходов
мнемоника |
Операция |
EJMP addr24 |
“расширенный” безусловный переход |
EJMP @DRk |
“расширенный” косвенный безусловный переход |
LJMP @WRj |
“длинный” косвенный безусловный переход |
ECALL addr24 |
“расширенный” безусловный переход с возвратом |
ECALL @DRk |
“расширенный” косвенный безусловный переход с возвратом |
LCALL @WRj |
“длинный” косвенный безусловный переход с возвратом |
ERET |
“расширенный” возврат |
TRAP |
Безусловный переход по специальному вектору С возвратом |
Таблица 4.8
Команды условных переходов
мнемоника |
условие перехода |
мнемоника |
условие перехода |
JB bit, rel JNB bit, rel JBC bit, rel JE rel JNE rel JG rel |
(bit)=1 (bit)=0 (bit)=1 Z=1 Z=0 Z=0 и C=0 |
JLE rel JSL rel JSLE rel JSG rel JSGE rel |
Z=1 или C=1 N не равно OV Z=1 или N не равно OV Z=0 и N=OV N=OV |