- •1. Введение.
- •2. Области применения микроконтроллеров.
- •3. Основные характеристики микроконтроллера кр1816ве48.
- •4. Память микроконтроллера.
- •5. Организация ввода/вывода информации.
- •6. Управление микроконтроллером.
- •7. Система команд мк48.
- •8. Мк-система с внешней памятью программ.
- •9. Основные принципы разработки программ для мк48.
- •10. Постановка задачи.
- •11. Аппаратные средства.
- •12. Программные средства.
- •13. Транслятор с языка asm-48.
- •14. Имитатор.
- •15. Тестирование.
- •16. Заключение.
7. Система команд мк48.
Система команд МК48 включает в себя 96 основных команд и ориентирована на реализацию процедур управления. Все команды имеют формат один или два байта (70% команд однобайтные). Время выполнения команд составляет 2.5 мкс или 5.0 мкс для одно/двух байтовых команд соответственно при тактовой частоте 6 МГц. Большинство команд выполняется за один машинный цикл. За два машинных цикла выполняются команды с непосредственным операндом, ввода/вывода и передачи управления. Микроконтроллер оперирует с командами четырёх типов.
|
|
Байт 1 |
|
Байт 2 |
|
|
|
|
|
Тип 1 |
|
КОП |
|
|
|
|
|
|
|
Тип 2 |
|
КОП |
|
#d (Константа) |
|
|
|
|
|
Тип 3 |
|
Адрес (биты 8-10)+КОП |
|
Адрес (биты 0-7) |
|
|
|
|
|
Тип 4 |
|
КОП |
|
Адрес |
К достоинствам системы команд МК48 можно отнести: эффективный ввод-вывод, включая маскирование и возможность управления отдельными битами портов; возможность ветвления по значению отдельных бит; возможность обработки как двоичных, так и десятичных двоично-кодированных чисел.
При выполнении команд могут использоваться значения отдельных флагов, входящих в ССП, и флагов пользователя. Все команды, в результате которых модифицируются флаги, перечислены в таблице.
Команды |
Флаги |
Команды |
Флаги |
ADD, ADDC |
C,AC |
JNF |
TF=0 |
CLR C |
C=0 |
MOV PSW,A |
C,AC,F0,BS |
CPL C |
C |
RETR |
C,AC,F0,BS |
CLR F0 |
F0=0 |
RLC A |
C |
CLR F1 |
F1=0 |
RRC A |
C |
CPL F0 |
F0 |
SEL MB0,SEL MB1 |
DBF |
CPL F1 |
F1 |
SEL RB0,SEL RB1 |
BS |
DA A |
C,AC |
|
|
Команды МК48 обычно группируют по функциональным признакам на 5 групп: команды пересылки данных, арифметических операций, логических операций, команды передачи управления и управления режимом работы МК.
8. Мк-система с внешней памятью программ.
Все расширения МК выполняются с помощью двунаправленной шины BUS. При обращении к резидентной памяти программ МК не генерирует внешних управляющих сигналов. Начиная с адреса 1024 (или если РПП отключено), МК автоматически формирует управляющие сигналы, обеспечивающие выборку команд из внешней памяти:
содержимое счётчика команд выводится на порт BUS и младшую тетраду порта Р2;
по срезу сигнала САВП на внешнем регистре фиксируются младшие 8 бит адреса;
сигналом РВПП (разрешение внешней памяти программ) разрешается работа внешней памяти;
по положительному фронту сигнала РВПП шина BUS переходит в режим ввода байта.
В качестве внешней памяти МК-систем могут использоваться любые статические запоминающие устройства.
9. Основные принципы разработки программ для мк48.
Разработка программного обеспечения для МК-систем требует следующих действий:
написание в отдельном текстовом редакторе исходного текста программы (на языке ASM-48);
трансляция этого текста с помощью программы транслятора, исправление синтаксических ошибок;
загрузка кодов, полученных в результате трансляции, в имитатор микро-ЭВМ. Проверка логики работы программы. Выявление логических ошибок, их исправление;
загрузка кодов полностью оттестированной программы в ОЗУ программатора. На этом этапе осуществляется окончательная отладка программы в режиме реального времени и отладка всех периферийных устройств микро-ЭВМ;
Программирование с помощью программатора ПЗУ микро-ЭВМ.
Таким образом, не имея специальных средств, разработчик программ для МК-систем постоянно сталкиваются со следующими трудностями:
система команд микроконтроллеров не совместима с процессором x86, поэтому необходимы отдельные компиляторы;
отладку написанной программы возможно проводить только в самом микроконтроллере, из-за чего бывает крайне сложно тестировать программу и выявлять ошибки;
необходимы специальные средства для переноса написанной программы в память микроконтроллера;
микроконтроллер обладает не очень большими системными ресурсами и быстродействием, ему порой приходиться работать с очень экзотическим внешним оборудованием, поэтому эффективную программу возможно написать только на языке Ассемблера (т.е. фактически в кодах процессора).