Реферат: Контроллеры семейства МК51
Память программ (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 |
К-во Просмотров: 311
Бесплатно скачать Реферат: Контроллеры семейства МК51
|