logo
ответы_ОМПТ_Тайлан

9. Режимы работы последовательного порта мк51

Управление работой последовательного порта осуществляется с помощью регистра SCON, все разряды которого программно доступны по записи и чтению. Режимы задаются двумя битами SM0 и SM1. Порт может работать в следующих четырех режимах.

Режим 0. Информация передается (младшими битами вперед) и принимается через вход приемника RxD (P3.0). Через выход передатчика TxD (P3.1) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки - 8 бит. Частота приема и передачи - fBQ/12. Передача начинается любой командой, которая использует регистр SBUF в качестве регистра назначения, прием - при сбросе флага RI (если REN=1).

Режим 1. Информация передается через выход передатчика, а принимается через вход приемника. Формат посылки - 10 бит: старт-бит (ноль), восемь бит данных и стоп-бит (единица). Частота приема и передачи задается таймером-счетчиком Т/С1.

Режим 2. Формат посылки - 11 бит (рис. 7.2): старт-бит, восемь бит данных, программируемый девятый бит и стоп-бит. Передаваемый девятый бит данных принимает значение бита ТВ8. Бит ТВ8 регистра SCON может быть программно установлен в 1 или 0, или в него можно поместить значение бита Р из регистра PSW для повышения достоверности принимаемой информации (контроль по паритету). При приеме девятый бит принятой посылки поступает в бит RB8 регистра SCON. Частота приема и передачи задается программно и может быть равна fBQ/32 (SMOD=1) или fBQ/64 (SMOD=0). Бит SMOD регистра PCON можно установить в 1 командой MOV PCON,#80H.

Режим 3. Полностью идентичен режиму 2, только частота приема и передачи задается (как и в режиме 1) таймером Т/С1 и равна (2SMOD/32)fOV, где fOV - частота переполнения Т/С1. Обычно для синхронизации последовательного порта Т/С1 включается в режим перезагрузки (режим 2). В этом случае fOV=fBQ/{12 [256 - (TH1)]}. Прерывания от Т/С1 запрещаются.