-
Структура мк51
Предметом рассмотрения в данном материале является базовый однокристальный микроконтроллер К1816ВЕ51 (далее – МК51). В состав серии К1816/1830 входят несколько БИС, которые существенным образом отличаются по своим ресурсам и характеристикам, однако имеют общий перечень функционально-логических блоков.
Все БИС серии К1816/1830 определяются буквенным индексом ВЕ и номерами 31, 35, 48, 49, 51, 751.
В состав всех БИС входят:процессор разрядностью 8 бит; генератор тактовых импульсов (ГТИ); схемы управления и синхронизации; ПЗУ - так называемая резидентная память программ (РПП); ОЗУ - резидентная память данных (РПД); таймеры-счетчики; схемы ввода-вывода (параллельный и последовательный интерфейсы); блок обработки прерываний.
Любая из БИС требует питания напряжением +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 В, "общий").
Назначения выводов приведены в табл. 2.1.
Физическое адресное пространство состоит из четырех физически различных областей:
- внутреннее ПЗУ (РППЗУ) для программ и констант объемом 4К; (обозначение по тексту - РПП - "резидентная память программ");
- внутренняя память данных - 128 байтов ОЗУ и 20 регистров специальных функций (РСФ); обозначение по тексту - "РПД" ("резидентная память данных");
- внешнее ПЗУ для размещения больших программ и массивов констант - реализуется на БИС ПЗУ, внешних относительно МК, может иметь объем до 64К; обозначение по тексту - "ВПП" ("внешняя память программ");
- внешнее ОЗУ для размещения массивов данных - реализуется на БИС ОЗУ, внешних относительно МК, может иметь объем 64К; обозначение по тексту - "ВПД" ("внешняя память данных").
Обозначение |
Тип |
Функция вывода или группы выводов |
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; |
Продолжение таблицы 2.1
Обозначение |
Тип |
Функция вывода или группы выводов |
ALE / PROG
PSEN
EA / 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% "Общий" вывод |
Таблица 2.1 Назначения выводов
Сигнал 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 бит.