
- •Теория микропроцессорных систем микроконтроллеры
- •Структура и функциональные возможности мк51
- •Электрический интерфейс мк51
- •Резидентная память данных
- •Работа блока управления и синхронизации
- •Элементы данных в мк51
- •Характеристика функциональных групп команд
- •2.5. Система команд семейства mcs-51.
- •2.5.1. Команды пересылки данных.
- •Команда обработки данных.
- •Команды передачи управления.
- •Характеристика периферийных блоков в составе мк51
- •Управление таймерами-счетчиками (т/с)
- •Описание вариантов конфигурации таймеров-счетчиков
- •Особенности реализации временных интервалов
- •Структура последовательного порта и принципы управления
- •Описание режимов работы уапп
- •Назначение и принципы функционирования системы прерываний
- •Управление приоритетами запросов прерываний
- •Работа системы обслуживания прерываний
- •Заполнение начальной области памяти программ
- •Шестнадцатиразрядные микроконтроллеры Motorola
- •Современные встраиваемые микроконтроллеры, выпускаемые производственной фирмой Freescale Semiconductor
- •Номенклатура и функциональный состав микроконтроллеров cемейства 68hcs12
- •2.1. Микроконтроллеры семейства 68нс12/912
- •2.1.3. Начальный запуск и обработка прерываний
- •2.1.4. Режимы работы и конфигурация микроконтроллеров
- •2.1.5. Функционирование и программирование Flash-памяти и эсппзу
- •2.1.6. Блок контроля функционирования и генератор тактовых импульсов
- •2.1.7. Параллельный ввод-вывод данных и подключение внешней памяти
- •2.1.8. Последовательные порты sci и spi
- •2.1.9. Таймерные модули и широтно-импульсные модуляторы
- •2.1.10. Модуль аналого-цифрового преобразователя atd
- •2.1.11. Модуль последовательного интерфейса msCan
- •2.1.12. Режим отладки bdm и установка контрольных точек
Электрический интерфейс мк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
/
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 при включении питания.
Логическая организация памяти в МК51
Встроенный процессор МК51 взаимодействует с несколькими областями памяти, разделенными аппаратно (то есть отдельными физически) по функциональным признакам, механизмом адресации и сигналами управления.
Функционально память разделена на память программ (ПЗУ) и память данных (ОЗУ), по расположению относительно кристалла МК – на внутреннюю (резидентную) и внешнюю (другие БИС).
Объединение этих характеристик дает четыре физически разных адресных пространства - РПП (4К), РПД (128 байтов ОЗУ и 20 специальных регистров), ВПП - до 64К и ЗПД - до 64К. Организация памяти и объемы адресного пространства показаны на схеме (рис.2.4 в пособии).
К адресному пространству ОЗУ прилегает блок регистров специальных функций (арифметические регистры, регистры-указатели, регистры таймеров 0 и 1, схемы обработки прерываний и т.д.). РСФ представленные в количестве 20 восьмибитовых регистров, другие адреса в диапазоне 80H...FFH недоступны.
Память программ (РПП и ВПП)
В зависимости от технологических принципов изготовления РПП различается по способу программирования.
Для КР1816ВЕ51 она реализована в виде ПЗУ объемом 4К, что программируется в процессе изготовления БИС на производстве маской по заказу пользователя. Для КМ1816ВЕ751 она реализована в виде РППЗУ объемом 4К с УФ-стиранием и электрическим программированием.
При подаче сигнала ЕА = 1 обеспечивается выборка команд с РПП по адресам 0000...0FFFH. При такой установке EA переход с РПП на ВПП осуществляется автоматически, если (РС)>0FFFH. При подаче сигнала ЕА=0 коды команд выбираются только из ВПП по адресам 0000...FFFFH во всем объеме 64К. Время выборки из РПП и ВПП одинаковое.