Внутренняя структура микроконтроллера MCS-51 приведена на рис.2.
Блок управления предназначен для синхронизации работы всех блоков микроконтроллера, а также для приема, дешифрации кода команды и формирования управляющих воздействий для её выполнения.
Блок счетчика команд предназначен для хранения адреса очередного байта программы, а также формирования адреса для считывания кода из памяти программ с автоматическим увеличением адреса.
АЛУ (арифметико-логическое устройство) предназначено для выполнения арифметических, логических команд, команд сдвига и обнуления.
Порты Р0-Р3 предназначены для организации обмена данными между микроконтроллером и внешними устройствами. Кроме того, порты имеют специальные функции для обслуживания внутренних периферийных устройств, организации программирования внутренней памяти программ и реализации доступа к внешней памяти.
Память программ предназначена для хранения программного кода, в рабочем режиме доступна только для чтения, запись реализуется только в режиме программирования. Может быть реализована в виде ПЗУ или РПЗУ.
|
|
Память данных предназначена для хранения текущих данных, доступна для чтения и записи информации. Не сохраняет информацию при отключении питания.
Блок таймеров/счетчиков включает в свой состав два таймера/счетчика, регистр режимов TMOD и регистр управления TCON. Таймеры/счетчики предназначены для организации временных задержек, выполнения времязадающих функций и подсчета внешних событий.
Блок прерываний осуществляет обработку запросов прерываний в соответствии с настройками регистра разрешений IE и регистра управления приоритетностью прерываний IP.
Блок последовательного канала предназначен для организации приема и передачи информации в последовательном виде в соответствии с настройками регистра SCON.