Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микроконтроллеры семейства MCS-51.doc
Скачиваний:
210
Добавлен:
02.05.2014
Размер:
1.05 Mб
Скачать

Тема 4.9. Последовательный порт

Последовательный порт микроконтроллеров MCS-51 является дуплексным и обеспечивает работу в одном синхронном режиме (режим 0) и трех асин­хронных режимах (режимы 1, 2, 3). Поддерживается также последователь­ный обмен в многопроцессорных системах.

При синхронном приеме синхросигнал выдается по линии TxD, а данные принимаются или передаются по линии RxD. При асинхронном обмене блок последовательного порта передает данные по линии TxD, а принимает по линии RxD. Прием и передача могут осуществляться одновременно, по­скольку регистр данных SBUF состоит из двух частей. Чтобы передать дан­ные необходимо произвести запись в регистр SBUF, а для приема информа­ции необходимо прочитать содержимое регистра SBUF. Приемник буферизирован, т.е. возможен прием следующего байта, когда предыдущий еще находится в регистре SBUF. Однако, если подпрограмма обслуживания не успела прочесть байт данных из регистра SBUF к моменту завершения приема следующего байта, то этот следующий принятый байт затрет преды­дущий. Прием и передача обслуживаются битами прерывания RI и TI, ко­торые формируют общий запрос прерывания. Управляется последователь­ный порт с помощью регистра SCON.

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

SCON

Имя бита

Номер бита

Функция

SM0

SCON.7

Бит 0 определения режима работы последовательного порта

SM1

SCON. 6

Бит 1 определения режима работы последовательного порта

SM2

SCON.5

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

REN

SCON.4

Разрешение приема. При REN = 1 прием разрешен

TB8

SCON.3

9-й бит данных, который будет передаваться в режимах 2 и 3. Значение устанавливается программно разработчиком.

RB8

SCON.2

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

TI

SCON.1

Флаг запроса прерывания передатчика. Должен быть сбро­шен программно.

RI

SCON.0

Флаг запроса прерывания приемника. Должен быть сбро­шен программно.

Биты SM0 и SM1 следующим образом определяют режимы работы после­довательного порта:

SM0

SM1

Скорость передачи

Режим работы

0

0

Fosc/12

Режим 0. Сдвиговый регистр

0

1

переменная

Режим 1. Асинхронный приемо-передатчик, 8 бит данных в кадре.

1

0

Fosc/64 или Fosc/32

Режим 2. Асинхронный приемо-передатчик, 9 бит данных в кадре

1

1

переменная

Режим 3. Асинхронный приемо-пере-датчик, 9 бит данных в кадре

Кроме битов регистра SCON последовательный порт управляется также битом SMOD регистра PCON. В основном регистр PCON управляет режи­мами энергопотребления. Бит SMOD этого регистра управляет опцией удвоения скорости обмена. При SMOD = 1 скорость обмена данными через последовательный порт в режимах 1, 2 и 3 удваивается.