- •Микропроцессорные контроллеры
- •8.3 Система команд
- •10.4 Организация памяти
- •1. Типы архитектур микроконтроллеров
- •1.1 Основные структуры вычислительных систем
- •1.2 Определение микропроцессора
- •1.3 Шинная организация соединений
- •1.4. Типы архитектур микроконтроллеров
- •2 Микроконтроллер на базе 8-разрядного
- •2.1 Описание микропроцессора кр1821вм85
- •2.2 Режимы работы мп
- •3 Микроконтроллер на базе 16-разрядного микропроцессора к1810вм86
- •3.1 Технические характеристики мп к1810вм86
- •3.2 Назначение сигналов
- •3.3 Программно-доступные регистры
- •3.5 Организация внешней памяти
- •3.6 Структурная схема мк на базе мп к1810вм86
- •3.7 Способы адресации
- •3.8 Система команд мп 1810вм86
- •3.8.1 Команды пересылок данных
- •2. Пересылки “регистр-память” -
- •3.8.2 Команды преобразование данных
- •10. Команды сдвигов –
- •3.8.3 Команды передачи управления
- •1. Безусловные переходы -
- •8 Микроконтроллер на базе омэвм к1816ве48
- •8.1 Технические характеристики к1816ве48
- •8.2 Способы адресации операндов
- •8.3 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •8.4 Таймер
- •8.5 Структурная схема мк
- •9 Микроконтроллер на базе омэвм к1816ве51
- •9.1 Технические характеристики омэвм к1816ве51
- •9.2 Организация памяти
- •9.3 Регистры специальных функций
- •9.4 Способы адресации операндов
- •9.5 Система команд
- •Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
- •9.6 Управление прерываниями
- •9.7. Последовательный ввод-вывод данных
- •9.8 Таймеры
- •11.1 Семейство pic-контроллеров
- •12 Современные тенденции в развитии
- •12.1 Сигнальные процессоры фирмы Texas Instruments
- •12.2 Сигнальные процессоры Analog Devices
- •12.3 Транспьютеры
8.2 Способы адресации операндов
В ОМЭВМ К1816ВЕ48 в качестве источников адреса при косвенной адресации используются регистры R1, R0 и А, при этом в мнемонике косвенная адресация отмечается значком @ (коммерческая “a”).
Например,
MOV @R0, A ; переслать байт из A в память по адресу,
хранящемуся в R0, или сокращенно – A M[R0],
MOV A, @R1 ; M[R1] A.
8.3 Система команд
1. Пересылки данных – фактически выполняется копирование данных, то есть при пересылке в источнике байт сохраняется.
Все пересылки данных в системе команд ОМЭВМ К1816ВЕ48 выполняются только через аккумулятор!
a). Пересылки типа “регистр-регистр”:
MOV A, Rn ; Rn A , где Rn - любой регистр R7-R0,
MOV Rn,A ; A Rn ,
MOV A,#D8; данные D8 A.
б). Пересылки типа “память-регистр”. Используется только косвенная адресация. Команды обращения к внутреннему ОЗУ (64 ячейки) имеют вид: MOV A, @R0 или R1; M[R0(1)] A,
MOV @R0(1),A ; A M[R0(1)],
MOV @R0(1),#D8 ; данные D8M[R0(1)] .
Для обращения к внешнему ОЗУ (256 ячеек) используются команды:
MOVX A, @R1(0) ; M[R0(1)] A;
MOVX @R0(1), A ; A M[R0(1)].
в). Обмен данными – выполняется также только через аккумулятор.
XCH A,Rm ; A Rm,
XCHD A,@R0(1); A M[R0(1)].
2. Преобразование данных. Для операций с двумя операндами по умолчанию в качестве источника одного операнда используется аккумулятор и результат записывается также в аккумулятор. Основные команды преобразования данных:
a). команды сложения
ADD A, Rm ; A + Rm →A,
ADD A, @R0(1) ; A+ M[R(0)1]→A,
ADD A, #D8 ; A+ #D8→A;
б). команды сложения с учетом признака переноса С, используются все типы операндов, что и для сложения без учета признака С
ADDC A, Rm ; A + Rm +C →A;
в). вычитания нет;
г). инкремент-декремент
INC A ; A+1→A,
INC Rm ; Rm +1→A,
DEC A ; A-1→A,
DEC Rm ; Rm -1→A;
д). преобразование кода в аккумуляторе
CLR A ; A=0
CPL A ;обратный код (по разрядное инвертирование);
е). логические операции
ANL A, Rm ; A Rm →A,
ORL A, Rm ; A Rm →A,
XRL A, Rm ; A Rm →A, “исключающее ИЛИ”;
ж). сдвиги
RL A, RR A ; циклические сдвиги влево и вправо без учета признака переноса
Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.
3. Ввод-вывод данных. При выводе данных содержимое аккумулятора пересылается в соответствующий порт и остается там без изменения до следующей команды вывода. Основные команды ввода-вывода данных следующие:
а). для порта P0 ввод-вывод данных сопровождается строб-импульсом на выводах RD (чтение-ввод) и WR(запись-вывод). Так как Р0 используется для организации шины данных при подключении внешней памяти, то порт Р0 обозначается BUS -
INS A, BUS ; ввод через Р0 в А,
OUTL BUS, A ; вывод из А в Р0 ;
б). для портов P1, P2 -
IN A, P1(P2) ; ввод через порты Р1 или Р2 в А,
OUTL P1(P2), A ; вывод из А в Р1 или Р2 ;
в). логические операции при вводе данных через порты. Выполняется поразрядное преобразование вводимого байта и константы, указанной в команде с записью результата в аккумулятор –
ANL BUS, #data ; ORL BUS, #data ; XRL BUS, #data ;
ANL P1(P2), #data ; ORL P1(P2), #data ; XRL P1(P2), #data .
4. Команды передачи управления. В системе команд ОМЭВМ К1816ВЕ48 используется расширенная система признаков для реализации условных переходов. Наряду с традиционными признаками, такими как: Z – нулевой результат, С – перенос, используются дополнительные признаки:
F0, F1 – пользовательские признаки, устанавливаемые программно с помощью команд установки признаков в “0” - СLR F0(F1) , и команд установки признаков в “1” - CPL F0(F1) ;
T0, T1 – аппаратные признаки (физические входы ОМЭВМ);
INT – вход запроса на прерывание (высший приоритет);
TF – прерывание от таймера (низший приоритет).
В формате команд передачи управления следующий необходимо указать 12-разрядный адрес. Вследствие ограничения на формат команды в виде двух байт разработчикам ОМЭВМ удалось разместить только 11 разрядов адреса:
Старший разряд адреса A11 назначается программно командой:
CEL MB0(1); A11 = 0 или A11 = 1, при этом выбирается адресное пространство по 2 кбайта:
Основные команды передачи управления следующие:
а). безусловные переходы –
JMP <Adr11> ; безусловный переход в пределах адресного пространства в 2 кбайта, определяемого разрядом A11;
JMPP @A ; безусловный косвенный переход по адресу в аккумуляторе. Так как аккумулятор 8-разрядный, то переход осуществляется в пределах 256 адресов страницы, определяемой текущим состоянием старших разрядов программного счетчика РС;
б). условные переходы по состоянию признака, при этом общая запись мнемокода может быть представлена в виде -
J* < Adr8> ; переход, если признак (*)=1,
например, JC < Adr8>, JZ < Adr8>, JF0 < Adr8>, JF1 < Adr8> ,
JTF < Adr8>, JT0 < Adr8>, JT1 < Adr8>,
или в виде:
JN* < Adr8> ; переход, если признак (*)=0,
например, JNC < Adr8>, JNZ < Adr8>, JT0 < Adr8>, JT1 < Adr8>.
Условные переходы выполняются в пределах 256 адресов страницы памяти, определяемой текущим состоянием старших разрядов программного счетчика РС;
в). условные переходы по состоянию битов В0 – В7 в аккумуляторе -
JB0 < Adr8> – JB7 < Adr8> ; переход, если бит =1;
г). вызов подпрограммы -
CALL < Adr11> ,
При выполнении команды CALL реализуется следующие операции:
- полный 12-разрядный адрес следующий команды и разряды D7-D4 PSW в виде 2-х байтов записываются в стек;
- в РС записываются 11 разрядов начального адреса подпрограммы;
- в разряде А11 сохраняется текущее состояние банка памяти, определяемое командой CEL MB0(1)
- выполняется переход по начальному адресу подпрограммы;
д). возврат по адресу в стеке -
RET ; без восстановления PSW,
RETR ; с восстановлением PSW;
е). управление прерываниями -
EN I ; разрешить,
DIS I ; запретить.
При выполнении прерываний реализуется следующие операции:
- заканчивается текущая команда;
- полный 12-разрядный адрес следующий команды и разряды D7-D4 PSW в виде 2-х байтов записываются в стек;
- в РС записываются фиксированные начальные адреса подпрограмм обработки прерывания – 003h для внешнего запроса на прерывание со входа INT и адрес 007h для запроса от таймера;
- выполняется переход по начальному адресу подпрограммы обработки прерывания, в конце которой должна стоять команда RETR.