Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по АТ89С51 изд.вариант 2010-54.doc
Скачиваний:
86
Добавлен:
19.11.2019
Размер:
865.22 Кб
Скачать
    1. Процессор микроконтроллера

Процессор выполняет команды программы и организует их выполнение в заданной последовательности. Система команд микроконтроллеров семейства АТ89С51 содержит 111 команд.

Процессор содержит генератор тактового сигнала (OSC), шестнадцатиразрядный счётчик команд (PC), шестнадцатиразрядный регистр-указатель данных (DPTR), состоящий из двух восьмиразрядных регистров – старшего (DPH) и младшего (DPL), восьмиразрядный регистр – указатель стека (SP), восьмиразрядный регистр управления (PCON) и арифметико-логическое устройство (ALU).

Генератор тактового сигнала формирует последовательность тактовых импульсов. Период следования тактовых импульсов, равный длительности такта работы микроконтроллера, определяется резонансной частотой подключённого к микроконтроллеру кварцевого резонатора (рисунок 1.3). При использовании внешнего синхрогенератора сигнал подается на вход XTAL1, а выход XTAL2 остается неподключенным.

С1, С2 = 30 пФ10 пФ; R1=8,2 кОм; С3=10 мкФ

Рисунок 1.3 – Типовая схема включения микроконтроллера

Микроконтроллеры семейства АТ89С51 изготовлены по КМОП (CMOS) технологии и имеют полностью статическую структуру. Они могут работать при значениях тактовой частоты от 0 Гц. Максимальное значение тактовой частоты у микроконтроллера составляет 24 МГц.

В состав ALU входят восьмиразрядные регистры: регистр-аккумулятор ACC, вспомогательный регистр B и регистр слова-состояния программы PSW.

Контрольные вопросы

  1. На какие выводы микроконтроллера подается питание?

  2. Каким уровнем организуется сброс микроконтроллера?

  3. Что означает «статическая структура»?

  4. Какие устройства входят в состав микроконтроллера?

  5. Какие регистры содержит процессор микроконтроллера? За что они отвечают?

    1. Адресное пространство микроконтроллера

Адресуемым элементом памяти МК является восьмиразрядная ячейка.

Внутреннее постоянное запоминающее устройство (IROM) представляет собой программируемое запоминающее устройство с электрическим стиранием записи, выполненное по CMOS Flash-технологии (Flash Memory). Число восьмиразрядных ячеек в IROM микроконтроллера составляет 4 К.

IROM и внешнее постоянное запоминающее устройство (EROM) предназначены для хранения команд программы и констант. Адреса, используемые при обращении к IROM и EROM, образуют единое адресное пространство 64 К.

Внутреннее оперативное запоминающее устройство (IRAM) является статическим оперативным запоминающим устройством (SRAM). Адреса, используемые при обращении к IRAM, образуют адресное пространство внутренней оперативной памяти объёмом 256 байт (таблица 1.2).

Младшая половина адресов (от 00h до 7Fh) используется только для обращения к ячейкам IRAM. Старшая половина адресов используется для обращения к регистрам, расположенным в CPU и в периферийных устройствах. Обращение к ячейкам IRAM, которым соответствуют адреса от 00H до 7Fh, можно выполнять как по командам с прямой, так и по командам с косвенной адресацией.

В IRAM микроконтроллера образован стек типа LIFO. Адрес при записи байта в стек образуется путём увеличения на единицу адреса, хранящегося в регистре-указателе стека (SP). Адрес при чтении байта из стека берётся из регистра-указателя стека, после чего адрес в этом регистре уменьшается на единицу. При сбросе микроконтроллера в регистр-указатель стека заносится код 07Н. Путём записи в регистр SP иного начального адреса стек может быть смещён в другую область IRAM.

32 ячейки памяти в IRAM, которым соответствуют адреса от 00Н до 1FH, могут использоваться как регистры. К этим ячейкам можно обращаться как по командам с прямой или косвенной адресацией, так и по командам с регистровой адресацией. Группа из 32 регистров разделена на 4 банка (RB0–RB3). Регистры в пределах банка имеют номера от 0 до 7 (R0–R7).

Таблица 1.2 – Структура IRAM микроконтроллера

Адреса

Назначение

Тип адресации

FF

Регистры специальных функций (SFR)

Прямая*,

косвенная**,

поразрядная***

80

7F

Прямая,

косвенная,

поразрядная

2F

Область поразрядного обращения

7F

7E

7D

7C

7B

7A

79

78

2E

77

76

75

74

73

72

71

70

21

0F

0E

0D

0C

0B

0A

09

08

20

07

06

05

04

03

02

01

00

1F

Банки регистров

RB3

R7

18

R0

17

RB2

R7

10

R0

0F

RB1

R7

08****

R0

07

RB0

R7

00

R0

*

При обращении к ячейкам как к регистрам специальных функций

**

При обращении к ячейкам как к памяти

***

Допускают только адреса, кратные восьми (80h, 88h,…, F8h)

****

Дно стека при сбросе микроконтроллера

Выбор регистрового банка, в котором при обращении находится регистр с указанным номером, выполняется путём предварительной установки в определённое состояние двух разрядов в регистре PSW. Схема распределения разрядов в регистре PSW приведена на рисунке 1.4.

7

6

5

4

3

2

1

0

CY

AC

F0

RS1

RS0

OV

P

Рисунок 1.4 – Схема распределения разрядов в регистре PSW

Для выбора регистрового банка используются разряды регистра PSW.4=RS1 и PSW.3=RS0. Регистровые банки RB0–RB3 выбираются при комбинациях значений RS1, RS0=00, 01, 10 и 11 соответственно. Регистры R0 и R1 в каждом регистровом банке могут быть использованы для размещения адресов при выполнении команд с косвенной адресацией.

16 ячеек памяти в IRAM, которым соответствуют адреса от 20Н до 2FH, допускают поразрядное обращение. Биты в ячейках памяти IRAM с побитовой адресацией имеют адреса от 00H до 7FH.