Соколов Ю.П. Микроконтроллеры семейства MCS-51 (2002) (1095895), страница 10
Текст из файла (страница 10)
В операциях сложения и вычитания первым операндом и приемником результата служит аккумулятор. Для определения второго операнда используется прямая регистровая, прямая абсолютная, непосредственная икосвенная адресации. Операции INC и DEC применимы к аккумулятору,прямо адресуемому регистру, прямо или косвенно адресуемой ячейкепамяти. Кроме того, операция INC применима к содержимому 16разрядного регистра указателя DPTR.В операциях целочисленного умножения и деления без знака участвуют аккумулятор и регистр B. При умножении 8-разрядное значениеA умножается на 8-разрядное значение B, а 16-разрядный результатзаписывается в пару BA. При этом регистр B хранит старшую частьпроизведения.
Флажок OV устанавливается, если произведение больше 255. При делении 8-разрядного значения A на 8-разрядное значениеB частное записывается в A, а остаток в B. При попытке деления на 0устанавливается флаг переполнения OV.Команда десятичной коррекции аккумулятора DA размещаетсяпосле команды сложения. Слагаемые необходимо представить в BCDкоде.
Коррекция выполняется стандартным способом.Группа команд логических операций (таблица П2.3) содержиттри типовые операции: ANL – логическое И, ORL – логическое ИЛИ,XRL – логическое исключающее ИЛИ. Источником первого операнда44служит либо аккумулятор A, либо прямо адресуемая ячейка памяти.Второй операнд задается одним из четырех основных методов адресации. В состав группы входят также одноместные операции над содержимым аккумулятора: CLR - очистки, CPL – инверсии, а также RL, RLC,RR и RRC – операции циклического и расширенного сдвигов вправо ивлево. Сюда же включена операция обмена тетрад в аккумулятореSWAP,которая может интерпретироваться как циклический сдвиг байтана четыре разряда.Группа команд операций с битами (таблица П2.4) содержит команды SETB – установки бита в 1, CLR – сброса бита в 0, CPL – инверсии бита, ANL и ORL – логическое И и логическое ИЛИ содержимогофлага C и прямо адресуемого бита, MOV – пересылка бита.В битовых операциях флаг C исполняет роль булевого аккумулятора.
В качестве операндов используется содержимое флага C или прямо адресуемого бита bit области BSEG. В операциях ANL и ORL можноиспользовать содержимое прямо адресуемого бита (bit) или инверсиюсодержимого (/bit).В эту группу входят также команды условного перехода с относительным 8-разрядным смещением rel. Условный переход может бытьосуществлен как при установленном (команда JB), так и при сброшенном (команда JNB) бите. Особо следует отметить команду JBC, котораяпри установленном бите реализует ветвление и одновременно с этимсбрасывает бит в 0.Группа команд передачи управления (таблицы П2.5 и П2.6) содержит команды безусловного перехода AJMP, LJMP, SJMP, JMP, условного перехода JZ, JNZ, CJNE, вызова ACALL, LCALL, возврата RET,RETI и модификации с условным переходом DJNZ.
Сюда же включенапустая команда NOP.В командах передачи управления широко применяется относительная адресация, позволяющая создавать перемещаемые программные модули. В качестве относительного адреса выступает 8-разрядноесмещение rel – байт со знаком, обеспечивающее переход на (–128…+127) байт относительно текущего положения PC. Для перехода в любую другую точку 64 Кбайтового адресного пространства может бытьиспользован либо прямой addr16, либо косвенный @A+DPTR адрес. Впоследнем случае содержимое A интерпретируется как целое без знака.
Вариант короткой прямой адресации addr11 внутри 2 Кбайтовой текущей страницы введен для совместимости с семейством MCS-48.Все эти типы адресации применяются в командах перехода. В командах вызова используются только прямой addr16 и внутристраничный addr11 способы адресации. Во всех условных командах используется только относительная адресация.Когда микроконтроллер опознает запрос на прерывание, он генерирует команду LCALL addr16, что автоматически обеспечивает запоминание адреса возврата в стеке. Информация о состоянии программы(содержимое регистра PSW) автоматически не сохраняется. При этом45логика прерываний запоминает уровень приоритета обслуживаемогопрерывания.
При выполнении команды RET уровень приоритета сохраняется и следующим может быть обслужено только прерывание с более высоким уровнем приоритета. Команда RETI отличается от команды RET тем, что она сбрасывает уровень приоритета, что позволяетобслуживать запросы на прерывания с низким уровнем приоритета.К типовым условным операциям относятся команды JZ и JNZ, JCи JNC. Две последних включены в группу «булевых». В команде CJNEсначала сравниваются, по правилам вычитания целых чисел, два байтаи в соответствии с результатом сравнения устанавливается флаг C. Затем, в случае их несовпадения, выполняется ветвление.В команде DJNZ в качестве счетчика может использоваться нетолько один из регистров текущего регистрового банка Rn, n=0...7, но ипрямо адресуемая ячейка памяти данных DSEG. При исполнении команды сначала выполняется декремент счетчика и, если содержимоесчетчика не равно нулю, ветвление.3. Проектирование микропроцессорных системТехнология проектирования МПС на основе микроконтроллеровполностью соответствует концепции неразрывности процесса проектирования и отладки аппаратной и программной составляющих, принятойв микропроцессорной технике.
Важной особенностью применения микроконтроллеров является работа в реальном масштабе времени, т.е.гарантированная реакция на внешние события в течение определенного интервала времени. Очевидно, что решение задачи совместной отладки аппаратной и программной составляющих в реальном масштабевремени при произвольной структуре и схемотехнике микропроцессорной системы является весьма сложной, дорогостоящей и долговременной работой.3.1. Этапы проектированияОсобенностью МПС является то, что сами они встраиваются (интегрируются) в некоторый объект.
Это предполагает, что перед разработчиком МПС такого рода стоят задачи полного цикла проектирования,начиная от разработки алгоритма функционирования и заканчивая комплексными испытаниями в составе изделия, а возможно, и сопровождением при производстве. Основные этапы проектирования МПС отображены на рис.
28 [1,4].Технические требования начинают цикл проектирования МПС.Возможность программирования микропроцессорной системы стимулирует заказчика возложить на нее выполнение максимального числафункций. Критерием выбора должна служить экономическая целесообразность любого увеличения объема аппаратных средств, что определяется в результате исследования рынка приборов данного типа, имаксимальное улучшение показателя цена/функциональные возможно-46сти. На этом этапе явно или неявно формулируются требования к типуиспользуемого микропроцессора или микроконтроллера.Этап разработки алгоритма является наиболее ответственным,поскольку ошибки этого этапа обнаруживаются при испытании законченного изделия и приводят к дорогостоящей переработке всей МПС.Прорабатывается несколько вариантов алгоритма, обеспечивающихвыполнение технических требований с использованием наработанныхранее функционально-топологических модулей.
Основные вариантыотличаются соотношением объема программного обеспечения и аппаТехнические требования к микропроцессорной системеКоррекцияалгоритмауправленияРазработка алгоритмаРазработка структуры аппаратных ипрограммных средствКоррекцияисходноготекстаБиблиотекафункциональнотопологическихмодулейРазработка программы(исходный текст)Разработка аппаратуры(принципиальные схемы,топология плат)Трансляция программыМонтаж макетаОтладка программына моделиАвтономная отладкааппаратурыСовместная отладка программных и аппаратныхсредств системы в реальном масштабе времениИнтеграция микропроцессорной системы в изделиеИспытание изделияМикропроцессорная система, соответствующая техническим требованиямРис.
28Коррекциясхем итопологии47ратуры. Критерием выбора является реализация максимального числафункций программным способом при наименьших аппаратных затратах, обеспечивающая заданные показатели быстродействия и надежности в полном диапазоне эксплуатационных воздействий. Часто определяющим требованием является возможность размещения кода программы во внутренней памяти микроконтроллера, что позволяет обеспечить его защиту от несанкционированного доступа.