Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дмитриев Универсалный лабораторный стенд. Аппаратные средства проектирования встраиваемых систем 2009

.pdf
Скачиваний:
62
Добавлен:
17.08.2013
Размер:
10.11 Mб
Скачать

2. ОСОБЕННОСТИ АРХИТЕКТУРЫ МК PCF80C552

2.1.ОСОБЕННОСТИ АРХИТЕКТУРЫ И ОРГАНИЗАЦИЯ ПАМЯТИ

МК PCF80C552 относится к семейству 80С51 (MCS-51) и выполняет его стандартный набор команд. Для повышения эффективности использования во встраиваемых системах в состав МК введен ряд дополнительных устройств:

8-разрядный параллельный порт ввода-вывода Р4;

входной порт Р5, линии которого являются также входами встроенного 8-канального 10-разрядного АЦП;

16-разрядный таймер Т2 с регистрами защелками и цифровыми компараторами для измерения и формирования временных интервалов;

последовательный интерфейс I2C;

2-канальный широтно-импульсный модулятор;

сторожевой таймер.

Особенности организации памяти МК рассмотрены в п. 1.4. На рис. 2.1 приведена карта памяти.

Рис. 2.1. Карта памяти МК PCF80C552

31

На рис. 2.2 представлена карта младшей части внутренней памяти данных (адреса 00h – 7Fh). В этой области располагаются 4 банка регистров общего назначения (РОН) R0-R7. Текущий используемый банк определяется значением двух разрядов RS1 и RS0 статусного регистра PSW. Контекстное переключение банка РОН является удобным механизмом для работы с подпрограммами и при обработке прерываний. 128 прямоадресуемых бит с адресами 0h7Fh занимают область памяти с адресами 20h-2Fh. Адрес 07h является начальным значением регистра-указателя стека SP, которое устанавливается в нем после прохождения сигнала «СБРОС». При таком значении SP началом занимаемой стеком области памяти будет адрес 08h. Максимальная глубина стека составляет 256 байт.

Рис. 2.2. Карта младшей части внутренней памяти данных

(адреса 00h – 7Fh)

32

МК имеет расширенный набор из 56 регистров специальных функций, к которому относятся все регистры за исключением счетчика команд и четырех банков РОН. На рис. 2.3 приведена карта области регистров специальных функций. Большинство регистров специальных функций предназначены для организации работы со встроенными интерфейсными устройствами.

Рис. 2.3. Карта области регистров специальных функций

33

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

34

Ряд регистров используется для выполнения арифметикологических команд (ACC, B, PSW) в качестве указателя стека SP и регистров указателей данных DPH и DPL для хранения адреса при обращении к устройству, отображаемому на пространство внешней памяти данных (в УЛС это собственно внешняя память данных

(8000h-FFFFh) и устройства ввода-вывода (7FF4h-7FFFh)). Регист-

ры специальных функций имеют прямую адресацию в области 80hFFh. 16 регистров, адреса которых заканчиваются на 0 или 8, имеют побитовую адресацию. При выполнении записи или чтения по свободным адресам из данной области функция запоминания не выполняется.

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

2.2. РЕГИСТРЫ СПЕЦИАЛЬНЫХ ФУНКЦИЙ

Рассмотрим основные регистры специальных функций базовой архитектуры 80С51 и ряд регистров дополнительных периферийных устройств.

1. PSW – побитно адресуемый регистр слова состояния программы.

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

 

 

 

 

 

 

 

 

CY

AC

F0

RS1

RS0

OV

F1

P

 

 

 

 

 

 

 

 

Назначение битов: CY – флаг переноса;

AC – дополнительный флаг переноса; FO – флаг пользователя 0;

RS1 – старший бит адреса банка РОН;

RS0 – младший бит адреса банка РОН; OV – флаг переполнения;

F1 – флаг пользователя 1;

P – флаг четности, устанавливается аппаратно после выполнения каждой команды и определяет четное/нечетное число единиц в аккумуляторе.

35

2. IEN0 – побитно адресуемый регистр разрешения прерываний.

IENO.7

IEN0.6

IEN0.5

IEN0.4

IEN0.3

IEN0.2

IEN0.1

IEN0.0

 

 

 

 

 

 

 

 

EA

EAD

ES1

ES0

ET1

EX1

ET0

EX0

 

 

 

 

 

 

 

 

 

Назначение битов:

EA – запрещение всех прерываний при ЕА = 0. При ЕА = 1 каждое прерывание разрешается индивидуально;

EAD – разрешение прерывания от АЦП;

ES1 – разрешение прерывания от I2C;

ES0 – разрешение прерывания от UART; ET1 – разрешение прерывания от таймера Т1;

EX1 – разрешение внешнего прерывания INT1;

ET0 – разрешение прерывания от таймера Т0;

EX0 – разрешение внешнего прерывания INT.

3. IEN1 – побитно адресуемый регистр разрешения прерывания от таймераТ2.

IEN1.7 IEN1.6 IEN1.5 IEN1.4 IEN1.3 IEN1.2 IEN1.1 IEN1.0

ET2 ECM2 ECM1 ECM0 ECT3 ECT2 ECT1 ECT0

Назначение битов:

ET2 – разрешение прерывания при переполнении таймера Т2; ECM2 – разрешение прерывания от компаратора 2 таймера Т2; ECM1 – разрешение прерывания от компаратора 1 таймера Т2; ECM0 – разрешение прерывания от компаратора 0 таймера Т2; ECT3 – разрешение прерывания от регистра-защелки 3 таймера

Т2;

ECT2 – разрешение прерывания от регистра-защелки 2 таймера Т2;

ECT1 – разрешение прерывания от регистра-защелки 1 таймера Т2;

ECT0 – разрешение прерывания от регистра-защелки 0 таймера

T2.

36

4. IP0 – побитно адресуемый регистр приоритета прерываний.

IP.7

IP.6

IP.5

IP.4

IP.3

IP.2

IP.1

IP.0

 

 

 

 

 

 

 

 

PAD

PS1

PS0

PT1

PX1

PT0

PX0

 

 

 

 

 

 

 

 

 

Назначение битов:

PAD – приоритет прерывания от АЦП;

РS1 – приоритет прерывания от I2C;

РS0 – приоритет прерывания от UART; РT1 – приоритет прерывания от таймера Т1;

РX1 – приоритет внешнего прерывания INT1;

РT0 – приоритет прерывания от таймера Т0;

РX0 – приоритет внешнего прерывания INT.

5. IP1 – побитно адресуемый регистр приоритета прерываний от таймера Т2.

IP1.7

IP1.6

IP1.5

IP1.4

IP1.3

IP1.2

IP1.1

IP1.0

 

 

 

 

 

 

 

 

PT2

PCM2

PCM1

PCM0

PCT3

PCT2

PCT1

PCT0

 

 

 

 

 

 

 

 

 

Назначение битов:

PT2 – приоритет прерывания при переполнении от таймера Т2; РCM2 – приоритет прерывания от компаратора 2 таймера Т2; РCM1 – приоритет прерывания от компаратора 1 таймера Т2; РCM0 – приоритет прерывания от компаратора 0 таймера Т2; РCT3 – приоритет прерывания от регистра-защелки 3 таймера

Т2;

РCT2 – приоритет прерывания от регистра-защелки 2 таймера Т2;

РCT1 – приоритет прерывания от регистра-защелки 1 таймера Т2;

PCT0 – приоритет прерывания от регистра-защелки 0 таймера Т2.

6. TCON – побитно адресуемый регистр управления таймерамисчетчиками Т0 и Т1 и конфигурации внешних прерываний INT0 и INT1.

37

TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

Назначение битов:

TF1 – флаг переполнения таймера Т1. Устанавливается аппаратно при переполнении и сбрасывается аппаратно при входе в обработчик этого прерывания;

TR1 – разрешение работы таймера Т1. При TR1 = 1 таймер Т1 включен, при TR1 = 0 выключен (устанавливается/сбрасывается программно);

TF0 – флаг переполнения таймера Т0. Устанавливается аппаратно при переполнении и сбрасывается аппаратно при входе в обработчик этого прерывания;

TR0 – разрешение работы таймера Т0. При TR0 = 1 таймер Т0 включен, при TR0 = 0 выключен (устанавливается/сбрасывается программно);

IE1 – флаг обнаружения сигнала прерывания на входе внешнего прерывания INT1. Устанавливается аппаратно при обнаружении и сбрасывается аппаратно при обработке прерывания;

IT1 – конфигурация прерывания INT1. При IT1 = 1 прерывание вызывается изменением 1/0, а при IT1 = 0 низким уровнем на входе

INT1;

IE0 – флаг обнаружения сигнала прерывания на входе внешнего прерывания INT0. Устанавливается аппаратно при обнаружении и сбрасывается аппаратно при обработке прерывания;

IT0 – конфигурация прерывания INT0. При IT0 = 1 прерывание вызывается изменением 1/0, а при IT0 = 0 низким уровнем на входе

INT0.

7. S0CON – побитно адресуемый регистр управления UART.

SCON.7 SCON.6 SCON.5 SCON.4 SCON.3 SCON.2 SCON.1 SCON.0

SM0 SM1 SM2 REN TB8 RB8

TI

RI

38

Назначение битов:

SM0 – режим работы UART, бит 0 (см. табл. 2.1);

SM1 – режим работы UART, бит 1 (см. табл. 2.1);

SM2 – разрешение мультипроцессорного обмена в режимах 2 и 3. В этих режимах, если SM2 = 1, то флаг RI не устанавливается, если принятый девятый бит данных (RB8) равен 0. В режиме 1, если SM2 = 1, флаг RI не устанавливается, если не принят единичный стоп-бит. В режиме 0 SM2 = 0;

REN – программное разрешение приема, если REN = 1, прием разрешен, если REN = 0, прием запрещен;

TB8 – девятый бит, передаваемый в режимах 2 и 3. Управляется программно;

RB8 – в режимах 2 и 3 это девятый бит принятых данных. В режиме 1, если SM2 = 0, то RB8 содержит принятый стоп-бит. В режиме 0 не используется;

TI – флаг прерывания передатчика. Устанавливается аппаратно в конце передачи 8-го бита в режиме 0 или в начале передачи стопбита в остальных режимах. Должен быть сброшен программно;

RI – флаг прерывания приемника. Устанавливается аппаратно в конце приема 8-го бита в режиме 0 или в середине приема стопбита в остальных режимах. Должен быть сброшен программно.

SM0

SM1

Режим

Комментарий

 

 

работы

 

 

 

 

 

0

0

0

Регистр сдвига. Скорость обмена –

 

 

 

Fosc/12

 

 

 

 

0

1

1

8-битный приемопередатчик. Ско-

 

 

 

рость обмена – переменная

 

 

 

 

1

0

2

9-битный приемопередатчик. Ско-

 

 

 

рость обмена – Fosc/64 или Fosc/32

 

 

 

 

1

1

3

9-битный приемопередатчик. Ско-

 

 

 

рость обмена – переменная

 

 

 

 

Замечание. В УЛС UART используется для реализации системных функций при организации обмена с инструментальной ЭВМ.

39

8. TMOD – регистр режимов таймеров-счетчиков Т0 и Т1. Побитно не адресуется.

D7

 

D6

D5

D4

D3

 

D2

D1

D0

 

 

 

 

 

 

 

 

 

 

 

 

GATE

 

C/T

M1

M0

GATE

 

C/T

M1

M0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T1

T0

Назначение битов:

GATE – при TRx = 1 (TCON) и GATE = 1 таймер Тх включен,

если INTx = 1 (аппаратное разрешение работы). Если GATE = 0, то таймер Тх включен при TRx = 1 (программное управление через регистр TCON;

C/T – выбор режима работы. При С/Т = 0 Тх работает как таймер от внешнего генератора, при С/Т = 1 таймер Тх работает как счетчик внешних событий по входу Тх;

M1 – бит 1 кода выбора режима (см. табл. 2.2);

M0 – бит 0 кода выбора режима (см. табл. 2.2).

М1

М0

Режим работы

Комментарий

 

 

 

 

0

0

0

13-разрядный таймер

 

 

 

 

0

1

1

16-разрядный таймер/счетчик событий

 

 

 

 

1

0

2

8-разрядный таймер/счетчик событий с

 

 

 

автоматической перезагрузкой

 

 

 

 

1

1

3

Регистр TL0 таймера 0 работает как

 

 

 

8-разрядный таймер/счетчик событий

 

 

 

под управлением битов таймера Т0.

 

 

 

Регистр TН0 таймера 0 работает как

 

 

 

8-разрядный таймер событий под

 

 

 

управлением битов таймера Т1.

 

 

 

Таймер Т1 выключен.

 

 

 

 

 

 

 

40

Соседние файлы в предмете Интегрированные системы управления и проектирования