AT89C51 — это микросхема на базе 8-разрядного микроконтроллера CMOS, производимая компанией Atmel, также известная как микроконтроллер серии 8051. Он в основном используется в встраиваемых системах, предлагая такие преимущества, как высокая гибкость, программируемость и простота использования. Он находит применение в различных областях, таких как промышленное управление, автомобильная электроника, интеллектуальные приборы, и стал значимым представителем семейства микроконтроллеров MCS-51.
Введение в микроконтроллер AT89C51
AT89C51 — это низковольтный высокопроизводительный 8-разрядный микропроцессор CMOS с 4 Кбайт флэш-памяти, программируемой и стираемой памятью только для чтения (FPEROM). Он изготовлен с использованием технологии энергонезависимой памяти высокой плотности Atmel и совместим с промышленным стандартом набора инструкций MCS-51 и распиновкой. Благодаря сочетанию универсального 8-разрядного процессора и флэш-памяти на одном чипе, AT89C51 от Atmel является эффективным микроконтроллером, который обеспечивает гибкое и экономичное решение для многих встроенных систем управления.
Особенности AT89C51
- Совместимость с MCS-51
- 4 Кбайт программируемой памяти FLASH
- Срок службы: 1000 циклов записи/стирания
- Срок хранения данных: 10 лет
- Полностью статическая работа: 0 Гц-24 МГц
- Трехуровневая блокировка программной памяти
- 128×8-битная внутренняя RAM
- 32 программируемые линии ввода/вывода
- Два 16-битных таймера/счетчика
- Пять источников прерываний
- Программируемый последовательный канал
- Режимы низкого энергопотребления в режиме ожидания и отключения питания
- Встроенный генератор и схема тактовой частоты
Функции AT89C51
1. Обработка данных: AT89C51 обладает мощными возможностями обработки данных, что позволяет ему выполнять различные задачи по обработке, хранению и передаче данных. Он может выполнять различные операции с данными, используя встроенные компоненты, такие как арифметико-логический блок (ALU), флэш-память и оперативная память.
2. Управление периферийными устройствами: AT89C51 имеет несколько периферийных интерфейсов, включая универсальные входы/выходы (GPIO), последовательный порт, интерфейс SPI и два 16-разрядных таймера/счетчика, которые могут использоваться для связи и управления другими аппаратными устройствами.
3. Обработка прерываний: AT89C51 поддерживает различные типы прерываний, включая внешние прерывания, прерывания таймера и прерывания последовательного порта. Эти прерывания позволяют быстро реагировать на внешние события и выполнять соответствующие подпрограммы обслуживания прерываний.
4. Управление временем: AT89C51 включает два 16-разрядных таймера/счетчика, которые могут использоваться для генерации прерываний таймера, измерения частоты, широтно-импульсной модуляции и других приложений, связанных с временем.
5. Программируемые обновления: благодаря использованию флэш-памяти программа AT89C51 может быть изменена с помощью программирования, что облегчает обновление и расширение системы.
Структура AT89C51
Внутренняя структура микроконтроллера AT89C51 показывает основные функциональные компоненты внутри микросхемы:

1. 8-разрядный центральный процессор (CPU), построенный на основе арифметико-логического устройства (ALU) для вычислений и управления.
2. 128 байт внутренней памяти с доступом к данным (внутренняя RAM) с диапазоном адресов от 00H до 7FH.
3. 21 регистр специальных функций (SFR), распределенный в диапазоне адресов от 80H до FFH, используемый для различных функций управления.
4. Программный счетчик (PC), специальный 16-разрядный регистр для хранения адреса следующей инструкции, которая будет выполнена.
5. 4 КБ внутренней флэш-памяти (встроенного ПЗУ) для хранения программ и данных.
6. Четыре 8-разрядных программируемых порта ввода-вывода (P0, P1, P2, P3).
7. Последовательный порт связи UART.
8. Два 16-разрядных таймера/счетчика.
9. Пять источников прерываний и двухуровневая система управления прерываниями.
10. Встроенный генератор и тактовая схема.
Конфигурация выводов AT89C51
Микроконтроллер AT89C51 имеет 40 выводов, разделенных на четыре группы: питание, тактовая частота, управление и порты ввода-вывода.

Контакты питания:
— GND (контакт 20): заземление.
— Vcc (контакт 40): вход питания постоянного тока, обычно 5,0 В ±20 % в диапазоне от -40 °C до 85 °C, с максимальным номинальным напряжением 6,6 В.
Штифты для часов:
— XTAL1 (контакт 19): один из контактов для подключения внешнего генератора, например кварцевого генератора.
— XTAL2 (контакт 18): другой контакт для подключения внешнего генератора.
При использовании внешнего генератора XTAL1 принимает сигнал генератора, а XTAL2 остается неподключенным. Такая конфигурация формирует генератор, частота которого определяется обратной величиной периода генератора.
(Примечание: перевод довольно подробный. Если вы предпочитаете более лаконичную версию, пожалуйста, сообщите мне.)
Контрольные штифты:
1. RST (контакт 9): вход сброса (используется для инициализации и перезапуска).
Сброс может происходить двумя способами: сброс при включении питания и ручной сброс (нажатием кнопки сброса). Для этого необходимо, чтобы вывод RST оставался в высоком состоянии в течение как минимум 2 машинных циклов, прежде чем перейти в низкое состояние. Это включает в себя небольшую схему с резисторами и конденсаторами. Первый способ достигается путем подачи высокого напряжения на эту схему, а второй способ так же прост, как нажатие кнопки. Оба способа гарантируют, что вывод RST остается в высоком состоянии в течение двух машинных циклов, завершая операцию сброса.
2. ALE/PROG (контакт 30): Разрешение фиксации адреса/импульс программирования.
Этот вывод, также используемый в качестве PROG во время программирования, применяется при загрузке программ в микроконтроллер. Он связан с импульсами программирования и генерирует определенные формы сигнала во время программирования.
3. PSEN (контакт 29): сигнал чтения внешней ПЗУ.
PSEN связан со считыванием данных из внешней ПЗУ. Он действует как условие для считывания данных, требуя действительного сигнала PSEN для успешного считывания данных.
4. EA/Vpp (контакт 31): выбор внутренней/внешней ПЗУ/напряжение программирования.
Микроконтроллер 51 имеет 4 КБ встроенной ПЗУ. Если этого недостаточно, его можно расширить с помощью внешней ПЗУ (аналогично вставке карты памяти в мобильный телефон). Значение EA определяет, осуществляется ли доступ к данным из внутренней или внешней памяти. Vpp используется для подачи напряжения во время программирования.
Блок-схема микроконтроллера AT89C51
На следующей схеме представлены основные функциональные блоки микроконтроллера AT89C51. Этот микросхема объединяет в себе основные компоненты микрокомпьютера, включая ЦП, память, программируемые порты ввода-вывода, таймеры/счетчики, последовательный порт и т. д. Все эти компоненты соединены между собой через внутреннюю шину.

Микроконтроллеры AT89C51 и 8051
8051: представляет второе поколение микроконтроллеров, принадлежащих к серии MCS-51. AT89C51: микроконтроллер, разработанный ATMEL, совместимый с MCS-51 и принадлежащий к третьему поколению микроконтроллеров.
Микроконтроллеры MCS-51 относятся к серии микроконтроллеров, производимых компанией Intel в США. Эта серия включает в себя 8031, 8051, 8751, 8032, 8052 и 8752. Микроконтроллер 8051 является самым ранним и наиболее типичным продуктом этой серии. AT89C51 основан на базовой схеме 8051 и был позже разработан компанией ATMEL. Существуют также аналогичные микроконтроллеры, такие как STC51, которые имеют ту же функциональность, но производятся другими компаниями и имеют другие префиксы. По сути, AT89C51 и 8051 имеют идентичную функциональность, но 8051 больше не доступен на рынке.




