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

Синхронный обмен (режим 0)

В этом режиме по линии TxD выдается восемь синхроимпульсов, а по линии RxD принимается или передается байт данных. Передача и прием данных осуществляются начиная с младшего бита, сдвиг происходит в S6P2 каждого машинного цикла (рис. 4.13). Таким образом последовательный обмен про­изводится с фиксированной частотой Fosc/12. Это максимально возможная скорость обмена через последовательный порт микроконтроллера. Передача информации заключается в реализации следующих действий:

  • запись в регистр SCON байта управления, очищающего биты SM0, SM1, REN;

  • запись байта данных в регистр SBUF.

Передача начинается в следующем (после записи в регистр SBUF) машин­ном цикле с выдвижения бита D0 на линию RxD в фазе S6P2. В S3P1 следую­щего цикла на линии TxD появляется «0» первого импульса синхронизации. Выдвижение битов данных продолжается в каждом цикле до девятого вклю­чительно, когда на линии RxD появляется старший бит D7.

Рис. 4.13 - Работа последовательного порта в режиме 0

В начале десятого цикла линия RxD переводится в высокоуровневое состояние и ус­танавливается флаг RI, что свидетельствует об окончании передачи.

Прием информации инициируется записью в регистр SCON байта управле­ния, очищающего биты SM0, SM1, RI и устанавливающего бит REN. Во вто­ром цикле после этой операции записи в фазе S3P1 на линии TxD появляет­ся «0» первого импульса синхронизации, а на фазе S5P2 выполняется ввод младшего бита данных D0 с линии RxD в сдвиговый регистр. Ввод повторя­ется в последующих циклах и после восьми сдвигов в регистр вводится стар­ший бит D7, устанавливается флаг TI. После этого подпрограмма обслужи­вания может прочесть байт данных из SBUF.

Асинхронный обмен (режимы 1, 2, 3)

При асинхронном обмене данные передаются по линии TxD, а принимают­ся но линии RxD.

В режиме 1 кадр данных состоит из 10 бит (рис. 4.14): старт-бит, восемь битов данных, стоп-бит. При приеме в разряд RB8 регистра SCON записыва­ется стоп-бит. Скорость обмена определяется переполнением таймера 1.

В режимах 2 и 3 кадр данных состоит из 11 бит (рис. 4.15): старт-бит, восемь битов данных, программируемый бит, стоп-бит. При приеме подпрограмма обслуживания может прочитать девятый бит из разряда RB8 регистра SCON. При передаче девятый бит записывается в ТВ8 регистра SCON.

Рис. 4.14 - Работа последовательного порта в режиме 1

Пользователь может использовать девятый бит по своему усмотрению (часто это бит контро­ля). Скорость обмена в режиме 2 равна 1/32 (SMOD = 1) или 1/64 (SMOD = 0) частоты синхросигнала. Скорость передачи в режиме 3 определяется пере­полнением таймера 1. Передача информации заключается в реализации сле­дующих действий:

  • запись в регистр SCON байта управления, определяющего биты SM0, SM1 (выбор режима) и очищающего бит REN. Для режимов 2 и 3 следует запи­сать значение девятого бита данных в ТВ8;

  • запись байта данных в регистр SBUF.

Для инициализации приема следует установить бит REN регистра SCON. При­ем данных начинается после идентификации перехода «1»-«0» на линии RxD.

При синхронизации последовательного порта от Таймера 1, работающего в режиме автоперезагрузки, скорость обмена определяется по формуле:

где (ТН) - содержимое регистра ТН1 в десятичном представлении.

Рис. 4.15 - Работа последовательного порта в режимах 2 и 3