- •Разработка и отладка программного обеспечения
- •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 к текущему содержимому регистра. По команде ПРИРАЩЕНИЕ ОТРИЦАТЕЛЬНОЕ из текущего содержимого регистра вычитается 1. эти команды используются в ситуациях, когда необходимо подсчитывать число каких то событий, т.е. когда регистр следит за тем, сколько раз была выполнена определенная операция.
Команды ПРИРАЩЕНИЕ ПОЛОЖИТЕЛЬНОЕ и ПРИРАЩЕНИЕ ОТРИЦАТЕЛЬНОЕ это однобайтовые команды, на выполнение которых затрачивается 1 машинный цикл. Результаты выполнения этих команд не сказываются на значении разряда переноса регистра состояния.
Приращение положительное регистра
INR r (r)+1r
ПАМЯТЬ
-
INR r
По этой команде двоичная 1 прибавляется к содержимому указанного в команде регистра.
Отрицательное приращение регистра
DCR r (r)-1r
ПАМЯТЬ
-
DCR r
При выполнении этой команды двоичная 1 вычитается из содержимого указанного в команде регистра.
Приращение положительное регистровой пары
INX rp (rp)+1rp
ПАМЯТЬ
-
INX rp
Где rp – регистровые пары B,D,H.
Приращение отрицательное регистровой пары
DCX rp (rp)-1rp
ПАМЯТЬ
-
DCX rp
Вопросы для самоконтроля
Определите содержимое аккумулятора после выполнения команды ADD L:
Определить содержимое аккомулятора после выполнения команды ADD M, состояние флагов C и Z, а также содержимое регистровой пары HL:
3 . Определите содержимое аккумулятора и флагов C и Z после выполнения команды вычитание SUI , данные:
4. Определите состояние аккумулятора и значение флагов S,C,Z после выполнения команды сравнение CMP B:
5. Каково состояние аккумулятора и флагов C и Z после выполнения операции декрементирования DCR A:
6. Определите состояние пары регистров HL и регистра признаков после выполнения операции инкрементирования:
7. Какая команда инкрементирования не влияет на регистр признаков.
8. Какой специальный код (обратный или дополнительный) используется в микропроцессорах при выполнении команд вычитания.
9. Инкрементировать – значит (прибавить 1, вычесть 1) из содержимого регистра.
Логические команды
Логические команды позволяют осуществлять обработку данных, находящихся в аккумуляторе микропроцессора КР 580ВМ80. Это команды «И», «ИЛИ», «ИСКЛЮЧАЮЩЕЕ ИЛИ», «ИНВЕРСИЯ».
Все логические операции являются побитовыми. Можно считать, что для обработки битов каждого разряда используется одна двухвходовая логическая схема. На один из ее входов подается значение бита аккумулятора, а на другой - значение соответствующего бита слова, расположенного в памяти или регистре общего назначения. В МП КР580ВМ80 предусмотрено 8 таких двухвходовых схем, по одной для каждого разряда слова микропроцессора.
Логические операции выполняются всегда над содержимым аккумулятора и каким-то другим словом из регистра или из памяти. По окончании логической операции результат загружается в аккумулятор. Если результат равен нулю ил если его старший разряд равен единице, то производится установка в «1» соответствующего бита регистра состояния. Значение бита переноса от результата выполнения логических команд не зависит.
Команда «И».
а) «И» над регистром и аккумулятором.
ANA r.
Комментарий: (А)
(r)
A.
Под r здесь понимается
регистр общего назначения B,
C, D, E,
H или L. По
команде происходит побитовое логическое
умножение содержимого аккумулятора и
регистра и результат записывается в
аккумулятор.
ПАМЯТЬ
ANA r
Это однобайтная команда, она выполняется за один машинный цикл.
б) «И» над содержимым ячейки памяти и аккумулятором.
ANA M. Комментарий: (А) (M) A. По команде происходит побитовое логическое умножение содержимого аккумулятора и ячейки памяти, адрес которой должен быть предварительно записан в регистровую Н-пару. Результат операции записывается в аккумулятор.
ПАМЯТЬ
ANA M
Это однобайтная команда, она выполняется за два машинных цикла.
в) «И» над непосредственными данными и аккумулятором.
ANI, ДАННЫЕ. Комментарий: (А) <B2> A. Здесь B2- второй байт команды, содержащий данные. По команде происходит побитовое логическое умножение содержимого аккумулятора и непосредственных данных. Результат операции записывается в аккумулятор.
ПАМЯТЬ
ANI
ДАННЫЕ
Это двухбайтная команда, она выполняется за два машинных цикла.
Команда «ИЛИ».
а) «ИЛИ» над регистром и аккумулятором.
ORA r.
Комментарий: (А)
(r)
A.
Под r здесь понимается
регистр общего назначения B,
C, D, E,
H или L. По
команде происходит побитовое логическое
сложение содержимого аккумулятора и
регистра и результат записывается в
аккумулятор.
ПАМЯТЬ
ORA r
Это однобайтная команда, она выполняется за один машинный цикл.
б) «ИЛИ» над содержимым ячейки памяти и аккумулятором.
ORA M. Комментарий: (А) (M) A. По команде происходит побитовое логическое сложение содержимого аккумулятора и ячейки памяти, адрес которой должен быть предварительно записан в регистровую Н-пару. Результат операции записывается в аккумулятор.
ПАМЯТЬ
ORA M
Это однобайтная команда, она выполняется за два машинных цикла.
в) «ИЛИ» над непосредственными данными и аккумулятором.
ORI, ДАННЫЕ. Комментарий: (А) <B2> A. Здесь B2- второй байт команды, содержащий данные. По команде происходит побитовое логическое сложение содержимого аккумулятора и непосредственных данных. Результат операции записывается в аккумулятор.
ПАМЯТЬ
ORI
ДАННЫЕ
Это двухбайтная команда, она выполняется за два машинных цикла.
Команда «ИСКЛЮЧАЮЩЕЕ ИЛИ».
а) «ИСКЛЮЧАЮЩЕЕ ИЛИ» над регистром и аккумулятором.
ХRA r.
Комментарий: (А)
(r)
A.
Под r здесь понимается
регистр общего назначения B,
C, D, E,
H или L. По
команде происходит побитовое логическое
сложение по модулю 2 содержимого
аккумулятора и регистра и результат
записывается в аккумулятор.
ПАМЯТЬ
ХRA r
Это однобайтная команда, она выполняется за один машинный цикл.
б) «ИСКЛЮЧАЮЩЕЕ ИЛИ» над содержимым ячейки памяти и аккумулятором.
ХRA M. Комментарий: (А) (M) A. По команде происходит побитовое логическое сложение по модулю 2 содержимого аккумулятора и ячейки памяти, адрес которой должен быть предварительно записан в регистровую Н-пару. Результат операции записывается в аккумулятор.
ПАМЯТЬ
ХRA M
Это однобайтная команда, она выполняется за два машинных цикла.
в) «ИСКЛЮЧАЮЩЕЕ ИЛИ» над непосредственными данными и аккумулятором.
ХRI, ДАННЫЕ. Комментарий: (А) <B2> A. Здесь B2- второй байт команды, содержащий данные. По команде происходит побитовое логическое сложение по модулю 2 содержимого аккумулятора и непосредственных данных. Результат операции записывается в аккумулятор.
ПАМЯТЬ
ХRI
ДАННЫЕ
Это двухбайтная команда, она выполняется за два машинных цикла.
Инверсия аккумулятора.
CMA. Комментарий:
A. По
команде происходит инверсия всех битов
аккумулятора. Результат операции
записывается в аккумулятор.
ПАМЯТЬ
CMA
Это однобайтная команда, она выполняется за один машинный цикл.
Команды cравнения
а) Сравнение регистра с аккумулятором.
CMP r. Комментарий: (А)-(r). Под r здесь понимается регистр общего назначения B, C, D, E, H или L. По команде происходит вычитание содержимого регистра из содержимого аккумулятора. Отличительная особенность этой команды - результат вычитания никуда не записывается, и, таким образом, содержимое аккумулятора не теряется. Однако триггеры знака, нуля и переноса в регистре признаков устанавливаются в состояние, соответствующее результату вычитания и по ним можно осуществлять условные переходы.
ПАМЯТЬ
CMP r
Это однобайтная команда, она выполняется за один машинный цикл.
б) Сравнение содержимого ячейки памяти и аккумулятора.
CMP M. Комментарий: (А)-(M). По команде происходит вычитание содержимого ячейки памяти, адрес которой должен быть предварительно записан в регистровую Н-пару из содержимого аккумулятора. Результат операции никуда не записывается. Триггеры знака, нуля и переноса в регистре признаков устанавливаются.
ПАМЯТЬ
CMP M
Это однобайтная команда, она выполняется за два машинных цикла.
в) Сравнение непосредственных данных и аккумулятора.
CPI, ДАННЫЕ. Комментарий: (А)-<B2>. Здесь B2- второй байт команды, содержащий данные. По команде происходит вычитание данных из содержимого аккумулятора. Результат операции никуда не записывается. Триггеры знака, нуля и переноса в регистре признаков устанавливаются.
ПАМЯТЬ
CPI
ДАННЫЕ
Это двухбайтная команда, она выполняется за два машинных цикла.
Команды сдвига.
Эти команды можно осуществить только над содержимым аккумулятора. Результат также записывается в аккумулятор. В командах участвует триггер переноса регистра признаков.
Циклический сдвиг влево.
RLC. При выполнении этой команды значение каждого разряда аккумулятора переписывается в соседний старший разряд - значение нулевого разряда в первый, первого - во второй и т.д. Значение седьмого, старшего разряда записывается в нулевой, и, кроме того, в триггер переноса регистра признаков.
ПАМЯТЬ
RLC
Это однобайтная команда, она выполняется за один машинный цикл.
Циклический сдвиг вправо.
RRC. При выполнении этой команды значение каждого разряда аккумулятора переписывается в соседний младший разряд - значение седьмого разряда в шестой, шестого - в пятый и т.д. Значение нулевого, младшего разряда записывается в седьмой, и, кроме того, в триггер переноса регистра признаков.
ПАМЯТЬ
RRC
Это однобайтная команда, она выполняется за один машинный цикл.
Циклический сдвиг влево через перенос.
RAL. При выполнении этой команды значение каждого разряда аккумулятора переписывается в соседний старший разряд - значение нулевого разряда в первый, первого - во второй и т.д. Значение седьмого, старшего разряда записывается в триггер переноса регистра признаков, а значение из этого триггера - в нулевой разряд.
ПАМЯТЬ
RAL
Это однобайтная команда, она выполняется за один машинный цикл.
Циклический сдвиг вправо через перенос.
RAR. При выполнении этой команды значение каждого разряда аккумулятора переписывается в соседний младший разряд - значение седьмого разряда в шестой, шестого - в пятый и т.д. Значение нулевого, младшего разряда записывается в триггер переноса регистра признаков, а значение из этого триггера - в седьмой разряд.
ПАМЯТЬ
RАR
Это однобайтная команда, она выполняется за один машинный цикл.
