Вход

Контроллеры семейства МК51

Реферат по программированию
Дата добавления: 23 января 2002
Язык реферата: Русский
Word, rtf, 691 кб (архив zip, 85 кб)
Реферат можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу




Однокристальные контроллеры семейства МК51


Однокристальные микроконтроллеры - отдельный класс микросистем. Полный набор их средств расположен на одном кристалле. Сюда кроме центрального процессора входят память, подсистема ввода-вывода, средства поддержки режима реального времени (РВ). Интеграция всех составных частей микро-ЭВМ на одном кристалле внесла ряд ограничений на принципы ее организации, потребовала новых решений в развитии ее архитектуры, не свойственных многокристальным компоновкам. В результате был получен новый класс микроконтроллеров (МК) с присущими только ему принципами построения архитектуры и структурной схемы.

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

МК51 имеет в своем составе: процессор, в состав которого входят 1-байтное АЛУ и схема аппаратурной реализации команд умножения и деления; стираемое ПЗУ программ емкостью 4 Кбайта, ОЗУ данных емкостью 128 байт; два 16-битных таймера/счетчика; программируемые схемы ввода/вывода (32 линии); блок двухуровневого векторного прерывания от пяти источников; асинхронный канал дуплексного последовательного ввода/вывода информации со скоростью до 375 кбит/с; генератор, схему синхронизации и управления.


Структурная организация и система команд МК51.

Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии и выпускается в корпусе БИС, имеющем 40 внешних выводов. Через четыре программируемых порта ввода/вывода МК51 взаимодействует со средой в стандарте ТТЛ-схем с тремя состояниями по выходу. В современном исполнении микроконтроллер может быть выполнен также в К-МОП исполнении


Назначение выводов.

GND - потенциал земли;

EA/VPP - отключение резидентной памяти программ/напряжение программирования (21В);

VCC - основное напряжение питания +5В;

ALE/PROG - строб адреса внешней памяти/для подачи уровня GND при программировании;

PSEN - разрешение внешней памяти программ;

RD - стробирующий сигнал при чтении из внешней памяти данных или устройства ввода/вывода;

WR - стробирующий сигнал при записи во внешнюю память данных или устройства ввода/вывода;

T0 - входной сигнал, опрашиваемый по командам условного перехода, так же используется при программировании;

Т1 - входной сигнал, опрашиваемый по командам условного перехода, используется в качестве входа внутреннего счетчика внешних событий;

INT0, INT1 - сигнал запроса прерывания;

RST/VPD - сигнал общего сброса/вход питания при пониженном энергопотреблении;

RXD и TXD - входы последовательного интерфейса;

XTAL1, XTAL2 - входы подключения кварцевого резонатора;

P0, P1, P2, P3 - квазидвунаправленные порты параллельного ввода-вывода (порт P3 несет дополнительные функции)


Арифметико-логическое устройство

8-битное АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции и, или, исключающее или, а так же операции сдвига, сброса, инвертирования и т.д. В АЛУ имеются программно недоступные регистры Т1 и Т2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков. Важной особенностью АЛУ является его способность оперировать не только байтами, но и битами. Отдельные программно доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях.


Резидентная память

Память программ и память данных, размещенные на кристалле МК51, физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют различные функции.

Память программ(РПП): имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра указателя данных. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.

Память данных (РПД): предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций.

Память программ, так же как и память данных, может быть расширена до 64 Кбайт путем подключения внешних БИС.

В МК51 предусмотрены четыре банка по восемь рабочих регистров R0...R7; банк выбирается полем RS в слове состояния программы. Они выполняют общецелевые функции по промежуточному хранению данных. По аналогии с МК48 R0 и R1 каждого банка реализуют также функцию 8-разрядных указателей данных. С помощью набора рабочих регистров существенно уменьшается длительность переключения контекстов ЦП, что очень важно для микроконтроллеров реального времени. В МС51 отсутствует ограничения, накладываемые на процедуры обслуживания прерываний, свойственные МК48.

Память программ (64 Кбайт) - однородная линейная область, реализуемая как внутренними, так и внешними средствами. Для совместимости с МК48 предусмотрен ряд команд, которые позволяют рассматривать память в виде набора 2-Кбайтных банков. Подобно архитектуре МК48 все банки рабочих регистров, а также системный стек располагаются во внутренней памяти данных. Определены два способа адресации памяти: прямой (direct) и косвенный (@Ri, где i=0...1). С помощью прямой адресации доступна только младшая адресного пространства внутренней памяти данных (128 байт), тогда как косвенная обеспечивает доступ к любой ее ячейки из диапазона 256 байт. Введение прямой адресации расширило возможности однокристальных микроконтроллеров по обработки данных. В частности, появились средства доступа к рабочим регистрам и системному стеку, интерпретируемым как обычные ячейки памяти.



Микроконтроллер МК51 имеет развитую подсистему ввода-вывода и средства управления режимом реального времени. Для их управления в микроконтроллере предусмотрен ряд регистров, которые размещены в отдельно прямо адресуемом пространстве специальных регистров (128 байт). Сюда же включены и некоторые регистры ЦП. Пространство специальных регистров вместе с младшей частью адресного пространства внутренней памяти данных образуют прямо адресуемую область. При этом сначала размещается младшая половина пространства внутренней памяти данных, а затем пространство специальных регистров.


Блок регистров специальных функций

Символ

Наименование

Адрес

ACC

Аккумулятор

0E0H

B

Регистр-расширитель аккумулятора

0F0H

PSW

Слово состояния программы

0D0H

SP

Регистр-указатель стека

81H

DPRT

Регистр-указатель данных (DPH)

83H


(DPL)

82H

P0

Порт 0

80H

P1

Порт 1

90H

P2

Порт 2

0A0H

P3

Порт 3

0B0H

IP

Регистр приоритетов

0B8H

IE

Регистр маски прерываний

0A8H

TMOD

Регистр режима таймера/счетчика

89H

TCON

Регистр управления/статуса таймера

88H

TH0

Таймер 0 (старший байт)

8CH

TL0

Таймер 0 (младший байт)

8AH

TH1

Таймер 1 (старший байт)

8DH

TL1

Таймер 1 (младший байт)

8BH

SCON

Регистр управления приемопередатчиком

98H

SBUF

Буфер приемопередатчика

99H

PCON

Регистр управления мощностью

87H


Формат слова состояния программы (PSW)

Символ

Позиция

Имя и значение

C

PSW.7

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

AC

PSW.6

Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратурными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в бите 3

F0

PSW.5

Флаг 0. Может быть установлен, сброшен или проверен программой как флаг специфицируемый пользователем

RS1

RS0

PSW.4

PSW.3

Выбор банка регистров. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций

OV

PSW.2

Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций

-

PSW.1

Не используется

P

PSW.0

Флаг паритета. Устанавливается и сбрасывается аппаратно в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе, т.е. выполняет контроль по четности (PSW.0)

Центральный процессор МК51 содержит специальную логику для выполнения ряда однобитных операций, в которых роль аккумулятора реализует флажок переноса СУ. Для хранения булевых данных в архитектуре МК51 предусмотрено отдельное прямо адресуемое пространство BSEG (256 бит), которое физически совмещено с прямо адресуемой частью внутренней памяти данных и областью специальных регистров. Hапример, аккумулятор A, доступный как элемент регистровой памяти, может быть прямо адресован и как элемент пространства специальных регистров (адрес 0E0h), и как область битов с адресами 0E0h...0E7h. При этом битовый адрес 0E0h относится к младшему разряду аккумулятора.

Размещенные в области специальных регистров четыре 8-разрядных псевдодвунаправленных порта ввода-вывода совмещены с битовым пространством, что обеспечивает доступ к отдельным их разрядам независимо друг от друга.


Последовательный интерфейс

В составе МК1 введен дуплексный периферийный связной адаптер, который может быть запрограммирован для работы в одном из четырех основных режимов:

0 синхронный последовательный ВВ со скоростью OSC/12;

1 асинхронный с 10-битовым кадром и переменной скоростью передачи;

2 асинхронный с 11-битовым кадром и фиксированной скоростью передачи

OSC/32 или OSC/64;

3 асинхронный с 11-битовым кадром и переменной скоростью передачи.

Через универсальный асинхронный приемопередатчик (УАПП) осуществляется прием, передача информации, представленной последовательным кодом, в полном дуплексном режиме обмена. В состав УАПП входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.

Управление режимом работы УАПП осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и TB8) и биты прерывания приемопередатчика (RI и TI).


Таймер/счетчик

Два программируемых 16-битных таймера/счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (Т0, Т1) вывод МК51. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считаемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла.


Регистр режима работы таймера/счетчика (TMOD)

Символ

Позиция

Имя и значение

GATE

TMOD.7 для T/C1

TMOD.3 для T/C0

Управление блокировкой.

C/T

TMOD.6 для T/C1

TMOD.2 для T/C0

Бит выбора режима таймера или счетчика событий.

M1

TMOD.5 для T/C1

TMOD.1 для T/C0

Биты выбора режима работы

M0

TMOD.4 для T/C1

TMOD.0 для T/C0



Структурная схема работы T/C0 (T/C1)



Система прерываний

Внешние прерывания INT0 и INT1 могут быть вызваны либо уровнем, либо перепадом сигнала из 1 в 0 на входах МК51 в зависимости от значений управляющих бит IT0 и IT1 в регистре TCON.

Прерывания могут быть вызваны или отменены программой, так как все рассмотренные выше флаги прерываний программно-доступны и могут быть установлены/сброшены программой с тем же результатом, как если бы они были установлены/сброшены аппаратурными средствами.

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

© Рефератбанк, 2002 - 2017