Микропроцессоры и микроконтроллеры

 
 
 
«Си позволяет легко выстрелить себе в ногу; с C++ это сделать сложнее, но, когда вы это делаете, вы отстреливаете себе ногу целиком.»
Bjarne Stroustrup
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы программирования MSC-51 :: Структура последовательного порта и принципы управления

Структура последовательного порта и принципы управления

Последовательный порт часто называют универсальным асинхронным приемо-передатчиком (УАПП – UART).

Через УАПП осуществляется прием и передача информации, представленной последовательным кодом. Порт последовательного ввода-вывода используют в асинхронном режиме для связи со стандартными периферийными устройствами (дисплеем, модемом, другими контроллерами). В синхронном режиме УАПП может быть применен для расширения количества линий ввода-вывода с использованием внешних МОП и ТТЛ сдвигающих регистров. Аппаратная реализация последовательного ввода-вывода обеспечивает экономию ячеек памяти программ.

В состав УАПП входят (рис.15.1 и рис.28 в комплекте):

-         сдвигающий регистр приема;

-         сдвигающий регистр передачи;

-         буферный регистр приема-передачи с именем SBUF;

-         схемы управления и обработки внешних сигналов управления.

Запись байта в буфер SBUF программным путем приводит к автоматическому переписыванию байта в сдвигающий регистр передачи и инициирует начало передачи байта. Наличие буферного регистра приема позволяет совмещать операцию пересылки ранее принятого байта во внутреннюю память с приемом следующего байта. Если к моменту окончания приема байта предшествующая информация не была считана из SBUF, она теряется.

Управление работой УАПП осуществляется через биты регистра SCON (имеет побитовую адресацию). Программная установка в "1" бита REN (SCON.4) разрешает прием. При REN=0 прием запрещен.

При очистке буфера УАПП (окончании сдвига при передаче) формируется сигнал прерывания ТI для процессора МК. При заполнении регистра приема формируется сигнал RI (биты SCON.1, SCON.0 соответственно). Эти флаги должны сбрасываться программой обработки прерывания, чтобы обработка прерывания не повторялась. Структура регистра SCON приведена на рис.15.2.

Таблица 15.1

Назначение битов регистра SCON

Имя бита

Позиция

Назначение

SM0

SM1

SCON.7

SCON.6

Биты выбора режима работы УАПП.

Устанавливаются и сбрасываются программно.

SM1

SM0

Режим работы УАПП

0

0

Режим 0. Сдвигающий регистр расширения ввода-вывода (синхронный режим)

0

1

Режим 1. УАПП-8 бит. Скорость передачи изменяется программно

1

0

Режим 2. УАПП-9 бит. Фиксированная скорость передачи

1

1

Режим 3. УАПП-9 бит. Скорость передачи изменяется программно

SM2

SCON.5

Бит управления приемом УАПП. Модифицируется программно. При SM2 = 1 запрещается прием сообщений, в которых девятый бит равен 0 (для режимов 2 и 3)

REN

SCON.4

Бит разрешения приема. Устанавливается /сбрасывается программно для разрешения/запрета приема последовательного кода ("включатель передатчика")

TB8

SCON.3

Передача бита 8 (так называемого "девятого бита").Модифицируется программно для задания девятого передаваемого бита в режимах 2 и 3

RB8

SCON.2

Прием бита 8 (“девятого бита”). Изменяется аппаратно и фиксирует девятый принятый бит в режимах 2 и 3

TI

SCON.1

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

RI

SCON.0

Флаг прерывания от приемника. Устанавливается аппаратно при окончании приема байта. Должен сбрасываться программно при обработке прерывания

Скорость приема-передачи зависит от режима работы УАПП и в режимах 1...3 определяется с учетом значения разряда PCON.7 регистра управления мощностью PCON (регистр не имеет битовой адресации). Этот разряд условно называется SMOD. При SMOD=0 - скорость передачи, которая определяется тактовой частотой или частотой переполнения Т/С1. При SMOD=1 - удвоенная скорость передачи относительно заданной для конкретного режима.




Следующая статья >>
«Описание режимов работы УАПП»