Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Структурная схема МК SAB 80C515




Лабораторная работа №1 (ЛР1) «Изучение программно-аппаратного комплекса поддержки разработки микроконтроллерных систем на базе МК SAB80C515 и знакомство с системой команд МК семейства MCS51 на примере выполнения простейших программ»

Цель работы: приобретение навыков написания программ на языке ассемблера с системой команд МК SAB 80С515, а также изучение и использование возможностей программной среды Shell51 при отладке программ.

Структурная схема МК SAB 80C515

Структурная схема МК SAB 80C515 приведена на рисунке.

Основные характеристики 8-битного МК SAB 80C515 следующие:

- 8-разрядное АЛУ и схемы аппаратной реализации умножения и деления;

- внутреннее ПЗУ (IROM) программ и констант объемом 8 Кбайт;

- возможность расширения ПЗУ за счет подключения внешних микросхем памяти до 64 Кбайт;

- внутреннее ОЗУ (IRAM) данных объемом 256 байт;

- возможность подключения внешнего ОЗУ объемом до 64 Кбайт;

- шесть программируемых портов ввода-вывода (P1 - P5);

- восьмивходовой порт ввода аналоговых сигналов (P6);

- полный дуплексный последовательный порт SP с фиксированной и переменной скоростью обмена;

- три программируемых 16-битных таймера/счетчика;

- 4-канальный блок быстрого ввода-вывода внешних событий, обладающий дополнительными возможностями формирования ШИМ-сигналов;

- 8-канальный аналого-цифровой преобразователь со встроенным блоком программируемых эталонных напряжений;

- сторожевой таймер (WDT);

- два режима пониженного энергопотребления: режим холостого хода и режим микропотребления;

- 4-уровневая система прерываний от 12 источников прерываний;

- внутренний стек глубиной 256 байт.

CPU МК 80С515 представляет собой 8-разрядный микропроцессор с фиксированными разрядностью и списком команд. Взаимодействие отдельных блоков как внутри CPU, так и с различными внутренними периферийными устройствами МК осуществляется по 8-разрядной шине данных. Связь МК с внешними устройствами, например при расширении системы за счет подключения внешней памяти и дополнительных устройств ввода-вывода, осуществляется с помощью мультиплексируемой шины адрес/данные, для организации которой используются линии порта P0 (младший байт адреса и данные) и порта P2 (старший байт адреса).

Арифметико-логический блок предназначен для выполнения арифметических и поразрядных логических операций, а также операций с отдельными битами.

В состав блока АЛУ входят: собственно АЛУ, регистр результата (аккумулятор) АСС, регистр временного хранения операндов БР1 и БР2, дополнительный регистр В, регистр признаков результата (регистр слова состояния) PSW и ПЗУ констант.

Регистры АСС, В и PSW размещаются в блоке регистров специальных функций SFR и являются программно доступными.

Регистры временного хранения БР1 и БР2, предназначенные для запоминания операндов на время выполнения операции в АЛУ является программно недоступными.

8-разрядное АЛУ реализовано на базе комбинационного сумматора с последовательным переносом.

8-разрядный регистр В используется в качестве регистра-расширителя аккумулятора при выполнении операций умножения и деления. В других командах регистр В может использоваться как дополнительный регистр блока РОН.

ПЗУ констант содержит коды масок битовых операций и, кроме того, с его помощью обеспечивается выработка корректирующего кода для двоично-десятичного представления результата сложения двоично-десятичных чисел.

При выполнении арифметических и логических команд на выходе АЛУ формируются четыре признака (флага), отражающего значение результата выполненной операции: флаг переноса С, флаг межтетрадного переноса АС, флаг переполнения OV и флаг паритета Р (см. рис.)

Формат регистра PSW.

               
C AC F0 RS1 RS0 OV F1 P

Флаги C (Carry) и OV (Overflow) используются для выявления признаков переполнения разрядной сетки при выполнении арифметических операций с беззнаковыми и знаковыми числами соответственно.

Флаг С выполняет функции флага переноса в арифметических командах с числами без знака и функции "булевого аккумулятор" в командах работы с битами. Устанавливается и сбрасывается аппаратно. Система команд МК предусматривает возможность программного доступа к флагу С.

Флаг межтетрадного переноса АС фиксирует межтетрадный перенос при выполнении команд сложения и вычитания. Устанавливается и сбрасывается аппаратно.

С помощью флага переполнения OV контролируется правильность выполнения арифметических операций со знаковыми числами. Флаг OV устанавливается аппаратно, указывая на ошибку выполнения арифметической операции, если результат сложения/вычитания не укладывается в семи битах и старший бит результата не может интерпретироваться как знаковый.

При делении флаг OV аппаратно сбрасывается, а в случае деления на 0 - устанавливается. При умножении флаг OV аппаратно устанавливается, если результат превышает значения 255.

Использование флагов С и OV определяет пользователь.

Флаг паритета Р, устанавливаемый/сбрасываемый аппаратно, предназначен для указания нечетного/четного количества единичных разрядов аккумулятора. В 9-разрядном слове, состоящем из восьми разрядов аккумулятора и бита Р, всегда содержится четное число единичных битов.

Кроме флаговых бит результата, регистр PSW содержит два флага состояния F0 и F1, определяемых (программируемых) пользователем, и два бита указателя RS1 и RS0, используемых в качестве программируемого указателя рабочего банка регистров общего назначения. Код, определяемый битами RS1 и RS0, однозначно определяет номер рабочего (используемого) банка РОН: 00 - банк 0, 01 - банк 1, 10 - банк 2, 11 - банк 3.

В отличие от большинства стандартных МП, CPU МК SAB80C515 содержит в своем составе четыре банка рабочих регистров по восемь регистров общего назначения (R0 - R7) в каждом. Банки регистров размещаются в блоке регистров специального назначения. Для указания адреса регистров R0 - R7 блока РОН допускается использовать как прямую адресацию, так и прямую регистровую. Команды с прямой регистровой адресацией R0 - R7 всегда короче команд с прямой адресацией. Наличие четырех банков РОН обеспечивает быстрое переключение контекста программ при использовании ограниченного числа подпрограмм или обработчиков прерываний. По умолчанию после инициализации АЛУ взаимодействует с банком 0.

К программно доступным регистрам, поддерживающим работу CPU, относятся еще три регистра блока специальных функций: 16-разрядный счетчик команд PC, 8-разрядный указатель стека SP и 16-разрядный регистр-указатель данных DPTR.

16-разрядный счетчик команд PC предназначен для формирования текущего адреса программной памяти (внутренней и внешней). После чтения (выборки) очередного байта команды из программной памяти содержимое PC инкрементируется на 1.

С помощью 16-разрядного указателя данных DPTR обеспечивается косвенная адресация операндов при обращении к ячейкам внешней памяти данных и считывание констант из программной памяти. Механизм обращения к внешней памяти программ и внешней памяти данных рассматривается ниже.

8-разрядные регистры SFR DPL и DPH программно доступны. При отсутствии необходимости обращения к внешней памяти они могут использоваться как два отдельных регистра РОН.

В МК SAB 80C515 используется стек, моделируемый во внутренней памяти данных IRAM. 8-битный указатель стека SP, в качестве которого используется регистр блока SFR, может адресовать любую область ОЗУ. Глубина стека лимитируется только объемом IRAM и не может превышать 256 байт. Однако в реальных системах фактическая глубина стека определяется непосредственно пользователем, который должен позаботится о том, чтобы стек не перекрывал другие области данных программы, так как при загрузке стека эти данные будут испорчены. При загрузке данных в стек сначала осуществляется инкремент SP, а затем выполняется собственно запись в стек. При чтении стека данные извлекаются из стека, а затем производится декремент SP.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...