Однокристальные микроЭВМ К1816ВЕ48. Назначение, технические характеристики, основные устройства, входящие в ОМЭВМ, система команд, организация памяти.




МИКРОКОНТРОЛЛЕР НА БАЗЕ ОМЭВМ К1816ВЕ48

ОМЭВМ в настоящее время получили широкое распространение для разработки микроконтроллеров, так как использование ОМЭВМ в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости, что им, видимо нет в ближайшем времени альтернативной элементной базы [16]. Напомним, что однокристальная микроЭВМ (ОМЭВМ) – это СБИС, в которой на одном кристалле размещены МП, ОЗУ, ПЗУ и УВВ.

Технические характеристики К1816ВЕ48


ОМЭВМ К1816ВЕ48 имеет следующие технические характеристики:
- шина данных – 8 разрядов;
- шина адресов – 12 разрядов;
- адресное пространство – 212 = 4 кбайта;
- внутреннее ПЗУ – 1 кбайт;
- расширение ПЗУ – до 3 кбайт;
- внутреннее ОЗУ – 64 байта;
- внешнее ОЗУ – 256 байт (4 страницы по 64 байта);
- команды - 1 или 2 байта;
- тактовая частота fт - 6МГц;
- прерывания - 2 уровня;
- ввод-вывод данных – 3 порта.

Организация ПЗУ. ПЗУ используется для хранения программ, при этом внутреннее ПЗУ объемом 1 кбайт занимает адреса – 0000-03FFh., а при подключении внешнего ПЗУ объемом 3 кбайта адресное пространство расширяется до адреса 0FFFh. На рисунке 8.1.1 представлена схема подключения внешнего ПЗУ. Порт P0 выполняет роль совмещенной 8-разрядной шины A/D, по которой при обращении к внешнему ПЗУ передается сначала младший байт адреса, а затем порт P0 переходит в режим чтения кодов из внешнего ПЗУ. Передача младшего байта сопровождается сигналом ALE, по заднему фронту которого младший байт адреса с выхода порта Р0 защелкивается в регистр адреса РгА. Временные диаграммы этого процесса полностью совпадают с временными диаграммами МП К1821ВМ85 (рисунок 2.2.1). Старшая часть адреса – 4 разряда ША11-ША8, передается через порт Р2 и удерживается в течение всего цикла обращения к внешнему ПЗУ. Подключение внешнего ПЗУ расширяет программные возможности МК, но сокращает возможности по подключению внешних устройств, так как свободным остается только один порт Р1 (рисунок 8.1.1). В этой связи необходимо заметить, что если для реализации МК не хватает объема внутреннего ПЗУ, то практического смысла подключать внешнее ПЗУ никакого нет. Так как возникает необходимость в дополнительных ИС – ПЗУ, РгА, то лучше перейти к использованию микропроцессора, например К1821ВМ85. Использование МП позволит существенно расширить и адресное пространство – до 64 кбайт, и расширить функциональные возможности по системе команд. Использование ОМЭВМ хорошо именно тем, что не требует дополнительных ИС.

Схема подключения внешнего ПЗУ
Схема подключения внешнего ПЗУ



Организация ОЗУ. ОЗУ используется для оперативного хранения данных. Особенностью организации ОЗУ является объединение в единое адресное пространство как регистров общего назначения (РОН), стека и собственно ячеек ОЗУ.
организация озу

На рисунке представлена диаграмма распределения адресов внутреннего ОЗУ. В диаграмме выделены следующие области:
1. Два банка РОНов по 8 регистров – R0-R7. Для обращения к этим ячейкам ОЗУ используется регистровая адресация, при которой:
- команда – однобайтная;
- команда включает в себя наряду с кодом операции (КОП) адрес (номер) РОНа.
В текущем состоянии ОМЭВМ работает только один банк РОНов. Выбор банка осуществляется программно, с помощью команд
SEL RB0 ; выбор банка 0
SEL RB1 ; выбор банка 1;
2. Стек – 16 ячеек ОЗУ с последовательным доступом. Обращение организовано по магазинному принципу, когда первым из стека читается код, который был записан последним, то есть по принципу LIFO (см. раздел 2.2, п.6). ОМЭВМ не имеют специальных команд загрузки байта в стек и чтение его из стека. Обращение к стеку выполняется для команд CALL и RET.
3. ОЗУ пользователя имеют адреса 32-63. Для обращения к ОЗУ используется только косвенная адресация с использованием регистров R1 и R0 для хранения адреса. При этом адресоваться можно к любой ячейке ОЗУ, включая РОНы и стек.
Кроме указанного ОЗУ в ОМЭВМ имеется аккумулятор А и регистр PSW - регистр состояния программы, который имеет следующие значения разрядов:
- D7 – признак переноса С;
- D6 – признак дополнительного переноса AC;
- D5 – признак пользователя F0, устанавливаемый в лог. “0” командой CLR F0 или в состояние лог.”1” командой CPL F0;
- D4 – указывает на рабочий банк РОНов;
- D3 – не используется;
- D2-D0 – указатель стека.

Способы адресации операндов

В ОМЭВМ К1816ВЕ48 в качестве источников адреса при косвенной адресации используются регистры R1, R0 и А, при этом в мнемонике косвенная адресация отмечается значком @ (коммерческая “a”).
Например,
MOV @R0, A ; переслать байт из A в память по адресу, хранящемуся в R0, или сокращенно – A -> M[R0],
MOV A, @R1 ; M[R1] -> A.


Система команд

Пересылки данных – фактически выполняется копирование данных, то есть при пересылке в источнике байт сохраняется. Все пересылки данных в системе команд ОМЭВМ К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 ; данные D8->M[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)].

Преобразование данных. Для операций с двумя операндами по умолчанию в качестве источника одного операнда используется аккумулятор и результат записывается также в аккумулятор. Основные команды преобразования данных:
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 and Rm >A,
ORL A, Rm ; A or Rm >A,
XRL A, Rm ; A xor Rm >A, “исключающее ИЛИ”;
ж). сдвиги
RL A, RR A ; циклические сдвиги влево и вправо без учета признака переноса


циклические сдвиги

RLC A, RRC A ; циклические сдвиги влево и вправо через признак переноса.
циклические сдвиги


Ввод-вывод данных. При выводе данных содержимое аккумулятора пересылается в соответствующий порт и остается там без изменения до следующей команды вывода. Основные команды ввода-вывода данных следующие:
а). для порта 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 .

Команды передачи управления. В системе команд ОМЭВМ К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 ; безусловный переход в пределах адресного пространства в 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.

Таймер


Таймер – устройство формирования и измерения временных интервалов. Основой таймера является 8-разрядный счетчик, который работает в двух режимах:
- счет внешних импульсов со входа Т1;
– формирование заданного интервала.
Счетчик работает на инкремент и при переходе из состояния
FF -> 00 формируется импульс запроса на прерывание TF, по которому выполняется переход к подпрограмме обработки прерывания по адресу 007h. Команды управления таймером следующие:
а). для режима счета внешних импульсов -
MOV T, A ; начальная установка таймера,
STRT CNT ; пуск режима счета внешних импульсов,
MOV A, T ; контроль состояния таймера;


Формирование заданного интервала
Формирование заданного интервала


б). для формирования заданного интервала –
MOV T, A ; начальная установка таймера,
STRT T ; пуск таймера.
При расчете временного интервала необходимо учесть, что на счетчик подается импульсная последовательность с частотой FT = FQ/480, где FQ – частота кварцевого резонатора, используемого в тактовом генераторе.
Пример: Сформировать временной интервал T = 10 мс, при FQ= 6 МГц,
Частота тактовых импульсов на входе таймера FT = 6 МГц/480 = 12,5 кГц или TТ = 80 мкс. Число тактов, которые должен выполнить счетчик таймера – NТ = 10мс/80мкс = 125.
Определим код, который необходимо загрузить в счетчик таймера
256 -125 – 1 = 130.
Последовательность команд должна быть следующая:
MOV A, #130
MOV T, A
STRT T.
На рисунке представлена временная диаграмма формирования временного интервала длительностью 10 мс.

Структурная схема МК

На рисунке представлена структурная схема простейшего микроконтроллера с использованием ОМЭВМ К1816ВЕ48 с подключением клавиатуры и одного индикатора. Наличие всего трех портов не позволяет напрямую подключать больше трех внешних устройств (ВншУ) ввода-вывода данных.
Структурная схема простейшего МК
Структурная схема простейшего МК

Например, для случая МК с подключением клавиатуры и блока индикации потребуется как минимум 4 порта. Для клавиатуры необходимо два порта – порт для вывода кода опроса клавиатуры и порт для ввода кода состояния клавиатуры. Для подключения динамической семисегментной индикации потребуется также два порта – порт для вывода кода символа и порт для вывода номера индикатора, а если используется матричная индикация, то потребуется уже три порта - порт для вывода кода символа по строкам, порт для включения столбцов и порт для вывода номера индикатора. Таким образом, требуется 4-5 портов ввода-вывода кодов.

Подключение ВншУ, входящих в адресное пространство.


Внешние устройства ввода-вывода данных можно отождествить с ячейками внешнего ОЗУ, тогда ВншУ будут входить в адресное пространство ОЗУ. В этом случае можно реализовать максимальный вариант подключения 256 ВншУ0. Для этого варианта предназначены команды пересылок с использованием косвенной адресации:
MOV R0(1), # ; в R0 или R1 записать 8- разрядный
адрес ВншУ,
MOVX A, @R0(1) ; из ВншУ по адресу, хранящемуся в R0 или
R1 переслать байт в аккумулятор.

Схема подключения ВншУ и временные диаграммы
Схема подключения ВншУ и временные диаграммы

Для схемы подключения ВншУ, входящих в адресное пространство ОЗУ , используются команды MOVX A, @R0(1) , по которым на выходе P0 устанавливается 8-разрядный адрес, сопровождаемый сигналом ALE = 1. По этому сигналу необходимо защелкнуть адрес в РгА, выход которого используется для выбора ВншУ. Затем порт P0 переходит в режим ввода данных, которые поступают от внешнего устройства. Аналогичным образом реализуется вывод данных, который данных сопровождается сигналом чтения WR, а ввод – сигналом записи RD.

Подключение ВншУ, не входящих в адресное пространство ОЗУ

Другим вариантом схемы МК с подключением более трех ВншУ является схема использования порта Р0 в качестве шины данных, а порты P1 и Р2 – в качестве источника сигналов управления ВншУ. В этом случае каждый разряд портов Р1 и Р2 используется для формирования сигналов записи или чтения . Такая схема организация управления позволяет подключить до 16-ти ВншУ.
Подключение ВншУ с поразрядным управлением
Подключение ВншУ с поразрядным управлением


Для обращения к ВншУ, не входящим в адресное пространство ОЗУ, используются команды ввода-вывода через порт P0. При этом на соответствующих разрядах портов Р1 или Р2 необходимо сформировать для ВншУ управляющий импульс. Последовательность команд следующая:
а). режим вывода данных (управляющий разряд – Р1-0) -
OUTL BUS, A ; вывод из аккумулятора байта в порт Р0
MOV A, #00000001b ; загрузка в аккумулятор
OUTL P1, A ; разряд порта P1-0 переключается в “1”;
MOV A, #00000000b ; загрузка в аккумулятор
OUTL P1, A ; разряд порта P1-0 переключается в “0”;
б). режим ввода данных (управляющий разряд – Р1-1)
MOV A, #00000010b
OUTL P1, A ; разряд порта P1-1 переключается в “1” и открывает шинный формирователь ВншУ, подключенный к порту P0
INS A, BUS ; чтение данных через порт Р0 в А
MOV A, #00000000b
OUTL P1, A ; разряд порта P1-1 переключается в “0”.










Микропроцессор и типы архитектур контроллеров на основе микропроцессоров

Микропроцессорный комплект серии 1821

Система команд, способы адресации операндов для МП КР1821ВМ85

Этапы проектирования контроллера на базе 8-разрядного микропроцессора

Микропроцессор К1810ВМ86

Система команд, способы адресации операндов для МП К1810ВМ86.

Однокристальные микроЭВМ К1816ВЕ48. Назначение, технические характеристики, основные устройства, входящие в ОМЭВМ, система команд, организация памяти.

Однокристальная микроЭВМ К1816ВЕ51. Назначение, технические характеристики, основные устройства, входящие в ОМЭВМ, система команд организация аналого-цифрового преобразования.

!

















поиск google.ru
поиск yandex.ru
поиск mail.ru
!
Почта
статистика
Сайт управляется системой uCoz