Структура и функциональные возможности МК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-а).
Схема на рис. 11.4-б обеспечивает, кроме подачи напряжения питания, автоматическое формирование сигнала сброса RST при включении питания.
|