Гл3_06 (1031649), страница 4
Текст из файла (страница 4)
Они, как и описанныеранее модификации могут использовать до 64 Кбайт внешней памяти программ и эффективно использоваться в системах, требующих существенно большего по объему (чем 4Кбайт на кристалле) ПЗУ памяти программ.Каждый МК семейства содержит резидентную память данных емкостью 128 байт свозможностью расширения общего объема оперативной памяти данных до 64 Кбайт засчет использования внешних ИС ОЗУ.МК содержат все узлы, необходимые для автономной работы:Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э.
Баумана, V_Ryabov@mail.ru1091) центральный восьмиразрядный процессор;2) память программ объемом 4 Кбайт (только 8751 и 87С51);3) память данных объемом 128 байт;4) четыре восьмиразрядных программируемых порта ввода-вывода;5) два 16-битовых многорежимных таймера/счетчика;6) систему автовекторных прерываний с пятью векторами и двумя программно управляемыми уровнями приоритетов;7) последовательный интерфейс, включающий универсальный дуплексный приемопередатчик, способный функционировать в четырех режимах;8) тактовый генератор.Система команд МК содержит 111 базовых команд с форматом 1, 2, или 3 байта.Микроконтроллер имеет:- 32 регистра общего назначения РОН, организованных как четыре банка по восемьрегистров с именами R0… R7, выбор того или иного банка определяется программой путем установки соответствующих бит в регистре состояния программы PSW;- 128 программно-управляемых флагов (битовый процессор, см.
далее);- набор регистров специальных функций, управляющих элементами МК.Существуют следующие режимы работы микроконтроллера:1). Общий сброс. 2).Нормальное функционирование. 3).Режим пониженного энергопотребления и режим холостого хода. 4). Режим программирования резидентного РПЗУ, если оно есть.Мы здесь основное внимание уделим первым двум режимам работы, подробноеописание состава и работы МК во всех режимах приведено в приложении П1.РОН и зона битового процессора расположены в адресном пространстве резидентной ОЗУ с адресами от 0 до 80h.В верхней зоне адресов резидентной оперативной памяти расположены регистры специальных функций (SFR, Special Function Registers).
Их назначение приведено в табл. 3.2.Таблица 3.2.Обозначение* АСС*В* PSWSРDPTRDPLDPH* Р0* Р1* Р2* Р3* IР* IЕТМОD* TCONТН0ТL0ТН1ТL1* SCONSBUFPCONНаименованиеАккумуляторРегистр ВРегистр состояния программыУказатель стекаУказатель данных. 2 байта:Младший байтСтарший байтПорт 0Порт 1Порт 2Порт 3Регистр приоритетов прерыванийРегистр разрешения прерыванийРегистр режимов таймера/счетчикаРегистр управления таймера/счетчикаТаймер/счетчик 0.
Старший байтТаймер/счетчик 0. Младший байтТаймер/счетчик 1. Старший байтТаймер/счетчик 1. Младший байтУправление последовательным портомБуфер последовательного портаУправление потреблениемАдресЕ0НF0НD0Н81Н82Н83Н80Н90НА0НВ0НВ8НА8Н89Н88Н8СН8АН8DН8ВН98Н99Н87Н* — регистры, допускающие побитовую адресациюКратко рассмотрим функции регистров SFR, приведенных в таблице 3.2.Аккумулятор АCC - регистр аккумулятора. Команды, предназначенные для рабоРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru110ты с аккумулятором, используют мнемонику "А", например, MOV А, Р2.
Мнемоника"АСС' используется, к примеру, при побитовой адресации аккумулятора. Так, символическое имя пятого бита аккумулятора при использовании ассемблера А5М51 будет следующим: АСС. 5. .Регистр В. Используется во время операций умножения и деления. Для другихинструкций регистр В может рассматриваться как дополнительный сверхоперативныйрегистр.Регистр состояния программы PSW содержит информацию о состоянии программы и устанавливается частично автоматически по результату выполненной операции, частично пользователем.
Обозначение и назначение разрядов регистра приведенысоответственно в таблицах 3.3 и 3.4.Таблица 3.3.БитыОбозначение7CY6AC5F04RS13RS02OV1-0PТаблица 3.4.Биты7ОбозначениеCY6АС543--2F0RS1RS0RS1 RS000011011OV1--0PНазначение битовДоступ к битуФлаг переноса. Изменяется во время выполненияряда арифметических и логических инструкций.Флаг дополнительного переноса. Аппаратно устанавливается/сбрасывается во время выполненияинструкций сложения или вычитания для указанияпереноса или заема в бите 3 при образованиимладшего полубайта результата (D0-D3).Флаг 0. Флаг, определяемый пользователем.Указатель банка рабочих регистровУказатель банка рабочих регистровАппаратно илипрограммноАппаратно илипрограммноБанк 0 с адресами (00Н - 07Н)Банк 1 с адресами (08Н – 0FН)Банк 2 с адресами (10Н - 17Н)Банк 3 с адресами (18Н – 1FН)Флаг переполнения.
Аппаратно устанавливаетсяили сбрасывается во время выполнения арифметических инструкций для указания состояния переполненияРезервный. Содержит триггер, доступный по записи и чтению, который можно использоватьБит четности. Аппаратно сбрасывается или устанавливается в каждом цикле инструкций для указания четного или нечетного количества разрядов аккумулятора, находящихся в состоянии "1".ПрограммноПрограммноПрограммноАппаратно илипрограммноАппаратно илипрограммноУказатель стека SР - 8-битовый регистр, содержимое которого инкрементируется перед записью данных в стек при выполнении команд PUSH и CALL. При начальномсбросе указатель стека устанавливается в 07Н, а область стека в ОЗУ данных начинаетсяс адреса 08Н.
При необходимости путем переопределения указателя стека область стекаможет быть расположена в любом месте внутреннего ОЗУ данных микроконтроллеры.Указатель данных DPTR состоит из старшего байта (DPH) и младшего байта(DPL). Содержит 16-битовый адрес при обращении к внешней памяти. Может использоРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э.
Баумана, V_Ryabov@mail.ru111ваться как 16-битовый регистр или как два независимых восьмибитовых регистра.Порт0 - ПортЗ. Отдельными битами регистров специальных функций Р0, Р1, Р2,РЗ являются биты -"защелки" выводов портов Р0, Р1, Р2, РЗ.Буфер последовательного порта SBUF представляет собой два отдельных регистра: буфер передатчика и буфер приемника.
Когда данные записываются в SBUF, онипоступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника.Регистры таймера. Регистровые пары (ТН0, ТL0) и (ТН1, TL1) образуют 16битовые счетные регистры соответственно таймера/счетчика 0 и таймера/счетчика 1.Регистры управления. Регистры специальных функций IР, IЕ, ТМOD, ТСОN,SCON и РСОN содержат биты управления и биты состояния системы прерываний, таймеров/счетчиков и последовательного порта. Онибудут подробно рассмотрены далее.P1.0 MC P2.0МК при функционировании обеспечивает:P1.1P2.1- минимальное время выполнения команд сложения-1 мкс;P1.2P2.2- аппаратное умножение и деление с минимальным времеP1.3P2.3нем выполнения - 4 мкс.P1.4P2.4P1.5P2.5В МК предусмотрена возможность заданияP1.6P2.6частотывнутреннего генератора с помощью кварца,P1.7P2.7LС-цепочкиили внешнего генератора.VRRSTPMEРасширенная система команд обеспечиваетBQ2ALEPROGBQ1побайтовую и побитовую адресацию, двоичную иVPPEAдвоично-десятичную арифметику, индикацию переP0.0P3.0RxDполнения и определения четности/нечетности, возP0.1TxDP3.1можность реализации логического процессора.INT0P0.2P3.2Важнейшей и отличительной чертой архитекINT1P0.3P3.3T0P0.4P3.4туры семейства MCS51 является то, что АЛУ можетT1P0.5P3.5наряду с выполнением операций над 8-разряднымиWRP0.6P3.6типами данных манипулировать одноразряднымиRDP0.7P3.7данными.
Отдельные программно-доступные битыOBмогутбыть установлены, сброшены или замененыVccих дополнением, могут пересылаться, проверяться иРис.3.2. Внешние выводыиспользоваться в логических вычислениях. Тогдамикроконтроллеракак поддержка простых типов данных (при существующей тенденции к увеличению длины слова) может с первого взгляда показаться шагом назад, это качество делает микроконтроллеры семейства MCS51 особенно удобнымидля применений, в которых используются контроллеры.Алгоритмы работы последних по своей предполагают наличие входных и выходных булевых переменных,которые сложно реализовать при помощи стандартных микропроцессоров. Все эти свойства в целом называются булевым процессором семейства MCS51.