2-664-1400429670-9 (Режимы работы и регистры последовательного интерфейса. Регистр управления/статуса приемопередатчика SCON.)
Описание файла
Документ из архива "Режимы работы и регистры последовательного интерфейса. Регистр управления/статуса приемопередатчика SCON.", который расположен в категории "". Всё это находится в предмете "специальные предметы" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "специальные предметы" в общих файлах.
Онлайн просмотр документа "2-664-1400429670-9"
Текст из документа "2-664-1400429670-9"
-
Режимы работы и регистры последовательного интерфейса. Регистр управления/статуса приемопередатчика SCON. Функциональное назначение бит регистра управления/статуса приемопередатчика SCON. Скорость приема/передачи информации через последовательный порт. Работа в сети.
Через универсальный асинхронный приемопередатчик UART (Universal Asynchronous Receiver-Transmitter) осуществляются прием и передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав приемопередатчика, называемого часто последовательным портом, входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика.
Кроме того, работой последовательного порта управляют два служебных регистра -
-
Регистр управления/статуса приемопередатчика SCON
-
Бит SMOD регистра управления мощностью PCON
Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного. Но если к моменту окончания приема байта предыдущий не был считан из SBUF, то он будет потерян.
Последовательный порт 8051 может работать в четырех различных режимах.
-
Режим 0. Информация и передается, и принимается через вывод входа приемника (RXD). Принимаются или передается 8 бит данных. Через вывод выхода передатчика (TXD; выдаются импульсы сдвига, которые сопровождают каждый бит. Частота передачи бита информации равна 1/12 частоты кварцевого резонатора
-
Режим 1. В этом режиме передаются через вывод TXD или принимаются через RXD 10 бит информации: старт-бит (0), 8 бит данных и стоп-бит (1) при приеме информации в бит RB8 регистра управления/статуса приемопередатчика SCON заносятся стоп-бит Скорость приема/передачи — величина переменная и задается таймером.
-
Режим 2. В этом режиме через вывод TXD передаются или через RXD принимаются 11 бит информации: старт-бит, 8 бит данных, программируемый девятый бит и стоп-бит. При передаче девятый бит данных может принимать значение 0 или 1 или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы (PSW.0). При приеме девятый бит данных помещается в бит RB8 SCON, а стоп-бит, в отличие от режима 1, теряется. Частота приема/передачи выбирается программой и может быть равна либо 1/32, либо 1/64 частоты резонатора в зависимости от управляющего бита SMOD.
-
Режим 3. совпадает с режимом 2 во всех деталях, за исключением частоты приема/передачи, которая является величиной переменной и задается таймером.
Во всех случаях передача инициализируется инструкцией, в которой данные перемещаются в SBUF. Прием инициализируется при обнаружении перепада из 1 в 0 на входе приемника. При этом в режиме 0 этот переход должен сопровождаться выполнением условий RI = 0 и REN= 1 (см. табл), а для остальных режимов - REN = 1.
Регистр управления/статуса приемопередатчика SCON.
Управление режимом работы приемопередатчика осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (RI и ТI).
Прикладная программа путем загрузки в старшие биты регистра SCON двухбитного кода определяет режим работы приемопередатчика. Во всех четырех режимах работы передача инициализируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Как уже отмечалось, прием в режиме 0 осуществляется при условии, что RI = 0 и REN = 1, в остальных режимах - при условии, что REN = 1.
В бите ТВ8 программно устанавливается значение девятого бита данных, который будет передан 8 режиме 2 или 3. В бите RB8 в этих режимах фиксируется девятый принимаемый бит данных. В режиме 1 в бит RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется.
Флаг прерывания передатчика ТI устанавливается аппаратно в конце периода передачи стоп-бита во всех режимах. Соответствующая подпрограмма обслуживания прерывания должна его сбрасывать.
Флаг прерывания приемника RI устанавливается аппаратно в конце периода приема восьмого бита данных в режиме 0 и в середине периода приема стоп-бита в режимах 1, 2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.
Функциональное назначение бит регистра управления/статуса приемопередатчика SCON.
Символ | Позиция | Имя и назначение | |||||||||||||||
SM0 | SCON.7 | Биты управления режимом работы приемопередатчика. Устанавливаются/сбрасываются программно см. примечание 1
| |||||||||||||||
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 | Флаг прерывания приемника. Устанавливается аппаратно при приеме байта. Сбрасывается программно после обслуживания прерывания |
Скорость приема/передачи информации через последовательный порт.
Скорость приема/передачи, т.е. частота работы приемопередатчика в различных режимах, определяется различными способами.
В режиме 0 частота передачи зависит только от резонансной частоты кварцевого резонатора
f РЕЗ: f=fРЕЗ/12.
За машинный цикл последовательный порт передает один бит информации. В режимах 1, 2 и 3 скорость приема/передачи зависит от значения управляющего бита SMOD в регистре специальных функций PCON.
Регистр управления мощностью PCON.
Символ | Позиция | Наименование и функция |
SMOD | PCON.7 | Удвоенная скорость передачи. Если бит установлен в 1, то скорость передачи вдвое больше, чем при SMOD = 0. По сбросу SMOD = 0. |
| PCON.6 | Не используется |
| PCON.5 | Не используется |
| PCON.4 | Hе используется |
GF1 | PCON.3 PCON.2 | Флаги, специфицируемые пользователем (флаги общего назначения) |
PD | PCON.1 | Бит пониженной мощности. При установке бита в 1 микро-ЭВМ переходит в режим пониженной потребляемой мощности |
IDL | PCON.0 | Бит холостого хода. Если бит установлен в 1, то микро-ЭВМ переходит в режим холостого хода |
Примечание. При одновременной записи 1 в PD и IDL бит PD имеет преимущество. Сброс содержимого PCON выполняется путем загрузки в него кода 0XXX0000.
В режиме 2 частота передачи определяется выражением
f =2SMODfРЕЗ/64.
Иными словами, при SMOD = 0 частота передачи равна 1/64 частоты fРЕЗ, а пои SMOD = 1 — 1/32 частоты fРЕЗ.
В режимах 1 и 3 в формировании частоты передачи, кроме управляющего бита SMOD, принимает участие таймер 1. При этом частота передачи f зависит от частоты переполнения f OVLTи определяется следующим образом:
f=2SMODfOVTL1/32
Прерывание от таймера 1 в этом случае должно быть заблокировано. Сам же таймер может работать как в режиме таймера, так и в режиме счетчика. Номер режима (0, 1, 2) роли не играет. Наиболее типично использование его в режиме таймера с автоперезагрузкой (старшая тетрада TMOD = 0010В). При этом частота передачи определяется выражением:
f = 2SMODfРЕЗ/(32х12х(256 —ТН1)).
Настройка таймера 1 для управления частотой работы приемопередатчика.
Частота приема/передачи (BAUD RATE) | Частота резонатора МГц | Таймер/счетчик 1 | |||
SMOD | С/Т | Режим (MODE) | Перезагружаемое число | ||
Режим 0, макс: 1 МГц | 12 | X | X | X | X |
Режим 2, макс: 375 Кгц | 12 | 1 | X | X | X |
Режим 1, 3: 62,2 Кгц | 12 | 1 | 0 | 2 | 0FFH |
19,2 Кгц | 11,059 | 1 | 0 | 2 | 0FDH |
9,6 Кгц | 11,059 | 0 | 0 | 2 | 0FDH |
4,8 Кгц | 11,059 | 0 | 0 | 2 | 0FAH |
2,4 Кгц | 11,059 | 0 | 0 | 2 | 0F4H |
1,2 Кгц | 11,059 | 0 | 0 | 2 | 0F4H |
137,5 Гц | 11,059 | 0 | 0 | 2 | 1DH |
110 Гц | 6 | 0 | 0 | 2 | 72H |
110 Гц | 12 | 0 | 0 | 1 | 0FЕЕВН |
Отметим, что скорости приема и передачи могут различаться.