Скачиваний:
25
Добавлен:
03.06.2014
Размер:
2.3 Mб
Скачать

1.5.2. Регистр буфера приемника последовательного порта

Serial Port Receive Buffer Register

Аббревиатура - SBUF (RX).

Размер - 1 байт.

Находится по адресу 07h.

Использовать для записи в окне HWindow 15.

Использовать для чтения в окне HWindow 0.

Регистр буфера приемника последовательного порта содержит данные, получаемые из последовательного порта. Приёмник последовательного порта использует двойную буферизацию и поэтому может начать приём второго байта данных, до того, как из него будет прочитан первый байт. Данные удерживаются в сдвигающем регистре приёмника до тех пор, пока не будет получен последний бит данных, затем байт данных загружается в SBUF(RX). Если данные из сдвигающего регистра загружаются в SBUF(RX) до того, как из SBUF(RX) будет прочитан предыдущий байт данных, установится бит ошибки переполнения OE (SP_STAT.2). Регистр SBUF(RX) всегда содержит последний принятый из последовательного порта байт данных. По сбросу SBUF(RX)=00000000

SBUF(RX)

адрес 07h ,

запись HWindow 15

чтение HWindow 0

7

6

5

4

3

2

1

0

1.5.3. Регистр буфера передатчика последовательного порта

Serial Port Transmit Buffer Register

Аббревиатура - SBUF (TX).

Размер - 1 байт.

Находится по адресу 07h.

Использовать для записи в окне Hwindow 0.

Использовать для чтения в окне Hwindow 15.

Регистр буфера передатчика последовательного порта содержит данные, которые готовы для передачи. В режимах 1,2,3 запись в SBUF(TX) начинает передачу. В режиме 0 запись в SBUF(TX) начинает передачу, только если отключен приемник REN (SP_CON.3=0). По сбросу SBUF(TX)=00000000

SBUF(TX)

адрес 07h

запись HWindow 0

чтение HWindow 15

7

6

5

4

3

2

1

0

1.5.4. Регистр управления последовательным портом.

Serial Port Control Register

Аббревиатура - SP_CON.

Размер - 1 байт.

Находится по адресу 11h.

Использовать для записи в окне Hwindow 0.

Использовать для чтения в окне Hwindow 15.

Регистр управления последовательным портом устанавливает коммуникационный режим, разрешает или запрещает:

- работу приёмника;

- контроль четности;

- передачу девятого бита данных.

Передатчик (TXD) совместно с портом P2 использует контакт P2.0, и поэтому, чтобы допустить функции передатчика, должен быть установлен бит IOC1.5 . В режимах 1,2,3 TXD служит в качестве контакта передатчика последовательного порта, а в режиме 0 в качестве контакта синхронизации. Для запрещения функции передатчика для контакта P2.0 очистите бит IOC1.5 .

Приёмник (RXD) совместно с портом P2 использует контакт P2.1, и поэтому, чтобы допустить функции приёмника должен быть установлен бит REN (SP_CON.3) . В режимах 1,2,3 RXD служит в качестве контакта приёмника последовательного порта, а в режиме 0 в качестве приемника или передатчика.

Для запрещения функции приёмника для контакта P2.1 очистите бит REN (SP_CON.3) .

SP_CON

адрес 11h ,

запись HWindow 0

чтение HWindow 15

7

6

5

4

3

2

1

0

R

R

R

TB8

REN

PEN

SER_MODE

SER_MODE

SER_MODE - эти два бита выбирают (см. табл.3.2) коммуникаци-онный режим

Табл.3.2

Бит 1

Бит 0

0

0

Режим 0

0

1

Режим 1

1

0

Режим 2

1

1

Режим 3

Выбор нового коммуникационного режима сбрасывает последовательный порт ввода-вывода и прекращает передачу и приём в канале.

PEN - (Even Parity Enable, разрешение контроля четности) - В режимах 1 и 3 установка этого бита разрешает контроль чётности. В режиме 2 этот бит должен быть очищен. Когда этот бит установлен, при передаче TB8 содержит значение величины контроля по четности. При приёме, если принятый и вычисленный бит контроля по четности не совпали, бит SP_STAT.7 устанавливается в 1.

REN - (Receive Enable, разрешение приёма) - установка этого бита разрешает функцию RXD для контакта P2.1/RXD . Когда этот бит установлен, переход из высокого в низкое состояние на контакте RXD в режимах 1,2,3 начинает приём. В режиме 0 для начала передачи этот бит должен быть очищен, а для начала приёма этот бит должен быть установлен. Очистка этого бита останавливает процесс приёма и запрещает дальнейший прием.

TB8 - (Transmit Ninth Data Bit, девятый передаваемый бит данных) - это девятый бит данных, который будет передан в режимах 2 или 3. Этот бит очищается после каждой передачи, поэтому, если требуется, он должен быть установлен перед записью в SBUF(TX). Когда REN в состоянии еденица (SPCON.2 =1) этот бит представляет величину контроля по четности.

R - зарезервированные биты, всегда должны быть очищены.

По сбросу состояние регистра SP_CON следующее: 00001011

Соседние файлы в папке lab96