Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой проект / КР1816ВЕ48..doc
Скачиваний:
135
Добавлен:
21.02.2014
Размер:
229.38 Кб
Скачать

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, поэтому необходимы отдельные компиляторы;

  • отладку написанной программы возможно проводить только в самом микроконтроллере, из-за чего бывает крайне сложно тестировать программу и выявлять ошибки;

  • необходимы специальные средства для переноса написанной программы в память микроконтроллера;

  • микроконтроллер обладает не очень большими системными ресурсами и быстродействием, ему порой приходиться работать с очень экзотическим внешним оборудованием, поэтому эффективную программу возможно написать только на языке Ассемблера (т.е. фактически в кодах процессора).

Соседние файлы в папке курсовой проект