Микроконтроллер 8051 остаётся одним из самых широко признанных и фундаментальных встроенных контроллеров в цифровой электронике. В этой статье будут рассмотрены детали распиновки микроконтроллера 8051, внутренняя архитектура, объяснение блок-схемы, технические характеристики, применения, сравнение с микропроцессорами 8085 и многое другое.

8051 Microcontroller Basic
Микроконтроллер 8051 — это 8-битный встроенный системный контроллер, изначально разработанный компанией Intel, который объединяет процессор, память, порты ввода/вывода, таймеры и коммуникационные интерфейсы в один чип. Он предназначен для управления электронными устройствами путём выполнения запрограммированных инструкций и прямого взаимодействия с аппаратными компонентами. В отличие от универсального компьютерного процессора, 8051 специально разработан для специализированных задач управления, таких как чтение датчиков, управление дисплеями, управление двигателями, обработка сигналов связи и выполнение операций с ограничением времени. Её цель — служить «мозгом» встроенных систем, обеспечивая автоматизированное управление и принятие решений в компактных, экономичных электронных конструкциях.
Детали распиновки микроконтроллера 8051

| Пин No | Пин-имя | Тип | Описание |
|---|---|---|---|
| 1 – 8 | P1.0 – P1.7 | Порт ввода/вывода (порт 1) | Универсальный 8-битный двунаправленный порт ввода/вывода. В базовом 8051 нет альтернативных функций. |
| 9 | RST | Сброс | Активный ввод с высоким сбросом. Высокий импульс сбрасывает микроконтроллер. |
| 10 – 17 | P3.0 – P3.7 | Порт ввода/вывода (порт 3) | Порт с двойной функцией. Включает RXD, TXD, INT0, INT1, T0, T1, WR, RD. |
| 18 | XTAL2 | Часы | Выход с внутреннего усилителя генератора. |
| 19 | XTAL1 | Часы | Вход на внутренний генератор генератора тактового сигнала. |
| 20 | GND | Мощность | Наземная ссылка (0V). |
| 21 – 28 | P2.0 – P2.7 | Шина ввода/вывода / адреса | Общая шина ввода-вывода или высокого порядка адреса (A8–A15) при использовании внешней памяти. |
| 29 | PSEN | Управление | Включите программное хранилище. Используется для чтения внешней памяти программ. |
| 30 | ALE/PROG | Управление | Адрес Защёлка включить. Разделяет адрес и данные в интерфейсе внешней памяти. |
| 31 | EA/VPP | Управление | Включить внешний доступ. Выбирает внутреннюю или внешнюю память программы. |
| 32 – 39 | P0.0 – P0.7 | I/O / Адресная/Шина данных | Мультиплексированная шина низкого порядка адреса/данных (AD0–AD7) или универсальный ввод-вывод. |
| 40 | VCC | Мощность | +5V вход питания. |
Архитектура микроконтроллера 8051

Ниже приведены основные архитектурные блоки 8051 и то, как каждый из них работает.
Центральный процессор (CPU)
ЦПУ является ядром микроконтроллера 8051 и отвечает за выполнение инструкций, выполнение арифметических и логических операций, а также координацию всех внутренних действий. Он включает арифметическую логическую единицу (ALU), аккумулятор, регистр B, слово состояния программы (PSW), счётчик программ (PC), указатель данных (DPTR) и указатель стека (SP). Процессор обрабатывает 8-битные данные и управляет декодированием инструкций, таймингом и потоком данных между памятью и периферийными устройствами. Каждая операция, выполняемая микроконтроллером, управляется через этот центральный процессор.
Программная память (кодовая память)
Память программы хранит инструкции, которые выполняет микроконтроллер. В классическом 8051 обычно есть 4 КБ внутренней ПЗУ, которая сохраняет сохранённые инструкции даже при отключении питания. Архитектура также позволяет расширять до 64 КБ внешней памяти программы. Поскольку 8051 следует архитектуре Гарварда, память программ отделена от памяти данных, что обеспечивает организованное выполнение инструкций и повышение эффективности.
Память данных (RAM)
Память данных используется для временного хранения во время выполнения программы. Стандарт 8051 включает 128 байт внутренней оперативной памяти, которая разделена на регистровые банки, битовую адресуемую память, универсальную оперативную память и пространство стека. Эта память хранит переменные, промежуточные результаты и операционные данные во время работы программы. Внешняя память данных также может быть расширена до 64 КБ при необходимости для более крупных приложений.
Входно-выходные (I/O) порты
8051 содержит четыре 8-битных параллельных порта ввода-вывода: порт 0, порт 1, порт 2 и порт 3. Эти порты позволяют микроконтроллеру напрямую взаимодействовать с внешними устройствами, такими как датчики, дисплеи, переключатели и моторы. Некоторые порты также имеют альтернативные функции. Например, порты 0 и порт 2 могут служить адресными и информационными шинами для доступа к внешней памяти, тогда как порт 3 предоставляет специальные функции, такие как последовательная связь и внешние прерывания. Гибкая конструкция порта делает 8051 подходящим для различных аппаратных интерфейсов.
Таймеры/счетчики
8051 включает два 16-битных таймера/счётчика: таймер 0 и таймер 1. Эти таймеры используются для генерации временных задержек, измерения временных интервалов, подсчёта внешних событий и получения скоростей передачи для последовательной связи. Они повышают эффективность системы, обрабатывая операции с таймингом в аппаратном обеспечении, позволяя процессору одновременно выполнять другие задачи.
Система управления прерываниями
Система прерывания позволяет 8051 временно приостановить текущую задачу для реагирования на события с более высоким приоритетом. Микроконтроллер поддерживает пять источников прерываний, включая два внешних прерывания, два таймерных прерывания и одно последовательное прерывание связи. При возникновении прерывания процессор автоматически переходит к заранее определённой сервисной процедуре и возобновляет основную программу после её завершения. Эта функция повышает отзывчивость в приложениях в реальном времени.
Интерфейс последовательной связи
8051 включает встроенный полнодуплексный UART (универсальный асинхронный приёмник/передатчик) для передачи последовательных данных. Он позволяет микроконтроллеру передавать и принимать данные через выделенные выводы TXD и RXD. Эта функция широко используется для связи с компьютерами, коммуникационными модулями и другими микроконтроллерами.
Осциллятор и тактовая схема
Схема генератора обеспечивает тактовый сигнал, необходимый для выполнения инструкций и работы периферийных устройств. 8051 использует внешние кристаллические соединения через контакты XTAL1 и XTAL2 для генерации стабильных тактовых импульсов. Эти тактовые импульсы синхронизируют все внутренние операции и определяют скорость выполнения инструкций.
Внутренняя шина
Внутренняя шина соединяет процессор, память и периферийные устройства внутри микроконтроллера. Он включает 8-битную шину данных, 16-битную адресную шину и управляющие сигналы. Шина данных передаёт данные, шина адресов выбирает адресные адресы памяти, а управляющие линии управляют операциями чтения/записи. Такая организованная структура шины обеспечивает плавное взаимодействие между внутренними компонентами.
Как использовать светодиод с микроконтроллером 8051
Схема ниже показывает базовую схему светодиодного интерфейса с микроконтроллером 8051. Один из универсальных выводов ввода-вывода (P1.0) используется для управления светодиодом через ограничивающий ток резистор мощностью 220 Ом. Резистор защищает светодиод от избыточного тока и предотвращает повреждения как светодиода, так и вывода микроконтроллера. Когда выходной контакт P1.0 установлен на ВЫСОКОМ (логический 1), ток течёт от микроконтроллера через резистор и светодиод к земле, вызывая свет светодиода. Когда контакт установлен на LOW (логический 0), ток прекращается, и светодиод гаснет. Это демонстрирует простое цифровое управление выходом с помощью 8051.

Схема также включает необходимые вспомогательные компоненты для правильной работы микроконтроллера. Схема сброса, состоящая из конденсатора (10 мкФ) и резистора, обеспечивает корректный запуск 8051 при включении питания. Кристаллический осциллятор (11,0592 МГц) с двумя конденсаторами 33pF обеспечивает тактовый сигнал, необходимый для выполнения инструкций. Резисторы, подключённые к порту 0, обеспечивают стабильные логические уровни при использовании в качестве линий ввода/вывода. Вместе эти компоненты образуют полную и функциональную систему светодиодного интерфейса с использованием микроконтроллеров 8051.
Технические характеристики микроконтроллера 8051
| Категория | Технические характеристики | Подробности |
|---|---|---|
| Архитектура процессора | 8-битный процессор | Обрабатывает 8-битные данные; включает регистры аккумулятора (A) и B |
| Память программ | Внутренний ROM | 8 КБ Flash (типичные улучшенные варианты 8051); расширяемая до 64 КБ внешней памяти |
| Память данных | Внутренняя оперативная память | Всего 256 байт (128 байт общей оперативной памяти + 128 байт SFR) |
| Общая оперативная память (00H–7FH) | 128 байт | Включает 4 регистровых банка (R0–R7), бит-адресируемую область и универсальную оперативную память |
| Регистры специальных функций (80H–FFH) | 128 байт | Управление таймерами, последовательным портом, портами ввода/вывода, прерываниями и системными функциями |
| Регистрировать банки | 4 Банка | Каждый банк содержит 8 универсальных регистров (R0–R7) |
| Указатель стека (SP) | 8-бит | Точки к расположению стека в оперативной памяти |
| Счётчик программ (ПК) | 16-битный | Удерживает адрес следующей инструкции |
| Указатель данных (DPTR) | 16-битный | Используется для адресации внешней памяти (DPH и DPL) |
| Порты ввода/вывода | 32 контакта ввода-вывода | Организовано в 4 порта: P0, P1, P2, P3 (по 8 бит каждый) |
| Таймеры/Счетчики | 2 × 16-бит | Таймер 0 и таймер 1 для генерации задержек и подсчёта событий |
| Прерывания | 5 Источники прерываний | 2 Внешние (INT0, INT1) + 3 Внутренние (Таймер0, Таймер1, Сериал) |
| Последовательная связь | Полнодуплексный UART | Отдельные линии Tx (Передавать) и Rx (Принимать) |
| Осциллятор | Схема осциллятора на чипе | Требуется внешний кристалл для генерации тактового сигнала |
| Шина адреса | 16-битный | Поддерживает до 64 КБ внешней памяти |
| Data Bus | 8-бит | Передача данных внутренне и снаружи |
| Управляющие регистры | Multiple | Включает PCON, SCON, TMOD, TCON, IE, IP и другие |
| Режим работы | Гарвардская архитектура | Отдельные пространства памяти программ и данных |
Применение микроконтроллера 8051
• Системы промышленной автоматизации — микроконтроллер 8051 используется для управления двигателями, реле и датчиками на автоматизированных производственных линиях и системах управления оборудованием.
• Бытовая техника — управляет таймингом, регулированием температуры и обработкой пользовательских данных в таких устройствах, как стиральные машины и микроволновые печи.
• Встроенные системы управления — микроконтроллер 8051 служит основным контроллером в специализированных встроенных приложениях, требующих стабильной и предсказуемой работы.
• Робототехнические проекты — он считывает данные датчиков и управляет актуаторами, что делает его подходящим для небольших роботизированных и автоматизированных проектов.
• Потребительская электроника — микроконтроллер 8051 обычно интегрируется в электронные игрушки, пульты дистанционного управления и цифровые часы для управления сигналами и логической обработки.
• Системы связи — поддерживают последовательную связь для взаимодействия с компьютерами, коммуникационными модулями и другими микроконтроллерами.
• Медицинские приборы — микроконтроллер 8051 используется в простом оборудовании для мониторинга и маломощной диагностики.
• Автомобильные приложения — выполняет базовые функции управления, такие как управление дисплеем и мониторинг датчиков в автомобилях.
• Системы безопасности — микроконтроллер 8051 применяется в системах сигнализации, замках на клавиатуре и устройствах контроля доступа.
• Образовательные и учебные проекты — широко используется в академических лабораториях для обучения основам программирования микроконтроллеров и проектированию встроенных систем.
Микроконтроллер 8051 против микропроцессора 8085
| Функция | Микроконтроллер 8051 | Микропроцессор 8085 |
|---|---|---|
| Тип | Микроконтроллер | Микропроцессор |
| Архитектура | Архитектура Гарварда (отдельный код и память данных) | Архитектура фон Неймана (общая память для кода и данных) |
| Ширина данных | 8-бит | 8-бит |
| CPU | Интегрированный 8-битный процессор с встроенными периферийными устройствами | Только 8-битный процессор (без встроенных периферийных устройств) |
| Память программ | Обычно внутренняя ПЗУ 4 КБ–8 КБ (с возможностью расширения до 64 КБ внешней) | Нет внутренней ПЗУ (требуется внешняя память) |
| Память данных | 128–256 байт внутренней оперативной памяти (расширяемая) | Нет внутренней оперативной памяти (нужна внешнея) |
| Порты ввода/вывода | 32 встроенных линии ввода-вывода (4 порта) | Нет встроенных портов ввода-вывода (требуются внешние интерфейсные чипы) |
| Таймеры/Счетчики | 2 × 16-битных таймеров | Нет внутренних таймеров (требуются внешние таймеры) |
| Прерывания | 5 источников прерываний | 5 входов прерывания (TRAP, RST 7.5, 6.5, 5.5, INTR) |
| Последовательная связь | Встроенный полнодуплексный UART | Нет встроенного последовательного порта |
| Осциллятор | Схема осциллятора на чипе | Требуется внешний генератор тактового сигнала |
| Stack | Внутренний стек внутри оперативной памяти | Стек управляется во внешней оперативной памяти |
| Шина адреса | 16-битная (поддерживает до 64 КБ внешней памяти) | 16-битный (поддерживает до 64 КБ памяти) |
| Data Bus | 8-бит | 8-бит |
| Интеграция с периферийными устройствами | Высокоинтегрированные (таймеры, последовательные, I/O, прерывания) | Минимальная интеграция (только для процессора) |
| Требуются внешние компоненты | Меньше внешних компонентов | Требуется несколько внешних поддерживающих ИС |
| Энергопотребление | Low | Выше по сравнению с микроконтроллерными системами |
| Фокус на применении | Встроенные системы и приложения управления | Общие вычисления и разработка систем |
| Сложность | Простой, компактный дизайн системы | Более сложное проектирование систем |
| Стоимость | Низкая общая стоимость системы | Более высокая стоимость системы из-за внешних компонентов |
| Типичные сценарии использования | Бытовая техника, робототехника, автоматизация, встроенные устройства | Ранние компьютерные системы, учебные наборы, процессорные системы |
| Год представления | 1980 (от Intel) | 1976 (от Intel) |
Преимущества и ограничения 8051
Преимущества 8051
• Простая и понятная архитектура
• Интегрированные CPU, RAM, ROM, таймеры и порты ввода-вывода на одном чипе
• Недорогая цена и широко доступная
• Низкое энергопотребление
• Встроенная поддержка последовательной связи
• Множественные источники прерывания для приложений в реальном времени
• Расширяемая поддержка внешней памяти (до 64 КБ)
• Большая экосистема инструментов разработки и учебных ресурсов
• Стабильность и надёжность для задач встраиваемого управления
Ограничения 8051
• Ограниченная внутренняя оперативная память и программная память
• 8-битная обработка ограничивает вычислительные возможности
• Более низкая скорость обработки по сравнению с современными микроконтроллерами
• Отсутствие встроенного АЦП или ЦАП в базовых версиях
• Ограниченное количество периферийных устройств по сравнению с продвинутыми микроконтроллерами (например, ARM, AVR)
• Требуется внешние компоненты для сложных приложений
• Не идеально подходит для высокопроизводительных или требовательных данных систем
• Устаревшая архитектура по сравнению с современными 32-битными контроллерами
Заключение
С архитектурой Гарварда микроконтроллера 8051, интегрированным процессором, организованной структурой памяти, программируемыми портами ввода-вывода, таймерами, системой прерывания и поддержкой последовательной связи, он предоставляет полное и эффективное решение для специализированных управляющих приложений. Хотя современные микроконтроллеры предлагают более высокую производительность и более продвинутые периферии, 8051 остаётся ценным благодаря своей простоте, низкой стоимости, надёжности и значимости для образования.
Часто задаваемые вопросы [FAQ]
Квартал 1. Какие языки программирования используются для микроконтроллера 8051?
8051 обычно программируется на встраиваемых C и ассемблерных языках. Встроенный C широко используется благодаря более простой отладке и портативности, тогда как Assembly обеспечивает точное аппаратное управление.
Q2. Какие программные инструменты лучше всего подходят для программирования 8051?
Популярные инструменты включают Keil μVision, Proteus (для моделирования) и SDCC (компилятор малого устройства C). Keil — самая широко используемая среда профессионального развития.
Q3. Какова максимальная тактовая частота 8051?
Classic 8051 обычно работает на частоте до 12 МГц, тогда как современные улучшенные варианты могут работать на значительно более высоких скоростях в зависимости от производителя.
Q4. Может ли 8051 взаимодействовать с современными датчиками и модулями?
Да, 8051 может взаимодействовать с современными датчиками, используя цифровые I/O, UART, SPI (через программное обеспечение) и I2C (бит-бэнгинг или внешние ИС), хотя для этого могут потребоваться дополнительные компоненты интерфейса.
10,5 Q5. Как питается 8051 и какое у него рабочее напряжение?
Стандартный 8051 работает на +5 В. Однако некоторые современные производные поддерживают более низкие напряжения, например, 3,3 В для маломощных приложений.
В6. Какие распространённые варианты семейства 8051 доступны сегодня?
Популярные варианты включают AT89C51, AT89S52 и другие улучшенные микроконтроллеры, совместимые с 8051, от разных производителей, предлагающие больше памяти и функций.
Квартал 7. Чем 8051 отличается от современных микроконтроллеров, таких как ARM Cortex-M?
8051 — это 8-битный контроллер, предназначенный для простых задач управления, тогда как устройства ARM Cortex-M — это 32-битные процессоры с более высокой скоростью, продвинутыми периферийными устройствами и большей ёмкостью памяти.