Микропроцессоры и микроконтроллеры

 
 
 
«Для меня долгое время было загадкой, как что-то очень дорогое и технологичное может быть столь бесполезным. И вскоре я осознал, что компьютер — это глупая машина, обладающая способностями выполнять невероятно умные вещи, тогда как программисты — это умные люди, у которых талант делать невероятные глупости. Короче, они нашли друг друга.»
Bill Bryson
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы программирования MSC-51 :: Структура и функциональные возможности МК51

Структура и функциональные возможности МК51

Предметом рассмотрения в данном материале является базовый однокристальный микроконтроллер К1816ВЕ51 (далее – МК51). В состав серии К1816/1830 входят несколько БИС, которые существенным образом отличаются по своим ресурсам и характеристикам, однако имеют общий перечень функционально-логических блоков.

Все БИС серии К1816/1830 определяются буквенным индексом ВЕ и номерами 31, 35, 48, 49, 51, 751.

В состав всех БИС входят:

процессор разрядностью 8 бит; генератор тактовых импульсов (ГТИ) [кстати про программы - на сайте freesoft24.ru всегда в наличии множество разнообразного софта, в том числе вы можете скачать fvcheat бесплатно];схемы управления и синхронизации; ПЗУ - так называемая резидентная память программ (РПП); ОЗУ - резидентная память данных (РПД); таймеры-счетчики; схемы ввода-вывода (параллельный и последовательный интерфейсы); блок обработки прерываний.

Любая из БИС требует питания напряжением +5 В 10% от источника мощностью P = 1,5 Вт, может использоваться в диапазоне температур от 0 до 70° С.

МК51 характеризуется тактовой частотой 12 МГц, имеет объем ОЗУ 128 байт, объем ППЗУ 4 Кбайт (в модели КМ1816ВЕ751 – РППЗУ) и является наиболее продвинутым в данной серии МК. БИС ВЕ48 и ВЕ51 (ВЕ751) можно использовать во время опытно–конструкторских работ, в системах отладки программного обеспечения, в единичном и мелкосерийном производстве, поскольку они имеют ПЗУ с возможностью перепрограммирования. БИС ВЕ49 содержит масочное ПЗУ и используется в крупных партиях изделий. МК без ПЗУ (модель 31) предназначены для применения в налаживаемых системах, которые имеют внешнее ПЗУ и средства загрузки программ с магнитных носителей информации (будут использованы в лабораторных работах).

Дополнительные характеристики МК51:

- 16-разрядный счетчик команд РС (адресация до 64К памяти);

- 16-разрядный регистр-указатель данных DPTR;

- 32 двунаправленные линии ввода-вывода, объединенные в четыре порта ввода-вывода;

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

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

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

- внутренний ГТИ.

- уровень входных и выходных сигналов совпадает с ТТЛ-уровнями.

Система команд состоит из 111 базовых команд. Допустимы прямая, косвенная, регистровая и битовая формы адресации. В системе команд МК51 44% - однобайтовые команды, 41% - двухбайтовые, остальные - трехбайтовые. Половина команд выполняется за один машинный цикл (МЦ), который по продолжительности равняется 1 мкс при тактовой частоте 12 Мгц.

Система команд МК51 ориентирована, прежде всего, на реализацию алгоритмов анализа битовой информации и управление технологическим оборудованием, хотя это не мешает использовать МК в составе иерархических компьютерных систем управления сложными объектами.

Существует возможность значительно повысить вычислительные ресурсы МК-системы благодаря подключению к контроллеру внешних БИС ПЗУ и ОЗУ общим объемом до 128К. Так реализуется внешняя память программ (ВПП) и внешняя память данных (ВПД).

К МК также можно подключить практически неограниченное количество внешних периферийных БИС для обеспечения связи с широкой номенклатурой источников информации и объектов управления.

Электрический интерфейс МК51

Условное обозначение корпуса МК51 (DIP-40) представлено на рис. 2.1. в пособии „Одно кристальний мікроконтролер МК51: структура, програмування, використання”. Выводы микросхемы могут быть объединены в такие группы:

- четыре порта ввода-вывода P0...P3 по восемь линий в каждом;

- четыре вывода для сигналов, которые управляют работой МК-системы;

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

- два вывода для подключения источника питания (+5 В, "общий").

Назначения выводов приведены в табл. 11.1.

Таблица 11.1

Обозначение

Тип

Функция вывода или группы выводов

P0.0…P0.7

P1.0…P1.7

P2.0…P2.7

Р3.0...Р3.7

Р3.0

Р3.1

Р3.2

Р3.3

Р3.4

Р3.5

Р3.6

Р3.7

вход - выход

вход - выход

вход - выход

вход-

выход

вход

выход

вход

вход

вход

вход

выход

выход

ПОРТЫ ВВОДА-ВЫВОДА

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

Порт 1 (P1) - восьмиразрядный квазидвунаправленный порт ввода-вывода для обмена информацией с внешними устройствами. Также используется для ввода младших разрядов кода адреса во время программирования и проверки РПП МК

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

Порт 3 (P3) - восьмиразрядный квазидвунаправленный порт ввода-вывода. Может быть применен к вводу-выводу данных, обычно используется для реализации периферийных функций, а именно:

RxD - вход приемника последовательного порта в асинхронном режиме или вход-выход данных в синхронном режиме;

TxD - выход передатчика последовательного порта в асинхронном режиме или выдача синхроимпульсов в синхронном режиме;

INT0 - вход запроса от внешнего источника прерывания с условным номером 0;

Активный уровень сигнала - лог."0";

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

Активный уровень сигнала - лог."0";

T0 - вход таймера-счетчика с номером 0;

T1 - вход таймера-счетчика с номером 1;

WR - "Запись" - строб записи байта во внешнюю память данных (ВПД). Активный уровень сигнала - лог."0";

RD - "Чтение" - строб приема байта из внешней памяти данных (ВПД). Активный уровень сигнала - лог."0;

     

ALE /

/ VPP

RST / VRD

XTAL1

XTAL2

Ucc

Vss

выход

(вход)

выход

вход

вход

вход

выход

--

--

СИГНАЛЫ УПРАВЛЕНИЯ МК

Строб адреса внешней памяти. Используется для управления режимом мультиплексирования (разделения времени) адреса и данных, которые передаются через порт P0 при обращении к ВПП или ВПД. Если ALE=1, на выводах порта P0 находится адрес. Во время программирования МК на этот вывод подается импульс напряжением 0 В

Разрешение внешней памяти программ. Выполняет роль строба приема байта команды в МК во время выборки команд из ВПП. Активный уровень сигнала - лог."0"

Сигнал отключения резидентной памяти программ (РПП). Если подано EA=1, будут выполняться команды, размещенные в РПП, если (PC)=0000...0FFFH. Если подано EA=0, будут выполняться команды, размещенные только в ВПП (РПП полностью недоступна). Во время программирования МК на этот вывод подается импульс напряжением +21 В

Сигнал сброса МК (т.е. переведение в начальное состояние). Уровень сигнала 3,5 В должен удерживаться не менее чем 2 мкс. Также используется для подключения аварийного источника питания.

СИГНАЛЫ СИНХРОНИЗАЦИИ МК

Вход усилителя-генератора синхросигналов. Подключается к внешнему источнику синхронизации (кварцевого резонатора, включенного по схеме со "средней точкой") (рис.10.2).

Выход усилителя-генератора синхросигналов. Подключение аналогично подключению XTAL1

Подключение к источнику питания напряжением Uсс = +5 В 10%

"Общий" вывод

Физическое адресное пространство

Состоит из четырех физически различных областей:

- внутреннее ПЗУ (РППЗУ) для программ и констант объемом 4К; (обозначение по тексту - РПП - "резидентная память программ");

- внутренняя память данных - 128 байтов ОЗУ и 20 регистров специальных функций (РСФ); обозначение по тексту - "РПД" ("резидентная память данных");

- внешнее ПЗУ для размещения больших программ и массивов констант - реализуется на БИС ПЗУ, внешних относительно МК, может иметь объем до 64К; обозначение по тексту - "ВПП" ("внешняя память программ");

- внешнее ОЗУ для размещения массивов данных - реализуется на БИС ОЗУ, внешних относительно МК, может иметь объем 64К; обозначение по тексту - "ВПД" ("внешняя память данных").

Сигнал PSEN используют для определения области внешней памяти (ВП), к которой МК обращается в данный момент: PSEN=0 (активный уровень) во время чтения очередного байта команды из ВПП.

Посредством сигнала EA выполняется выбор источника кодов команд, то есть переключение между РПП и ВПП.

Сигнал ALE (активный уровень "1") определяет моменты времени, в которые на линиях порта Р0 присутствует младший байт адреса ячейки ВП.

Отдельный доступ к РПД и ВПД обеспечивается разной формой адресации данных в командах МК51. Приведенная схема (рис. 2.2 в пособии) иллюстрирует способы распределения доступа к разным физическим областям памяти.

Внутренняя структура МК51

Основные функциональные узлы и информационные связи на кристалле МК51 показаны на рис. 11.1.

Основным каналом передачи информации внутри кристалла является двунаправленная восьмибитовая магистраль, которая связывает практически все узлы МК51: АЛУ, резидентную память, блок регистров специальных функций, устройство управления и порты ввода-вывода. Исключение составляют линии передачи адреса внешней памяти непосредственно от РС и DPTR на порты Р0 и Р2 и сигналы управления.

Все операции, в том числе вычисления адреса памяти, выполняются в АЛУ, которое является восьмибитовым устройством параллельного типа и выполняет такие группы операций: арифметические (+, -, *, :), логические (AND, OR, NOT, XOR), сдвиг, сброс, установление. Программно-недоступные регистры используются для временного сохранения операндов.

Важнейшая особенность АЛУ - возможность оперирования с отдельными программно-доступными битами в ОЗУ и блоке РСФ. Это действия сбрасывания и установление бита, инверсии и логических операций.

АЛУ оперирует с четырьмя типами информации:

- булевым - 1 бит; - цифровым - 4 бита; - байтовым - 8 бит; - адресным - 16 бит.

Поскольку микроконтроллер МК51 является функционально завершенным и самодостаточным вычислительным устройством, для реализации минимальной работоспособной схемы требуется подача напряжения питания +5В на выводы (40,20) и подключение внешней времязадающей цепи на основе кварцевого резонатора, включенного по схеме со средней точкой (см. рис 11.4-а).

Схема обеспечения, кроме подачи напряжения питания, автоматическое формирование сигнала сброса RST при включении питания

Схема на рис. 11.4-б обеспечивает, кроме подачи напряжения питания, автоматическое формирование сигнала сброса RST при включении питания.