МИКРОКОНТРОЛЛЕРЫ
СЕНТЯБРЬ
А
рхитектура
и
система
команд
микроконтроллера
семейства
МСв-51
(Продолжение. Начало в №6-8/2002)
ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ МИКРОКОНТРОЛЛЕРА 8051
Через универсальный асинхронный приемопередатчик UART
(UniversalAsynchronous ReceiverTransmitter) осуществляется при-
ем и передача информации, представленной последовательным
кодом (младшими битами вперед), в полном дуплексном режиме
обмена. В состав приемопередатчика, называемого часто после-
довательным портом, входят принимающий и передающий сдви-
гающие регистры, а также специальный буферный регистр (SBUF)
приемопередатчика.
Кроме того, работой последовательного порта управляют два
служебных регистра:
- регистр управления/статуса приемопередатчика SCON;
- бит SMOD регистра управления мощностью PCON.
Запись байта в буфер приводит к автоматической переписи
байта в сдвигающий регистр передатчика и инициирует начало
передачи байта. Наличие буферного регистра приемника позво-
ляет совмещать операцию чтения ранее принятого байта с при-
емом очередного. Но если к моменту окончания приема байта
предыдущий не был считан из SBUF, то он будет потерян.
Последовательный порт 8051 может работать в четырех раз-
личных режимах.
Режим 0.
Информация и передается, и принимается через
вывод входа приемника (RXi TXi). Через вывод выхода передат-
чика (TXD) выдаются импульсы сдвига, которые сопро-
вождают каждый бит. Частота передачи бита инфор-
мации равна 1/12 частоты кварцевого резонатора.
Режим 1.
В этом режиме передаются через вывод
TXD или принимаются через R XD10 бит информации:
старт-бит (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 этот переход должен сопровождаться
выполнением условий R1 = 0 и REN = 1 (табл. 8), а для
остальных режимов - REN = 1.
Регистр управления/статуса приемопередатчи-
ка SCON
Управление режимом работы приемопередатчика
осуществляется через специальный регистр с симво-
лическим именем SCON. Этот регистр содержит не
только управляющие биты, определяющие режим ра-
боты последовательного порта, но и девятый бит принимаемых
или передаваемых данных (RB8 и ТВ8) и биты прерывания при-
емопередатчика (R1 иТ1).
Прикладная программа путем загрузки в старшие биты реги-
стра SCON 2-битного кода определяет режим работы приемопе-
редатчика. Во всех четырех режимах работы передача инициа-
лизируется любой командой, в которой буферный регистр SBUF
указан как получатель байта. Как уже отмечалось, прием в режи-
ме 0 осуществляется при условии, что R1 = 0 и REN = 1, в осталь-
ных режимах - при условии, что REN = 1.
В бите ТВ8 программно устанавливается значение девятого
бита данных, который будет передан в режиме 2 или 3. В бите
RB8 в этих режимах фиксируется девятый принимаемый бит дан-
ных. В режиме 1 в бит RB8 заносится стоп-бит. В режиме 0 бит
RB8 не используется.
Флаг прерывания передатчика TI устанавливается аппаратно
в конце периода передачи стоп-бита во всех режимах. Соответ-
ствующая подпрограмма обслуживания прерывания должна сбра-
сывать бит TL.
Флаг прерывания приемника RI устанавливается аппарат-
но в конце периода приема восьмого бита данных в режиме 0
и в середине периода приема стоп-бита в режимах 1, 2 и 3.
Подпрограмма обслуживания прерывания должна сбрасывать
бит RI.
Функциональное назначение бит регистра управления/
статуса приемопередатчика SCON
Скорость приема/передачи информации через последо-
вательный порт
Скорость приема/передачи приемопередатчика в различ-
ных режимах определяется различными способами.
В режиме 0 частота передачи зависит только от резонанс-
ной частоты кварцевого резонатора /рез:
/= М 1 2
рез
За машинный цикл последовательный порт передает один
бит информации. В режимах 1,2 и 3 скорость приема/передачи
зависит от значения управляющего бита БМСЮ в регистре спе-
циальных функций РС<Ж
Регистр управления мощностью РСОИ
Табл. 8
Примечание.
П ри одновременной записи 1 в РО и Ю б бит
РО имеет преимущ ество. Сброс содержимого Р С О И выпол-
няет ся пут ем загрузки в него кода 0Х Х Х0000.
Символ Позиция
Имя и назначение
SM0
SCON.7
Биты управления режимом работы приемопередатчика. Устамавливаются/сбрасываются
программно см. примечание 1
SM0 SM1
Режим работы приемопередатчика
SM1
SCON.6
0
0
Сдвигающий регистр расширения ввода/вывода
0
1
8 битовый приемопередатчик, изменяемая скорость передачи
0
9 битовый приемопередатчик. Фиксированная скорость передачи
1
1
9 битовый приемопередатчик, изменяемая скорость передачи
SM2
SCON.5
Бит управления режимом приемопередатчика. Устанавливается программно для запрета
приема сообщения, в котором девятый бит имеет значение 0
REN
SCON.4
Бит разрешения приема. Устанавливается/сбрасывается программно для
разрешения/залрета приема последовательных данных
ТВ8
SCON. 3
Передача бита 8. Устанавливается/сбрасывается программно для задания девятого
передаваемого бита в режиме 9-битового передатчика
RB8
SCON.2
Прием бита 8. Устанавливается/сбрасывается аппаратно для фиксации девятого
принимаемого бита в режиме 9-битового приемника
ТІ
SCON. 1
Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи
байта. Сбрасывается программно после обслуживания прерывания
Ri
SCON.O
Флаг прерывания приемника. Устанавливается аппаратно при приеме байта.
Сбрасывается программно после обслуживания прерывания
Символ
Позиция
Наименование и функция
SMOD
PCON.7
Удвоенная скорость передачи. Если бит установлен в 1, то скорость передачи вдвое
больше, чем при БМСЮ = 0. По сбросу БМСЮ = 0.
PCON.6
Не используется
PCON.5
Не используется
PCON.4
Не используется
GF1
GF0
PCON.3
PCON.2
Флаги, специфицируемые пользователем (флаги общего назначения)
PD
PCON.1
Бит пониженной мощности. При установке бита в 1 микро-ЭВМ переходит в режим
пониженной потребляемой мощности
IDL
PCON.O
Бит холостого хода. Если бит установлен в 1, то микро-ЭВМ переходит а режим
холостого хода
РЛ
9/2002
предыдущая страница 27 Радиолюбитель 2002-09 читать онлайн следующая страница 29 Радиолюбитель 2002-09 читать онлайн Домой Выключить/включить текст