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




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

Поколение ОМЭВМ К1816ВЕ51 по сравнению с К1816ВЕ48 обладает улучшенными характеристиками, расширенными функциональными возможностями и предназначено для реализации высокопроизводительных микроконтроллеров, управляющих технологическими процессами и бытовыми приборами. Новые возможности ввода-вывода данных и периферийных устройств расширяют диапазон применения и снижают общие затраты системы. В зависимости от условий использования, быстродействие системы может быть увеличено максимум в десять раз [16 ].
Серии 1816 и 1850 выполнены по n-МОП технологии и имеют среднее энергопотребление (до 700 мВт), а серии 1830 и 1835 выполнены по КМОП технологии и имеют микромощное потребление ( до 100 мВт). В таблице 9.1 приведены характеристики семейства ОМЭВМ, различающиеся током потребления и типом памяти программ:
- ППЗУ–перепрограммируемое ПЗУ с ультрафиолетовым стиранием;
- ПЗУ – масочного типа, когда программа формируется в процессе изготовления БИС;
- Внш - внешнее ПЗУ.
Технические характеристики ОМЭВМ К1816ВЕ51
Технические характеристики ОМЭВМ К1816ВЕ51.


ОМЭВМ К1816ВЕ51 имеет следующие технические характеристики:
- шина данных – 8 разрядов;
- шина адресов – 16 разрядов;
- адресное пространство – 216 = 64 кбайта;
- внутреннее ПЗУ – 4 кбайт;
- расширение ПЗУ – до 64 кбайт;
- внутреннее ОЗУ – 128 байт;
- внешнее ОЗУ – до 64 кбайт;
- количество РОНов – 32 (4 банка по 8 РОНов);
- команды - 1, 2 и 3 байта;
- тактовая частота fт – 12 МГц;
- прерывания - 5 уровней;
- ввод-вывод данных – 4 порта;
- регистры специальных функций – 11;
- таймеры – 2;
- последовательный ввод-вывод данных;
- бит защиты памяти.
ОМЭВМ К1816ВЕ51
ОМЭВМ К1816ВЕ51



На рисунке представлена условная графическая схема ОМЭВМ 1816ВЕ51, которая имеет 4 порта – P0-P3 и следующие сигналы:
- RST – вход общего сброса;
- BQ2,BQ1 – входы подключение кварцевого резонатора;
- DEMA – вход блокировки работы с внешней памятью, при DEMA=1 – работа только с внутренней памятью;
- PME – выход разрешения программной памяти – сигнал признака передачи данных через порт Р0 при работе с внешней памятью;
- ALE – признак передачи младшего байта адреса через порт Р0 при работе с внешней памятью.

Организация памяти


Внутреннее ПЗУ.
ПЗУ используется для хранения программы. Внутреннее ПЗУ объемом 4 кбайта занимает адреса от 0000 до 0FFFh. Работа с внутренним ПЗУ выполняется при DEMA = 1, при этом используются все 4 порта ввода-вывода данных.
В режиме контроля программа, записанная во внутреннем ПЗУ, может быть прочитана через порт Р0 путем подачи на разряд Р2.7 лог.”0”, а на вход порта Р1 и на вход разрядов Р2.0 – Р2.3 - 12-разрядного адреса.
В режиме эксплуатации МК программа во внутреннем ПЗУ может быть защищена специальным битом защиты, который устанавливается в состояние “0” при программировании ОМЭВМ. При этом запрещается доступ к внутренней памяти любыми внешними средствами. Очистить бит защиты памяти можно только при общем стирании программы.

Внешнее ПЗУ и ОЗУ.
При DEMA=0 предусмотрено подключение внешнего ПЗУ объемом до 60 кбайт. В этом случае адресное пространство расширяется до адреса FFFFh. Внешнее ПЗУ подключается к портам P0, P2, а также используются разряды порта Р3. Получается, что для подключения внешних устройств остается только порт Р1.

Подключение внешней памяти
Подключение внешней памяти

Однако, обращение к внешним устройствам может быть организовано по схеме рисунка как к ячейкам ВншОЗУ. В этом случае необходимо дополнительно включить дешифратор адреса, который будет выбирать либо ВншУ, либо ВншОЗУ.
временные диаграммы работы МК на ОМЭВМ  К1816ВЕ48
временные диаграммы работы МК на ОМЭВМ К1816ВЕ48


На рисунке 9.2.2 представлены временные диаграммы работы МК на ОМЭВМ К1816ВЕ48 в режиме обращения к ВншОЗУ. В начальной фазе через порт Р0 передается младший байт адреса, который сопровождается передачей сигнала ALE. По заднему фронту сигнала ALE необходимо младший байт адреса защелкнуть в регистре РгА. Старший байт адреса передается через порт P2 и удерживается весь цикл обращения. Далее, на выходе порта Р0 формируются данные, которые сопровождаются сигналом PME – признаком обращения либо к ВншПЗУ (РМЕ=0), либо к ВншОЗУ (РМЕ=1). Разряд P3.6 используется для передачи сигнала записи (WR), а разряд Р3.7 – чтения (RD).
Сигнал РМЕ фактически расширяет адресное пространство ОМЭВМ К1816ВЕ51 до 128 кбайт.
Обращение к ВншОЗУ выполняется с помощью косвенной адресации с использованием специального регистра DPTR и только через аккумулятор:
MOVX @DPTR, A ; A -> M[DPTR]
MOVX A, @DPTR ; M[DPTR] -> A.

Внутреннее ОЗУ.
Имеет объем 128 байт и занимает адресное пространство от 00h до 7Fh. Все ячейки ОЗУ могут адресоваться с использованием как косвенной, так прямой адресации.
Часть ячеек ОЗУ имеет второе функциональное назначение, которое иллюстрируется диаграммой рисунка.
диаграмма


Выделяются 32 ячейки ОЗУ в виде четырех банков по 8 ячеек - это регистры общего назначения (РОН), для обращения к которым используются команды с наиболее быстродействующей регистровой адресацией. Выбор банка РОНов осуществляется с помощью специального регистра PSW, разряды которого имеют следующие значения:

PSW


CY – (carry) – перенос;
AC – дополнительный перенос из младшей в старшую тетраду;
F0 – устанавливаемый программно признак пользователя;
RS1, RS0 – код выбора банка РОНов;
OV – (over) – переполнение;
P - (parity) – дополнение до четности результата.
Например, для выбора банка 2 РОНов необходимо выполнить следующую команду – MOV PSW, #00010000b. 16 ячеек внутреннего ОЗУ c адреса 20h по 2Fh отведены под адресуемые пользователем биты. При этом получается 16*8=128 адресуемых битов в диапазоне адресов от 00 до
7Fh. Команды пересылок битов выполняются только через бит признака переноса С! Например:
MOV C, 7Ah ; битовая переменная из ячейки ОЗУ с адресом 7Ah копируется в бит признака переноса С.
80 ячеек внутреннего ОЗУ c адреса 30h по 7Fh отведены под ОЗУ пользователя. Используется как прямая, так и косвенная адресация.
Отдельного стекового пространства нет. В качестве стека используется любая область ОЗУ, для чего прямой адрес (direct addr), указанный в командах PUSH и POP , загружается в указатель стека.
В область адресного пространства внутреннего ОЗУ включены регистры специальных функций, которые допускают только прямую адресацию.

Регистры специальных функций

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


таблица

Часть специальных регистров, имеющих адреса кратные 8, допускают использование прямой побитной адресации разрядов в этих регистрах. Порты ввода-вывода данных могут адресоваться как специальные регистры.Порт P0 - двунаправленный с тремя состояниями, стробируемый, когда ввод-вывод данных сопровождается сигналами RD и WR, а порты Р1-Р3 – с фиксированной записью данных. Данные в них не изменяются до следующей команды обращения к эти портам. Порт Р1 – используется только для ввода-вывода данных. Порт Р2 – кроме ввода-вывода данных используется для передачи старшего байта адреса при обращении к внешней памяти. Порт Р3 - кроме ввода-вывода данных используется для ввода-вывода различных сигналов, расширяющих функциональные возможности ОМЭВМ. В сл. таблице приведено функциональное назначение разрядов порта Р3.
функциональное назначение разрядов порта Р3



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

В системе команд ОМЭВМ К1816ВЕ51 реализованы широкие возможности по адресации операндов, при этом наряду с традиционными способами расширены возможности по способам представления форматов данных. Используются следующие форматы:
- побитовый;
- потетрадный (4 бита);
- побайтный (8 бит);
- 16-разрядный.
Кроме основных способов адресации, определение которых дано в разделе 2.4.1, добавлена базово-индексная адресация – разновидность косвенной адресации, когда в команде указываются источники двух частей адреса A+PC или A + DPTR. Часть адреса, находящаяся в аккумуляторе, воспринимается как смещение адреса с учетом знака, то есть смещение на +-128. Например,
MOVC A, @A + PC ; M[A + PC] -> A,
MOVC A, @A + DPTR ; M[A + DPTR] -> A.


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

В системе команд ОМЭВМ К1816ВЕ51 наблюдается преемственность от ОМЭВМ К1816ВЕ48. Выделим 4 группы команд и отметим основные из них.




Пересылки данных – фактически выполняется копирование данных, то есть при пересылке в источнике байт сохраняется. Команда “MOV” допускает 15 комбинаций адресации источника и приемника:
a). пересылки типа “регистр-регистр” – выполняются только через аккумулятор:
MOV A, Rn ; Rn -> A , где Rn - любой регистр R7-R0,
MOV Rn,A ; A-> Rn ,
MOV A, #D8; данные D8 -> A.
б). пересылки типа “память-регистр”. Используется как прямая, так и косвенная адресации с использованием регистров R0,R1,A,DPTR. Команды обращения к внутреннему ОЗУ (128 ячеек) имеют вид:
MOV Rm, direct addr ; M[direct addr] -> Rm , то есть из ячейки памяти с адресом, указанным в команде, переслать байт в регистр,
MOV direct addr , Rm, ; Rm -> M[direct addr]
MOV A, @R0 или R1 ; M[R0(1)] -> A,
MOV @R0(1), A ; A -> M[R0(1)],
MOV @R0(1), #D8 ; данные D8 -> M[R0(1)] .
Для обращения ко внешнему ОЗУ (64K) используются команды с косвенной адресацией c использованием регистрa DPTR :
MOVX A, @ DPTR ; M[DPTR] -> A;
MOVX @ DPTR, A ; A -> M[DPTR];
Для обращения к ячейкам памяти программы, например при обращении к таблицам, также используются команды с косвенной адресацией:
MOVC @A + PC, A ; A -> M[A + PC],
MOVC @A + DPTR, A ; A -> M[A + DPTR];
в). обмен данными выполняется только через аккумулятор:
XCH A,Rm ; A <-> Rm,
XCH A, direct addr ; A -> M[direct addr]
XCHD A,@R0(1) ; A -> M[R0(1)];
г). команды записи в стек и чтения из стека используют прямую адресацию:
PUSH direct addr ; SP+1, M[direct addr] -> M[SP+1]
POP direct addr ; M[SP] -> M[direct addr], SP-1,




Преобразование данных. Для операций с двумя операндами по умолчанию в качестве источника одного операнда используется аккумулятор и результат записывается также в аккумулятор. Основные команды преобразования данных следующие:
a). команды сложения
ADD A, Rm ; A + Rm >A,
ADD A, direct addr ; A+ M[direct addr]>A,
ADD A, @R0(1) ; A+ M[R(0)1]>A,
ADD A, #D8 ; A+ #D8>A;
б). команды сложения с учетом признака переноса С, используются все типы операндов, что и для сложения без учета признака С
ADDC A, Rm ; A + Rm +C >A;
в). команды вычитания с заемом C
SUBB A, Rm ; A – C - Rm >A,
SUBB A, direct addr ; A – C - M[direct addr]>A,
SUBB A, @R0(1) ; A – C - M[R(0)1]>A,
SUBB A, #D8 ; A – C - #D8>A;
г). команды инкремента –декремента используют 4 типа операндов – r -> {A, Rm, direct addr, @R0(1)}, где direct addr – прямой адрес операнда из ОЗУ, @R0(1) – косвенная адресация операнда из ОЗУ,
INC r ; r +1>A,
DEC r ; r -1>A;
д). команда умножения использует только 8-разрядные регистры А (аккумулятор) и В. Старший байт 16-разрядного произведения сохраняется в регистре В, а младший байт – в А:
MUL AB ; A*B -> B,A;
е). команда деления - делит 8-разрядное целое число без знака из аккумулятора А на число из регистра В. При этом частное сохраняется в А, а остаток – в В.
DIB AB ; A/B -> A, остаток -> В;
ж). преобразование кода в аккумуляторе
CLR A ; A=0
CPL A ;обратный код (поразрядное инвертирование);
з). логические операции, в которых используется пять типов операндов, - r -> {A, Rm, #D8, direct addr, @R0(1)}, -
ANL A, r ; A -> r >A,
ORL A, r ; A -> r >A,
XRL A, r ; A -> r >A, “исключающее ИЛИ”;
и). сдвиги
RL A, RR A ; циклические сдвиги влево и вправо без учета признака переноса
RLC A, RRC A ; циклические сдвиги влево и вправо через признак переноса.




Ввод-вывод данных.
При выводе данных содержимое аккумулятора пересылается в соответствующий порт и остается там без изменения до следующей команды вывода. Для команд ввода-вывода используется мнемокод операции MOV с указанием порта и аккумулятора. Отметим два типа команд ввода-вывода данных:
а). ввод - вывод байта с использованием аккумулятора
MOV А, Pi ; чтение байта Pi -> A
MOV Pi, А ; вывод байта А -> Pi ;
б).ввод-вывод бита m порта Pi с использованием признака переноса С
MOV C, Pi .m ; чтение бита Pi .m -> C
MOV Pi .m, C ; вывод бита C -> Pi .m ;
в). логические операции при вводе данных через порты. Выполняется поразрядное преобразование вводимого байта и содержимого аккумулятора А, с записью результата в аккумулятор –
ANL Pi , А; ORL Pi , А; XRL Pi , а также преобразование бита через порты в соответствии с признаком С:
ANL Pi .m, C ORL Pi .m, C XRL Pi .m, C .


Команды передачи управления.
В системе команд ОМЭВМ К1816ВЕ51 уменьшено количество признаков, по которым выполняются условные переходы по сравнению ОМЭВМ К1816ВЕ48. Оставлены команды условных переходов по такими признакам как: Z – нулевой результат, С – перенос и В - значение бита в аккумуляторе. Но включены комбинированные команды с указанием операндов для сравнения и признака перехода.
Основные команды передачи управления следующие:
а). безусловные переходы
AJMP ; в пределах адресного пространства 2 кбайта
LJMP ; в пределах адресного пространства 64 К;
JMP @A + DPTR ; переход по косвенному адресу, содержащемуся в DPTR и смещению в пределах +-128 адресов, хранящемуся в А;
б). условные переходы по состоянию признака, выполняются по адресу, который вычисляется путем сложения с учетом знака относительного смещения Disp8, указанного в команде , и содержимого счетчика команд PC + 2. При этом общая запись мнемокода может быть представлена в виде - J* < Disp8> ; переход по адресу [
Disp8+PC+2], если признак (*)=1, например,
JC < Disp 8>, JZ < Disp 8>,
или в виде:
JN* < Disp8> ; переход, если признак (*)=0,
например, JNC < Disp8>, JNZ < Disp8>,
в). условные переходы по состоянию битов В0 – В7 в аккумуляторе -
JB0 < Disp8> – JB7 < Disp8> ; переход, если бит =1;
г). вызов подпрограммы -
АCALL < Adr11> ; в пределах адресного пространства 2 кбайта
LCALL ; в пределах адресного пространства 64 К;
При выполнении команды ACALL реализуется следующие операции:
- полный 16-разрядный адрес следующей команды в виде 2-х байтов записываются в стек;
- в РС записываются 11 разрядов начального адреса подпрограммы;
- выполняется переход по начальному адресу подпрограммы;
д). возврат по адресу в стеке -
RET ; без восстановления PSW,
RETI ; возврат из прерывания без восстановления PSW;
е). комбинированные команды, когда в команде совмещено несколько команд-
CJNE A, #D8, addr ; сравнить A и константу D8 и если не равно, то выполнить переход по указанному адресу addr,
CJNE @R0(1), #D8, addr ; сравнить байт, находящийся в ОЗУ по адресу, записанному в регистре R0 или R1, с константой D8 и если не равно, то выполнить переход по указанному адресу addr,
DJNZ Rm, addr ; выполнить декремент кода в регистре Rm и если получился ненулевой результат, то выполнить переход по указанному адресу addr,
DJNZ direct, addr ; выполнить декремент кода в ячейке ОЗУ с адресом, указанном в команде - direct и если получился ненулевой результат, то выполнить переход по указанному адресу addr.



Управление прерываниями

В системе команд ОМЭВМ К1816ВЕ51 существенно расширены возможности по использованию прерываний. Система прерываний – 5-ти уровневая и двухкаскадная.
Источники запросов на прерывания с указанием фиксированных адресов переходов представлены в таблице. Порядок следования запросов на прерывание в этой таблице соответствует исходному распределению приоритетов от высшего (INT0) к низшему (RI):




Каждый источник запроса на прерывание может быть индивидуально разрешен или запрещен с помощью регистра прерываний IE, значения разрядов которого следующие:



Каждый источник запроса на прерывание может быть индивидуально разрешен или запрещен с помощью регистра прерываний IE, значения разрядов которого следующие:




- EA= 0 – запрет всех прерываний, 1–разрешение всех прерываний;
- ES =1 – разрешение прерывания при приеме бита со входа Р3.0;
- ET1, ET0 =1 - разрешение прерывания от таймеров;
- EX1, EX0 =1 - разрешение прерывания от внешних источников.
В системе управления прерываниями предусмотрено изменение приоритета каждого источника с помощью регистра IP, значения разрядов которого следующие:



- PS – назначение приоритета для прерывания при приеме бита со входа Р3.0;
- PT1, PT0 - назначение приоритета для прерываний от таймеров;
- PX1, PX0 - назначение приоритета для прерываний от внешних источников.
Для всех пяти источников запросов на прерывание устанавливается – 1 – высший приоритет, 0 – низший приоритет. Если несколько источников запросов будут иметь одинаковое значения разрядов в регистре IP, то тогда распределение приоритетов будет соответствовать исходному распределению (таблица 9.6.1).
При выполнении прерываний реализуются операции, соответствующие команде LCALL:
- заканчивается текущая команда;
- полный 16-разрядный адрес следующей команды в виде 2-х байтов записываются в стек, при этом PSW в стек не записывается;
- в РС записываются фиксированные начальные адреса подпрограмм обработки прерывания в соответствии с таблицей 9.6.1;
- выполняется переход по начальному адресу подпрограммы обработки прерывания, в конце которой должна стоять команда RETI.


Последовательный ввод-вывод данных


В ОМЭВМ К1816ВЕ51 предусмотрено два способа последовательного ввода-вывода данных – синхронный и асинхронный с переменной скоростью обмена данными. В качестве последовательного порта используются разряды порта Р3 – Р3.0 – для приема данных, а Р3.1 – для передачи данных. Последовательный ввод-вывод данных программируется на 4 режима путем записи в регистр SCON управляющего кода, значения разрядов которого следующие:


регистр SCON


- SM0, SM1 - режим последовательного ввода-вывода данных;
- SM2 - разрешение многопроцессорной работы;
- REN – прием (при 1) и передача (при 0);
- TB8 – 9-й бит при передачи данных, может быть использован в качестве контрольного бита;
- RB8 - 9-й бит при приеме данных, может быть использован в качестве контрольного бита;
- TI - признак окончания передачи байта из регистра SBUF;
- RI - признак прерывания после приема байта в регистр SBUF.
Передача байта выполняется в следующей последовательности:
a). в управляющем регистре SCON указывается режим последовательного вывода байта, значение 9-го контрольного разряда бита, например MOV SCON,
#11001000b ;
б). выполняется команда записи в регистр SBUF передаваемого байта
MOV SBUF, A ,
после чего сразу же начинается последовательная передача байта с выхода Р3.1.
в). после окончания передачи байта формируется признак TI = 1.
Прием байта выполняется в следующей последовательности:
a). в управляющем регистре SCON указывается режим последовательного приема байта и устанавливается разрешение приема REN=1;
б). после обнаружения стартового бита выполняется прием информационного байта в регистр SBUF и контрольного 9-го бита в разряд RB8 регистра SCON;
в). формируется прерывание RI , по которому необходимо сохранить принятый байт .
Отметим режимы последовательного ввода-вывода байта, которые определяются разрядами SM1, SM0:
Режим 0. Синхронный ввод-вывод данных. Последовательный порт работает как сдвиговый регистр, при этом необходимо передавать сигнал синхронизации, так как тактовая последовательность на приеме должна быть синхронизирована с тактовой последовательностью на передачи. Скорость приема-передачи фиксированная и равна до 1000 кбод, так
как для передачи используется тактовая частота fT = fQ/12, где fQ – тактовая частота кварцевого генератора.
Режим 1. Асинхронный ввод-вывод данных. Бит ТВ8 не передается. Скорость передачи определяется частотой переполнения таймера, то есть скорость можно задавать программным путем от 100 бод до 62 кбод. Для асинхронной передачи данных характерной особенностью является побайтная передача и наличие стартовой и стоповой посылки .
Режим 2. Асинхронный ввод-вывод данных. Бит ТВ8 передается в качестве контрольного. Скорость передачи в этом режиме фиксированная, равна 375 кбод и определяется использованием тактовой частоты
fT = fQ/32.
Последовательная асинхронная передача байта в режимах 2 и 3
Последовательная асинхронная передача байта в режимах 2 и 3


Режим 3. Асинхронный ввод-вывод данных. Бит ТВ8 передается в качестве контрольного. Скорость передачи в этом режиме определяется частотой переполнения таймера. Записывая в таймер необходимый код, можно задавать требуемую скорость передачи битов.


Таймеры


Таймеры используются для формирования временных интервалов и для счетча внешних импульсов.
В ОМЭВМ К1816ВЕ51 существенно расширены возможности таймеров – используются 16-разрядные счетчики T/C0 и T/C1, программируются режимы работы.
В режиме формирования заданного временного интервала в счетчик записывается код начального состояния, а после пуска счетчиков выполняется инкремент с частотой fT = fQ/12 . При переходе состояния счетчика из FFFFh в 0000h формируется сигнал прерывания TF0 и TF1 соответственно для счетчиков T/C0 и T/C1.
Пуск счетчиков выполняется сразу же после их загрузки . Режимы работы таймеров определяются регистром TMOD, а управление - регистром TCON. Значения разрядов регистра TCON следующие:



- TF1, TF0 – признаки переполнения счетчиков при переходе из состояния FFFFh в 0000h . Могут устанавливаться и сбрасываться программно;
- TR1, TR0 - биты выключения счетчиков – TR1(0)=0 – выключены;
- IE1, IE0 - признаки запроса по внешним входам - INT1, INT0. Могут устанавливаться и сбрасываться программно;
- IT1, IT0 - биты, определяющие вид прерывания по входам INT1, INT0: IT=0 – прерывание по уровню (низкому), IT=1 – прерывание по фронт (переход из лог.”1” в лог.”0” ). Устанавливаются и сбрасываются программно.







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

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

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

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

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

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

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

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

!

















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