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

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы программирования 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 при включении питания.