Скачиваний:
79
Добавлен:
21.02.2014
Размер:
473.09 Кб
Скачать

Организация и особенности использования однокристальных микроконтроллеров (продолжение) варианты структур мк-системы

Технические параметры МК рассчитаны на применение в роли относительно простой системы контроля и управления (обычное применение). Однако, используя внешние ТТЛ-совместимые логические элементы, простыми средствами, можно расширить МК-систему до следующих размеров:

  • память программ до 4 Кбайт (1К СППЗУ на кристалле плюс 3 К внешнего ПЗУ);

  • память данных до 320 байт (64 на кристалле плюс 256 внешних);

  • линии ввода - вывода практически неограниченно.

Кроме того, путем подключения специализированных БИС, входящих в микропроцессорный комплект К580, в МК-системе могут быть реализованы различные вспомогательные функции:

  • связь с дисплеем и клавиатурой,

  • многоуровневая программируемая система прерываний,

  • сложная система с управляемыми временными прараметрами,

  • связь с системами передачи информации и т. д.

Используя многорежимные буферные регистры (МБР) и мультиплексирование адресов/данных можно создать программно управляемые МК-системы с требуемыми техническими параметрами.

МК-система с расширенной памятью программ.Следующий рисунок иллюстрирует процесс выборки команды из внешней памяти:

В процессе выборки команды выполняются следующие шаги:

  • содержимое счетчика команд выводится через порт BUS и младшую тетраду порта Р2;

  • по заднему фронту сигнала САВП на внешнем регистре фиксируется адрес;

  • сигналом РВП разрешается работа внешней памяти;

  • по окончании сигнала РВП шина BUS переходит в режим ввода.

Шина BUS (DB) MK K1816 подобна двунаправленной шине данных МП K580, и все расширения МК выполняются с использованием этой шины. При обращении к резидентной памяти программ МК не генерирует внешних управляющих сигналов (за исключением САВП, который всегда идентифицирует каждый машинный цикл). Начиная с адреса 1024, МК 1816 автоматически формирует управляющие сигналы, обеспечивающие выборку команд из внешней памяти.

Ячейки памяти с адресами, лежащими за пределами блока памяти 0, могут быть доступны по команде переключения блоков памяти "SEL MB1", за которой должна следовать команда перехода (JMP или CALL), так как СК11 не изменяет своего состояния под воздействием команды "SEL MB", а загружается из специального триггера признака блока памяти по очередной команде перехода. Это предохраняет пользователя от неумышленного пересечения границы 2К, но влечет за собой следующую особенность: так как все 12 разрядов СК сохраняются в стеке при вызове подпрограмм, то переход к подпрограмме можно выполнять с пересечением границы 2К, а номер блока памяти будет восстановлен при возврате из подпрограммы. При этом, однако, триггер признака блока памяти не будет изменен по возврату и очередная команда перехода, если ей не предшествует команда "SEL MB", может исказить вычислительный процесс. Все эти особенности работы счетчика команд проиллюстрированы на рисунке выше.

На рисунке ниже показана структура МК-системы с расширенной памятью программ (ПЗУ).

Три дополнительных БИС памяти емкостью по 1 Кбайт подключаются к шине BUS своими информационными входами. Младший байт адреса по сигналу САВП фиксируется на внешнем буферном регистре. Старшая тетрада адреса, выводимая через порт Р2, не нуждается в буферизации, так как она фиксирована в порте Р2 и стабильна на протяжении цикла выборки. Два самых старших бита адреса заводятся на внешний дешифратор (стробируемый сигналом РВП*) для селекции требуемой БИС памяти программ.

МК-система с расширенной памятью данных. На рисунке ниже показана схема МК-системы, в состав которой включены две дополнительные БИС ОЗУ емкостью 256 байт (256 x 4).

Внешняя оперативная память доступна МК по командам пересылки "MOVX A,@R" и "MOVX @R,А", которые по косвенному адресу (регистр R0 или R1) выполняют передачу байта между внешним ОЗУ и аккумулятором. Сигналом САВП косвенный адрес, выводимый по шине BUS, фиксируется в МБР. Сигналы ЗП* и ЧТ* определяют режим работы БИС ОЗУ. Так как косвенный адрес имеет формат байта, то схема на рисунке выше обеспечивает адресацию 256 ячеек ОЗУ в дополнение к 64 ячейкам резидентного ОЗУ микроконтроллера.

При необходимости дальнейшего наращивания объема внешнего ОЗУ можно реализовать механизм перелистывания страниц памяти через дополнительные линии порта Р2.

МК-система с расширенным вводом-выводом.Все БИС ввода - вывода информации, входящие в состав микропроцессорного комплекса К580, могут быть использованы в МК-системах для расширения числа связей МК с внешними устройствами. Все интерфейсные БИС подсоединяются к шине BUS, размещаются в адресном пространстве для внешней памяти данных и доступны МК по командам MOVX.

На рисунке ниже показаны схемы двух вариантов расширения ввода - вывода МК-системы с использованием интерфейсных БИС.

Выбор того или иного варианта подсоедивения БИС ввода - вывода зависит от выбранного способа адресации внутренних регистров ППА КР580ВВ55. Если регистры интерфейсной БИС адресуются как ячейки внешней памяти данных (по командам MOVX), то 2 бита адреса должны быть зафиксированы на внешнем регистре с помощью сигнала САВП. Второй способ адресации предполагает адресацию внутренних регистров интерфейсной БИС через дополнительные линии порта Р2, что делает ненужным использование внешних фиксаторов адреса, так как порт Р2 микроконтроллера сам фиксирует адрес при передаче байта по шине BUS. При этом способе адресации перед выполнением команды MOVX необходимо адресную информацию вывести в порт Р2. В схемах, показанных на рисунке выше, используется по одной интерфейсной БИС, и поэтому на разрешающий вход выбора корпуса (кристалла) ВК* заводится статический сигнал. В тех случаях, когда требуется использование многих интерфейсных БИС, на входы выбора корпуса ВК подаются селектирующие сигналы с соответствующих разрядов порта Р2 с использованием внешнего дешифратора (в больших МК-системах) или без него.

http://www.kosmos.mk.ua/usmtu/mpk/k1816/k1816org6.html

СИСТЕМА КОМАНД ОДНОКРИСТАЛЬНОГО МИКРОКОНТРОЛЛЕРА 1816

Система команд МК 1816 ориентирована на эффективную реализацию процедур управления:

  • маскируемый ввод-вывод,

  • логические операции и операции с битами,

  • сканирование таблиц с передачей управления,

  • выполнение команд арифметических операций над двоичными и десятичными двоично-кодированными числами.

Все команды имеют формат в 1 или 2 байта и выполняются за один или два машинных цикла (2,5 или 5,0 мкс соответственно при тактовой частоте 6 мГц). За два машинных цикла выполняются все команды с непосредственным операндом, команды ввода - вывода, команды передачи управления, вызова подпрограмм и некоторые команды пересылок. Все остальные команды выполняются за один машинный цикл.

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

  • А - аккумулятор;

  • АС - признак вспомогательного переноса;

  • a - 12-битный адрес памяти программ (11-й бит - выбор блока памяти, биты 0 ÷ 10 - адрес в диапазоне 2К);

  • Вn - номер бита в байте, где   n = {0 ÷ 7};

  • BS - признак селектора (переключатель) банка регистров;

  • BUS - порт ввода - вывода;

  • С - признак переноса;

  • CLK - синхросигнал;

  • CNT - счетчик событий;

  • D - мнемокод 4-битного числа (тетрады);

  • d - 8-битное число (непосредственный операнд);

  • DBF - триггер выбора блока памяти;

  • F0, F1 - признаки пользователя;

  • I - прерывание;

  • Р - мнемокод операций "внутри страницы" памяти;

  • PC - счетчик команд;

  • Рр - порт ввода - вывода (р = 1, 2 или 4 ÷ 7);

  • PSW - слово состояния программы (ССП);

  • Rr - рабочий регистр (г = 0, 1 или 0 ÷ 7);

  • SP - регистр-указатель стека;

  • Т - регистр таймера;

  • TF - признак переполнения таймера;

  • Т0, Т1 - тестирующие входы Т0 и Т1;

  • X - мнемокод внешнего ОЗУ;

  • # - префикс непосредственного операнда;

  • @ - префикс косвенной адресации;

  • $ - текущее содержимое счетчика команд;

  • (X) - содержимое регистра или ячейки с именем X;

  • ((X)) - содержимое ячейки, адресуемой содержимым X;

  • <-- - оператор присваивания (замещения);

  • <--> - оператор взаимного обмена;

  • "XX" - шестнадцатеричный код операции;

  • "X*" - ссылка на данные таблицы 16-ричных кодов команд оперирующих с регистрами;

  • "Х%" - ссылка на данные таблицы 16-ричных кодов команд операций ввода-вывода;

  • "!X" - ссылка на данные таблицы 16-ричных кодов команд JMP и CALL;

В командах МК 1816 используется прямая непосредственная и косвенная адресация.

Множество команд МК 1816 по функциональному признаку может быть разбито на шесть групп:

  1. Команды пересылки и обмена;

  2. Команды арифметических и логических операций (в том числе и операций над признаками);

  3. Команды ввода - вывода;

  4. Команды передачи управления (в том числе и операций с подпрограммами);

  5. Команды операций с таймером;

  6. Команды управления режимом работы МК.

Шестнадцатеричные коды команд МК 1816, оперирующих с регистрами, представлены в следующей таблице.

Команда

R0

R1

R2

R3

R4

R5

R6

R7

  MOV    A,R

F8

F9

FA

FB

FC

FD

FE

FF

  MOV    R,A

A8

A9

AA

AB

AC

AD

AE

AF

  XCH    A,R

28

29

2A

2B

2C

2D

2E

2F

  MOV    R,#d

B8

B9

BA

BB

BC

BD

BE

BF

  INC       R

18

19

1A

1B

1C

1D

1E

1F

  DEC      R

C8

C9

CA

CB

CC

CD

CE

CF

  DJNZ    R

E8

E9

EA

EB

EC

ED

EE

EF

  ADD     A,R

68

69

6A

6B

6C

6D

6E

6F

  ADDC  A,R

78

79

7A

7B

7C

7D

7E

7F

  ANL     A,R

58

59

5A

5B

5C

5D

5E

5F

  ORL     A,R

48

49

4A

4B

4C

4D

4E

4F

  XRL     A,R

D8

D9

DA

DB

DC

DD

DE

DF

http://www.kosmos.mk.ua/usmtu/mpk/k1816/k1816com0.html

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

Соседние файлы в папке МП К1816ВЕ4