Структура микроконтроллеров MCS-51 и функции выводов

На рис. 3.1 приведена внутренняя структура микроконтроллера 8051АН, исходная для семейства MCS-51. Она включает следующий набор функциональных модулей:

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

• внутренние память программ (4Кбайт) и ОЗУ данных (128 байт);

• четыре универсальных программируемых параллельных 8-разрядных порта ввода-вывода с возможностью реализации определенных альтерна­тивных функций;

• два 16-разрядных программируемых счетчика-таймера;

• дуплексный последовательный порт.

Этот набор аппаратных средств и совокупность реализуемых функций де­лают микроконтроллеры семейства 8051 эффективным средством сбора предобработки информации и управления объектами. Анализ внутренней структуры микроконтроллеров семейства MCS-51 приводит к выводу, что она имеет полузакрытый характер. Основания к этому следующие:

• набор функций ввода-вывода данных и функций обращения к внешней памяти программ превосходит возможности используемых корпусов по ко­личеству выводов. Причиной этого является значительная роль стоимости корпуса в общей стоимости БИС микроконтроллеров, а следствием - на­личие у выводов альтернативных функций и удорожание средств и собствен­но процесса отладки;

• объединение па кристалле процессора, памяти и блоков ввода-вывода с синхронными режимами работы, таких как таймеры и последовательный порт, приводит к нарушению состояния этих блоков при попытках чтения значений регистров и ячеек памяти процедурами отладки. Переполнение регистров данных этих блоков приводит к установке соответствующих фла­гов прерываний и может привести к непредусмотренному прерыванию ра­бочей программы. В наибольшей степени это касается первых микроконт­роллеров семейства, которые были созданы с использованием схемотехники динамических элементов. После подачи напряжения питания эти микрокон­троллеры невозможно остановить. Внешний вид микросхемы 8051АН, име­ющей отечественный аналог К1816ВЕ51, представлен на рис. 3.2. Функции выводов микросхемы 8051 АН следующие.

Port 0. Двунаправленный 8-разрядный параллельный порт ввода-вывода возможностью установки в высокоимпедансное состояние. При работе качестве выходов каждая линия обеспечивает нагрузочную способность равную 8 входам маломощной серии LS TTL. При обращении микроконт­роллера к внешней памяти программ или данных порт работает в режиме мультиплексирования младшего байта адреса и 8-разрядной шины данных. При записи в разряд регистра порта Р0 логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа. Для работы в режиме порта ввода-вывода необходимо внешнее подтягивание каждой ли­нии порта к уровню логической «1».

Port 1. Двунаправленный 8-разрядный параллельный порт ввода-вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную способность, равную 4 входам маломощной серии LS TTL. При записи и разряд регистра порта Р1 логической «1» соответствующая линия порта переходит в режим высокоимпедансного входа со слабым подтягиванием сигнала к уровню логической «1».

Рис. 3.1 - Структура микроконтроллера 8051АН

Рис. 3.2 - Микросхема 8051АН и функции выводов

Port 2. Двунаправленный 8-разрядный параллельный порт ввода-вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную способность, равную 4 входам маломощной серии LS TTL. При записи в разряд регистра порта Р2 логической «1» соответствующая линия порта пе­реходит в режим высокоимпедансного входа со слабым подтягиванием сиг­нала к уровню логической «1». При обращении микроконтроллера к внешней памяти программ или данных с использованием 16-разрядного адреса (команды MOVX@DPTR) через порт Р2 выдается старший байт адреса. При обращении микроконтроллера к внешней памяти данных с использованием 8-разрядного адреса (команды MOVX@Ri) на выводы порта Р2 выдается содержимое регистра специальных функций Р2.

Port 3. Двунаправленный 8-разрядный параллельный порт ввода-вывода. При работе в качестве выходов каждая линия обеспечивает нагрузочную способность, равную 4 входам маломощной серии LS TTL. При записи в разряд регистра порта РЗ логической «1» соответствующая линия порта пе­реходит в режим высокоимпедансного входа со слабым подтягиванием сиг­нала к уровню логической «1». Выводы порта РЗ могут выполнять альтернативные функции, как показано ниже.

Вывод Альтернативная функция

Р3.0. RxD - вход приемника последовательного порта

Р3.1. TxD - выход передатчика последовательного порта

Р3.2. INT0 - вход внешнего прерывания 0

Р3.3. INT1 - вход внешнего прерывания 1

Р3.4. Т0 - внешний вход таймера/счетчика 0

Р3.3. Т1 - внешний вход таймера/счетчика 1

Р3.6. WR# - сигнал разрешения записи во внешнюю память данных

Р3.7. RD# - сигнал разрешения чтения из внешней памяти данных

RST. Вход инициализации (сброса). Высокий уровень на этом входе в течении двух машинных тактов запускает процесс инициализации микроконтроллера.

ALE. Активное значение сигнала на этом выходе разрешает фиксацию млад­шего байта адреса при обращениях к внешней памяти. У микроконтролле­ров типа 8751 с внутренней памятью программ это вывод имеет альтернативную функцию PROG#. При программировании внутренней памяти на него подается стробирующий сигнал.

PSEN#. Активное значение сигнала на этом выходе разрешает чтение из внешней памяти программ.

ЕА#. Сигнал на этом входе переключает источник кода при обращении к младшим 4 Кбайтам памяти программ. При ЕА=0 и диапазоне адресов 0000h..FFFFh микроконтроллер 8051 выполняет цикл обращения к внеш­ней памяти программ, при ЕА=1 обращение по одному из этих адресов при­водит к чтению кода из внутренней памяти. У микроконтроллеров типа 8751 с внутренней памятью программ это вывод имеет альтернативную функцию Vpp. При программировании внутренней памяти на него подается напря­жение программирования.

XTAL1. Вход инвертирующего усилителя для синхрогенератора.

XTAL2. Выход инвертирующего усилителя для синхрогенератора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: