Тема 3. Структура базового МК
Базовый МК семейства Intel 8051 включает следующие основные устройства:
· ЦПУ (АЛУ, А, регистры и т.п.);
· Резидентная память программ , мин. - 4Кбайт;
· Резидентная память данных ( ОЗУ) , мин. - объемом 128 байт;
· Четыре двунаправленных побитно настраиваемых восьмиразрядных орта ввода-вывода;
· Два 16-разрядных таймера-счетчика;
· Контроллер обработки 5 прерываний (запросы на прерывание от внешних устройств (не показаны);
· Интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами.
Тема 4. Организация и функционирование базового ЦПУ
Блок обработки данных:
· АЛУ –арифметико-логическое устройство;
· R0 – R7 – регистры общего назначения;
· В – специальный регистр в MCS 51 – используется для команд MUL (умножение) и DIV (деление).
· MUL AB, где А – аккумулятор, В – специальный регистр;
· DIV AB, А – делимое, В – делитель, в А – частное, в В – остаток.
· В R0-R7 – можно хранить данные , константы (РОН, GP – general purpose);
· R0 и R1 – можно использовать как регистры адреса памяти данных;
· PC – Program Counter – программный счетчик. После питания или Reset PC = 0 – старт любой программы с нулевого адреса.
.
Модификации логических и арифметических операций над байтами
(с точки зрения расположения исходных данных, * - любая операция)
1) - одно данное всегда в аккумуляторе, другое в регистре и результат записывается всегда в аккумулятор. Режим адресации регистровый (РА). ADD A, R2; (A+R2 → R2)
2) ; М – данные в памяти данных. Можно использовать две адресации:
ADD A, adr – прямой адрес памяти;
ADD A, @ R0;косвенная регистровая адресация
Предварительно в R0 надо загрузить адрес памяти. @ - признак косвенной регистровой адресации.
3) - режим непосредственной адресации.
Пример ADD A, #32H
32Н – данное;
# - означает, что это данное, константа. Если пропустим #, то А будет сложено с данными из 32 ячейки.
· PSW – Program State Word ( F - регистр флажков)
§ CY –флажок переноса (carry) из старшего разряда (0 – перенос отсутствует, 1 – перенос есть)
§ AC –флажок переноса из третьего бита (старший бит младшей тетрады) - используется для десятичной коррекции младшей тетрады, при выполнении арифметической операции над двоично-кодированными десятичными данными (BCO – Binary Code Decimal). (0 – переноса нет; 1 – перенос есть). Выполняет коррекцию
§ СДК – схема десятичной коррекции.
§ F0 – нулевой флажок пользователя, не формируется автоматически. Можем сами использовать как надо. Устанавливаем в 0 или 1 сами.
§ S1, S0 – используется для выборки регистровых банков;
S1S0 Банк Рг
0 0 B0 (0-7)
0 1 B1 (8-16)
1 0 B2 (16-23)
1 1 B3 (24-31)
§ OV – overflow – формируется при арифметической операции при переполнение результата.
§ 1-й бит не используется.
§ P – parity (паритет) четность(0) или нечетность(1) результата.
Можно адресовать регистр флажков на уровне байта или отдельных битов (PSW.3)