Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kharakhnin / ПОСОБИЕ_Харахнин.doc
Скачиваний:
281
Добавлен:
08.03.2016
Размер:
17.89 Mб
Скачать

Глава 1. Архитектура и устройство

ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ

СЕМЕЙСТВА MCS 51

1.1. Внутренняя организация мк

Рассмотрим архитектуру однокристального МК К1830ВЕ751, представленную на рис.1. МК не являются машинами классического “фон-неймановского” типа, поскольку память программ и память данных физически и логически разделена. Такая архитектура называется “гарвардской”. Рассматриваемый МК содержит все узлы, необходимые для автономной работы:

  • центральный восьмиразрядный процессор;

  • память программ объемом в 4 кбайта;

  • память данных объемом в 128 байт;

  • 4 восьмиразрядных параллельных порта ввода-вывода;

  • 2 шестнадцатиразрядных многорежимных таймера-счетчика;

  • систему прерываний с 5 векторами прерываний и двумя уровнями;

  • последовательный порт;

  • встроенный тактовый генератор.

АЛУ – 8 - разрядное арифметико-логичеcкое устройство позволяет выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции “И”, “ИЛИ”, “исключающее ИЛИ”, “НЕ”, а также операции циклического сдвига. АЛУ содержит программно - недоступные регистры Т1 и Т2, предназначенные для временного хранения операндов. АЛУ может оперировать четырьмя видами информационных объектов: битами, тетрадами, байтами, шестнадцатиразрядными словами. Особенно важна способность АЛУ работать с битами. Семейство МК51 даже называют “битовым процессором”, что показывает направленность этих МК на решение задач управления объектами. Рассмотрим элементы архитектуры.

А (АСС)– аккумулятор представляет 8 - разрядный регистр, предназначенный для приема и хранения результата, полученного при выполнении арифметико-логических операций.

PSW – 8- разрядный регистр состояния, предназначен для хранения информации о состоянии результата текущей выполненной команды.

В – 8 - разрядный регистр, используемый во время операции умножения и деления, для других команд может рассматриваться как сверхоперативный регистр.

EPROM - 4 - килобайтное перепрограммируемое (стираемое ультрафиолетовыми лучами) постоянное запоминающее устройство, предназначено для долговременного хранения кодов программы и констант (таблиц перекодировок).

RAM - 128 - байтное оперативное запоминающее устройство, предназначено для временного хранения переменных в процессе выполнения прикладной программы.

PC – счетчик команд - шестнадцатиразрядный регистр, предназначен для хранения адреса следующей выполняемой команды прикладной программы.

DPTR – 16 - разрядный регистр, предназначен для хранения адреса ячейки внешней памяти. Этот регистр состоит из двух половинок DPL ( младший байт) и DPH (старший байт), которые программно - доступны и независимы.

OSC – внутренний генератор, который вырабатывает импульсы синхронизации.

Блок управления и синхронизации – предназначен для выработки управляющих сигналов, обеспечивающих координацию совместной работы блоков МК во всех режимах работы.

SP – восьмибитный регистр - указатель стека, предназначенный для хранения адреса вершины стека. При системном сбросе в указателе стека находится адрес 07H. Область стека в ОЗУ начинается с адреса 08Н. При необходимости программно можно переопределить адрес SP в ОЗУ.

RAR – восьмиразрядный регистр (программно недоступен), предназначенный для хранения адреса ячейки внутреннего ОЗУ.

Десятичный корректор – устройство, позволяющее проводить десятичную коррекцию результата, находящегося в аккумуляторе (имеется специальная команда DA A).

PCON – восьмиразрядный регистр, предназначенный для управления режимом пониженного энергопотребления.

IE – восьмиразрядный регистр разрешения или запрещения прерываний от соответствующих источников.

IP – восьмиразрядный регистр установки приоритетов прерываний.

TMOD – восьмиразрядный регистр для настройки таймеров-счетчиков на соответствующий режим.

TCON – восьмиразрядный регистр для управления таймерами-счетчиками, а также для хранения информации о состоянии системы прерываний МК.

Рис. 1. Архитектура однокристального МК К1830ВЕ751

TL0,TH0 (T/C0), TL1,TH1 (T/C1) – соответственно младшие и старшие байты регистра таймеров-счетчиков 0 и 1.

SCON – восьмиразрядный регистр предназначен для приема и хранения кода, управляющего последовательным портом МК.

SBUF - буферный восьмиразрядный регистр передатчика и приемника, предназначенный для временного хранения передаваемого или принимаемого информационного байта последовательного порта.

С целью оценки технических возможностей МК различных фирм кратко рассмотрим основные параметры табл. 1. Из таблицы видно, что некоторые МК не содержат на кристалле память программ. Для работы таких устройств требуется внешняя память, подключение которой будет рассмотрено позже. Некоторые МК содержат УФППЗУ - перепрограммируемое постоянное запоминающее устройство со стиранием ультрафиолетовыми лучами. На корпусе таких устройств имеется специальное окно, покрытое кварцевым стеклом, через которое видно кристалл микросхемы. Именно через это окно происходит облучение кристалла ультрафиолетовыми лучами в случае стирания записанной программатором прикладной программы. Такие микросхемы выгодны на этапе отладки программного обеспечения микропроцессорного устройства, поскольку программу можно записывать несколько раз. Отдельные микросхемы содержат память программ в виде ПЗУ. В такую память программа записывается единожды. Эти МК удобно использовать в серийном производстве контроллеров, когда программа отлажена и модифицироваться не будет.

В последнее время в качестве памяти программ используется FLASH память (AT89C55, AT89LV55, AT89S8252) / 2 /. FLASH технология позволяет многократно (1000 раз гарантировано) программировать память электрическими сигналами. Микросхема AT89S8252 содержит в дополнение к внутренней памяти данных 2 - килобайтное FLASH ОЗУ, число циклов стирания/записи которого составляет 100000. Размещенная на кристалле энергонезависимая внешняя память данных позволяет хранить константы, таблицы и другие данные, которые должны допускать возможность оперативного изменения в процессе работы без потери их при выключении напряжения питания. Микросхемы ATMEL, содержащие в маркировке букву S, имеют устройство SPI (Serial Peripheral Interface) - последовательный периферийный интерфейс, который может использоваться для программной загрузки.

Современные МК в дополнение к основным таймерам/счетчикам содержат так называемый сторожевой таймер (WATCH DOG). Он предназначен для исключения ситуаций, когда процессор “зависает”. С этой целью сторожевой таймер вырабатывает сигнал сброса по истечению определенного заданного интервала времени.

В настоящее время широкое распространение получили МК фирмы MICROCHIP, так называемые pic-контроллеры / 3 /. Эти устройства относятся к RISC виду, имеют упрощенную систему команд. Их отличает высокое быстродействие, высокая нагрузочная способность разрядов портов (25 мА), низкое потребление энергии (2мА при +5В и частоте 4мГц, в режиме SLEEP – 1 мкА), последовательный порт для PIC16C74 имеет режимы SPI и приборной, двухпроводной шины I2C.

Таблица 1

МК

Объем внутренней памяти программ, байт

Тип памяти программ

Объем памяти данных,

байт

Тактовая частота, мГц

Ток потребления,

мА

Особенности

1

2

3

4

5

6

7

INTEL 8035

(КР1816ВЕ35)

Нет

Внешняя

64

6

135

INTEL 8748

(КР1816ВЕ48)

1кБ

УФППЗУ

64

6

135

INTEL 8039

(КР1816ВЕ39)

Нет

Внешняя

128

11

110

INTEL 8049

(КР1816ВЕ49)

2кБ

ПЗУ

128

11

110

INTEL 80C35

(КР1830ВЕ35)

Нет

Внешняя

64

6

8

INTEL 80C48

(КР1830ВЕ48)

1кБ

ПЗУ

64

6

8

INTEL 8031AH

(КР1816ВЕ31)

Нет

Внешняя

128

12

150

INTEL 8051AH

(КР1816ВЕ51)

4кБ

ПЗУ

128

12

150

INTEL 8751H

(К1816ВЕ751)

4 кБ

УФППЗУ

128

12

220

INTEL 80C31BH

(КР1830ВЕ31)

Нет

Внешняя

128

12

18

INTEL 80C51BH

(КР1830ВЕ51)

4 кБ

ПЗУ

128

12

18

Окончание табл.1

1

2

3

4

5

6

7

INTEL 87C51GB

8кБ

УФППЗУ

256

12,16

8-канальн., 8-бит. АЦП

ATMEL AT89C55, AT89LV55

20 кБ

FLASH

256

12,16, 20, 24

25

ATMEL

AT89S53

12кБ

ПЗУ

256

16,24,33

25

SPI, сторожевой таймер

ATMEL

AT89S8252

8кБ

FLASH

256

12, 16, 24, 33

20

SPI, 2кБ FLASH ОЗУ, сторожевой таймер

MICROCHIP

PIC16C54

PIC16C55

512*12

ПЗУ

32

20

2

Сторожевой таймер, Iвых,раз.=20 мА

MICROCHIP

PIC16C56

PIC16C57

1кБ * 12

2кБ * 12

ПЗУ

32

80

20

2

Сторожевой таймер, Iвых,раз.=20мА

MICROCHIP

PIC16C71

1кБ * 14

ПЗУ

36

20

2

4 канал. АЦП, сторожевой таймер, Iвых,раз.=20мА

MICROCHIP

PIC16C74

4кБ * 14

ПЗУ

192

20

2

8 канал. АЦП, сторожевой таймер, SPI, I2C, Iвых, раз.=25 мА, ШИМ.