Управление режимом работы УАПП осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (RI и ТI).
Функциональное назначение бит регистра управления/статуса УАПП приводится в табл.11.1.
Прикладная программа путем загрузки в старшие биты спецрегистра SCON 2-битного кода определяет режим работы УАПП. Во всех четырех режимах работы передача из УАПП инициируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Прием в УАПП в режиме 0 осуществляется при условии, что RI = 0 и REN - 1. В режимах 1, 2, 3 прием начинается с приходом старт-бита, если REN = 1.
В бите ТВ8 программно устанавливается значение девятого бита данных, который будет передан в режиме 2 или 3. В бите RB8 фиксируется в режимах 2 и 3 девятый принимаемый бит данных. В режиме 1, если SM2 = 0, в бит RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется.
|
|
Флаг прерывания передатчика ТI устанавливается аппаратурно в конце периода передачи восьмого бита данных в режиме 0 и в начале периода передачи стол-бита в режимах 1,2 и 3. Соответствующая подпрограмма обслуживания прерывания должна сбрасывать бит ТI.
Флаг прерывания приемника RI устанавливается аппаратурно в конце периода приема восьмого бита данных в режиме 0 и в середине периода приема стоп-бита в режимах 1, 2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.
Таблица 11.1. Регистр управления/статуса УАПП
Символ | Позиция | Имя и назначение | ||
SM0 | SCON.7 | Биты управления режимом работы УАПП. Устанавливаются/ сбрасываются программно (см. примечание) | ||
SM1 | SCON.6 | |||
SM2 | SCON.5 | Бит управления режимом УАПП. Устанавливается программно для запрета приема сообщения, в котором девятый бит имеет значение 0 | ||
REN | SCON.4 | Бит разрешения приема. Устанавливается/сбрасывается программно для разрешения/запрета приема последовательных данных | ||
TB8 | SCON.3 | Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита в режиме УАПП-9 бит | ||
RB8 | SCON.2 | Прием бита 8. Устанавливается/сбрасывается аппаратурно для фиксации девятого принимаемого бита в режиме УАПП-9 бит | ||
TI | SCON.1 | Флаг прерывания передатчика. Устанавливается аппаратурно при окончании передачи байта. Сбрасывается программно после обслуживания прерывания | ||
RI | SCON.0 | Флаг прерывания приемника. Устанавливается аппаратурно при приеме байта. Сбрасывается программно после обслуживания прерывания | ||
Примечание | ||||
SM0 | SM1 | Режим работы УАПП | ||
Сдвигающий регистр расширения ввода/вывода | ||||
УАПП-8 бит. Изменяемая скорость передачи | ||||
УАПП-9 бит. Фиксированная скорость передачи | ||||
УАПП-9 бит. Изменяемая скорость передачи | ||||