- •Разработка и отладка программного обеспечения
- •1. Микропроцессорная система на базе микропроцессора мп кр580вм80а
- •1.1. Структурная схема мпс кр580вм80а
- •1.2. Программная модель мпс кр580вм80а
- •1.3. Система команд Команды пересылки данных
- •Межрегистровые передачи
- •Запись в память
- •Команды обращения к стеку.
- •Задания для самопроверки
- •Команды арифметических операций.
- •Команды сложения.
- •Команды вычитания
- •Команды приращения положительное и приращение отрицательное
- •Вопросы для самоконтроля
- •Логические команды
- •Вопросы для самоконтроля
- •Команды перехода и вызова подпрограмм.
- •Вопросы для самоконтроля
- •2. Организация временных интервалов в микро-эвм.
- •3. Микроконтроллер pic16f84
- •3.1. Общие характеристики
- •3.1.1. Периферия и Ввод/Вывод
- •3.1.2. Кмоп технология
- •3.2 Условное графическое обозначение
- •3.3. Структура кристалла pic16c84
- •Управляющий регистр прерываний intcon и его биты
- •3.4. Система команд
- •Бит ориентированные команды
- •Байт-ориентированные команды.
- •3.5. Запуск кристалла.
- •Последовательность запуска кристалла в работу
- •Типы генераторов
- •Установка конфигурации.
- •Код идентификации
- •3.6. Интегрированные устройства. Порт а
- •Таймер/счетчик.
- •Встроенный предварительный делитель частоты
- •Долговременная память данных eeprom.
- •Задания для самопроверки
- •4. Микропроцессорные устройства обработки информации.
- •4.1 Расчет основных характеристик системы сбора данных.
- •4.2. Микропроцессоры в системах передачи и обработки сигналов.
- •Программа формирования импульсной последовательности.
- •Формирование импульсных последовательностей с помощью pic16f84.
- •Программа формирования импульсной последовательности.
- •Микропроцессорные устройства регенерации сигнала икм.
- •4.3. Применение микропроцессорных систем в задаче кодирования информации
- •Заключение
- •Литература
1.2. Программная модель мпс кр580вм80а
Достаточную для практического использования микропроцессоров информацию дает программная (регистровая) модель МП-системы. В нее включается только те регистры, к которым можно обращаться программно. Знания программной модели вместе со знанием системы команд (они образуют микроархитектуру системы) вполне достаточно для составления прикладных программ. Проектирование аппаратных средств МП-систем облегчается при наличии типовых конфигураций, построенных из микросхем, входящих в микропроцессорное семейство.
На рис. 3. показана программная модель МП-системы на базе микропроцессора К580. Особенностью микропроцессора является возможность программного объединения (конкатенации) 8-битных РОН в 16-битные операнды или выступать в качестве указателей памяти. Основным указателем памяти служит Н-пара, которая адресуется в командах как РОН с адресом 110. Ячейка памяти, адрес которой определяется содержимым Н-пары, обозначается М (memory - память). Микропроцессор может адресовать до 256 портов ввода, до 256 портов вывода, а также 64 К ячеек памяти.
Рис. 3. Регистровая модель микропроцессора.
Рассмотрим формат данных и команд. Данные (обрабатываемая информация и результаты обработки) хранятся в оперативной памяти ив процессоре в виде 8-разрядных двоичных чисел. Таким образом, слово данных имеет следующий формат:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(байт данных)
Команда микропроцессора - это такое двоичное слово, которое, будучи прочитано микропроцессором, заставляет последний выполнить определенные действия. Для выполнения команда посылается в регистр команд, дешифратор и схему управления, где она идентифицируется, в результате чего формируются сигналы, направляемые в другие части микропроцессора. С помощью этих сигналов выполняются операции, предписываемые командой.
Микропроцессор загружает команду в регистр команд в течение машинного цикла выборки команды (М1). В зависимости от своего типа команда может быть выполнена за один цикл (М1), либо за два цикла (М1, М2) и т.д. Под машинным циклом понимается время выборки одного байта данных из памяти или время выполнения однобайтовой команды.
Для команд МП КР580ВМ80 используются одно-, двух-, трехбайтовые форматы. Однобайтовый формат команды:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(код операции)
Большинство команд является однобайтовыми.
Двухбайтовый формат команды:
В1 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(код операции)
В2 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(операнд или номер устройства ввода-вывода)
В первом байте двухбайтовой команды указывается вид выполняемой операции, во втором байте приводится число, являющееся операндом при выполнении операции, либо номером устройства ввода или вывода при обмене данными.
Трехбайтовый формат команды:
В1 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(код операции)
В2 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(младший байт адреса или младший байт операнда)
В3 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
(старший байт адреса или старший байт операнда)
Байты трехбайтовой команды имеют следующее назначение: в первом указывается вид выполняемой операции, следующие два байта используются для указания двухбайтового адреса команды (при выполнении безусловных, условных переходов, обращении к подпрограммам), или адреса ячейки оперативной памяти, содержимое которого является операндом, или двухбайтового операнда. Во всех случаях байт В2 является младшим, байт В3 - старшим.
Рассмотрим способы адресации, используемые в командах МПС КР580ВМ80А. Для того чтобы могла быть выполнена определенная операция, в команде, кроме вида операции, должно содержаться указание, откуда берутся участвующие в операции числа и куда помещается результат выполненной операции (иначе говоря, указание об источниках и приемнике операндов). Под способами адресации понимают способы, используемые для указания источников и приемников операндов.
В микропроцессоре КР580ВМ80 используются следующие способы адресации.
Прямая адресация. При этом способе адресом операнда является указанный в команде (в байте кода операции) адрес регистра микропроцессора.
Покажем некоторые примеры команд с прямой адресацией:
STA2530H; (A)
ПАМ
Здесь содержимое аккумулятора заносится в ячейку памяти с адресом 2530Н (адрес указан в 16-ричной системе счисления)
LDA 1040H; (ПАМ) А
Содержимое ячейки памяти с адресом 1040Н загружается в аккумулятор. Для адресации к внутренним регистрам микропроцессора используется прямая регистровая адресация. Например,
MOV C, D; (D) С
Содержимое регистра D передается в регистр С.
Непосредственная адресация. При этом способе адресации операнды (один либо два) задаются непосредственно в команде вслед за байтом кода операции во втором либо втором и третьем байтах.
Ниже приведены примеры команд с непосредственной адресацией.
МVI B, 0101010 ; 0101010 В
Здесь число 0101010 (указано в двоичной системе счисления) заносится в регистр В.
LXID, 4001H, 01H E, 40H D
Команда LXI производит пересылку чисел, приведенных во втором и третьем байтах соответственно в младший и старший регистры пары регистров DE.
Косвенная адресация. При этом способе адресации в команде указывается пара регистров блока РОН (путем указания адреса одного из регистров этой пары), содержимое которой служит адресом, по которому в оперативной памяти находится операнд.
Примеры команд с косвенной адресацией:
LDAX B A
STAX B (A)
Здесь запись означает ячейку памяти, адресом которой служит содержимое пары регистров ВС.
По команде LDAX B аккумулятор загружается содержимым ячейки оперативной памяти, адресом которой служит содержимое пары регистров ВС.
По команде STAX B содержимое аккумулятора запоминается в ячейке, адресом которой служит содержимое пары регистров ВС.
Неявная адресация. При выполнении 1-байтных команд с неявной адресацией подразумевается, что операнд находится в определенном внутреннем регистре микропроцессора и его специально адресовать не нужно.
Во всех операциях преобразования данных подразумевается, что одним из операндов является содержимое аккумулятора. Неявная адресация применяется также в операциях типа инвертирование аккумулятора.
На рис 4. показан обмен адресами и данными между регистрами при различных видах адресации.
.
Рис. 4. Различные способы адресации в МП КР580ВМ80
При разработке программного обеспечения микропроцессорных систем широко используется машинно-ориентированный язык программирования - ассемблер, в котором используются мнемонические обозначения команд, отражающие их функции, и символические имена переменных. Преобразование символических наименований в двоичные коды машинного языка (объектную программу) возлагается на специальную программу, называемую ассемблирующей программой или ассемблером. Программа-ассемблер действует как «сборщик», объединяя элементы программы в конкретные машинные команды.
Длина символических наименований, состоящая из букв и цифр, ограничена 5-6 символами, первый из которых должен быть буквой. Буква I в конце мнемоники кода говорит о непосредственной адресации. Буква X в конце мнемоники обозначает косвенную адресацию. Отсутствие этих букв говорит о прямой адресации. Числовые данные в языке ассемблера допускается представлять в двоичной, восьмеричной, десятичной и шестнадцатеричной системах счисления.
Ассемблерные программы записываются в виде последовательности команд, называемых также операторами или предложениями ассемблера; для каждой команды отводится одна строка. Важнейшей особенностью языка ассемблера является то, что каждый его оператор порождает одну машинную команду.
