Организация памяти
Структурная схема МК51
ПЗУ – 4Кб ОЗУ – 256б Порт ввода-вывода
ЦП8
Таймеры Блок прерываний Параллельные порты
Основу структурной схемы МК 51 составляет внутренняя двунаправленная системная шина, которая связывает между собой следующие основные узлы и устройства. Системная шина 8-и разрядная.
Центральный процессор – 8-и разрядный, состоящий из арифметико-логического устройства (АЛУ) и устройства управления (УУ)
АЛУ выполняет арифметические (+,-,*,/) и логические операции.
АЛУ может оперировать 4-мя типами информации:
· Булевскими (битовая информация)
· Цифровыми (4 бита)
· Байтовыми (8бит)
· Адресными (16 бит)
Важной особенностью АЛУ является его способность оперировать битами, которая является уникальной
В АЛУ имеется регистр-аккумулятор, который используется во всех арифметических операциях
УУ – на основе сигналов синхронизации, которые формирует тактовый генератор, который создает машинный цикл, фиксированной длинны, он определяет тактовую частоту микропроцессора
Внутреннее ПЗУ – программная память, объемом 4Кб
ОЗУ – память данных объемом 256б
Последовательный порт ввода-вывода
4 параллельных порта ввода-вывода (P0,P1,P2,P3)
Блок прерываний от 5 источников
2 16-и разрядных таймера/счетчика
Память – это совокупность последовательных ячеек, каждая из которых содержит уникальный адрес. Каждая ячейка содержит байт памяти, значение ячейки называется содержимым.
Память программ и память данных, размещенные на кристалле МК51 физически и логически разделены, имеют разные механизмы адресации, работают под управлением разных сигналов, выполняют разные функции
ПЗУ – память программы – предназначена для хранения команд и констант, обеспечивает только чтение хранимой информации, является энергонезависимой
ОЗУ – предназначена для хранения переменных в процессе выполнения программы, обеспечивает и чтение и запись данных, является энергозависимой.
Память программ и память данных могут быть расширены подключением внешних микросхем до 64КБ
Организация внутреннего ОЗУ (Карта распределения резидентной памяти данных)
Адреса | ОЗУ | Комментарии | ||||
80-FF | Регистры специальных функций | 128 ячеек | ||||
30-7F | Байт-адресуемые данные | |||||
20-2F | Бит-адресуемые данные | |||||
… | ||||||
18-1F | Банк 3 R0-R7 | Регистры общего назначения | ||||
10-17 | Банк 2 R0-R7 | |||||
08-0F | Банк 1 R0-R7 | |||||
00-07 | Банк 0 R0-R7 | |||||
Внутреннее ОЗУ можно разделить на следующие участки:
· Первые 32 ячейки (00-1F) занимают Регистры общего назначения. Они разделены на группы называемые Банками. Всего 4 банка по 8 регистров в каждом. Текущий банк только один – Банк 0. Номер текущего банка определяется в регистре специальных функций PSW – слово состояния программы Programs State Word. Доступ к данным через регистры общего назначения наиболее эффективный с точки зрения сокращения времени выполнения программы и уменьшения объема памяти программы, так как эти команды занимают 1-2 байта и выполняются за 1-2 мкс.
· Следующие 16 адресов (20-2F) занимают ячейки памяти, которые могут адресоваться как побайтно, так и побитно. Побитная адресация означает, что каждый бит имеет свой адрес и может быть доступен непосредственно по адресу
· Следующая область из 80 ячеек (30-7F) может адресоваться только побайтно и используется по усмотрению программиста для хранения промежуточных данныз
· Следующие 128 ячеек (80-FF) занимают регистры специальных функций, которые используются микроконтроллером