Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Stenin Lab / C8051F60-67-устройство МК.pdf
Скачиваний:
196
Добавлен:
10.02.2015
Размер:
5.19 Mб
Скачать

C8051F060/1/2/3/4/5/6/7

“действительный”. Если бы ведущий послал затем адрес “11111111”, то все три ведомых устройства распознали бы этот адрес как действительный широковещательный адрес.

Рисунок 22.7. Пример использования УАПП в многопроцессорном режиме

Ведущее

Ведомое

Ведомое

Ведомое

устройство

устройство

устройство

устройство

 

 

 

 

 

 

 

VDD

RX

TX

RX

TX

RX

TX

RX

TX

22.3. Определение ошибок формата и ошибок передачи

Все режимы:

Бит ошибки передачи (TXCOL0 в регистре SSTA0) читается как ‘1’, если программа пользователя записывает данные в регистр SBUF0 во время процесса передачи данных. Следует иметь ввиду, что если значение бита TXCOL0 записывается программой пользователя, то он функционирует как бит SM20. Этот бит не генерирует прерывание.

Режимы 1, 2 и 3:

Бит переполнения приемника (RXOV0 в регистре SSTA0) читается как ‘1’, если новый байт данных фиксируется в буфере приемника прежде, чем программа закончит чтение предыдущего байта. Следует иметь ввиду, что если значение бита RXOV0 записывается программой пользователя, то он функционирует как бит SM10. Бит ошибки формата (FE0 в регистре SSTA0) читается как ‘1’, если обнаружен некорректный (низкого уровня) бит STOP. Следует иметь ввиду, что если значение бита FE0 записывается программой пользователя, то он функционирует как бит SM00. Биты RXOV0 и FE0 не генерируют прерываний.

Ред. 1.2

272

C8051F060/1/2/3/4/5/6/7

Таблица 22.2. Тактовые частоты, соответствующие стандартным скоростям обмена

Тактовая частота

Коэффициент

Значение

Значение

Скорость передачи

перезагрузки

перезагрузки

(МГц)

деления

данных (Гц)**

Таймера 1*

Таймеров 2, 3 или 4

 

 

 

24.0

208

0xF3

0xFFF3

115200 (115384)

22.1184

192

0xF4

0xFFF4

115200

18.432

160

0xF6

0xFFF6

115200

11.0592

96

0xFA

0xFFFA

115200

3.6864

32

0xFE

0xFFFE

115200

1.8432

16

0xFF

0xFFFF

115200

24.0

832

0xCC

0xFFCC

28800 (28846)

22.1184

768

0xD0

0xFFD0

28800

18.432

640

0xD8

0xFFD8

28800

11.0592

348

0xE8

0xFFE8

28800

3.6864

128

0xF8

0xFFF8

28800

1.8432

64

0xFC

0xFFFC

28800

24.0

2496

0x64

0xFF64

9600 (9615)

22.1184

2304

0x70

0xFF70

9600

18.432

1920

0x88

0xFF88

9600

11.0592

1152

0xB8

0xFFB8

9600

3.6864

384

0xE8

0xFFE8

9600

1.8432

192

0xF4

0xFFF4

9600

*При условии, что SMOD0 = 1 и T1M = 1.

**Числа в скобках показывают действительную скорость передачи данных.

273

Ред. 1.2

C8051F060/1/2/3/4/5/6/7

Рисунок 22.8. SCON0: Регистр управления УАПП0

 

R/W

 

 

R/W

 

 

R/W

R/W

R/W

R/W

R/W

 

R/W

Значение

 

SM00

 

 

SM10

 

SM20

REN0

TB80

 

RB80

TI0

 

RI0

при сбросе:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00000000

 

Бит 7

 

 

Бит 6

 

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

 

Бит 0

 

 

 

 

 

SFR Адрес: 0x98

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(доступен в битовом

SFR страница: 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

режиме адресации)

 

Биты 7-6: SM00 - SM10: Биты выбора режима работы УАПП0:

 

 

 

 

 

 

 

 

Запись: записью этих бит устанавливается режим работы УАПП0 в соответствии со следующей

 

 

таблицей:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SM00

 

SM10

 

Режим работы УАПП0

 

 

 

 

 

 

 

 

 

0

 

0

 

Режим 0: синхронный режим

 

 

 

 

 

 

 

 

 

0

 

1

 

Режим 1: 8-битный УАПП, изменяемая скорость передачи

 

 

 

 

 

1

 

0

 

Режим 2: 9- битный УАПП, фиксированная скорость передачи

 

 

 

 

 

1

 

1

 

Режим 3: 9- битный УАПП, изменяемая скорость передачи

 

 

Операция чтения этих бит возвратит в качестве результата текущий режим работы УАПП0.

Бит 5: SM20: Разрешение поддержки мультипроцессорного взаимодействия. Функционирование этого бита зависит от режима работы УАПП0. Режим 0: Не влияет на работу Режим 1: Проверка корректности стопового бита.

0:Логический уровень стопового бита игнорируется.

1:Флаг RI0 будет установлен только в том случае, если стоповый бит равен лог.1. Режимы 2 и 3: Разрешение поддержки мультимикроконтроллерного взаимодействия.

0:Логический уровень девятого бита игнорируется.

1:Флаг RI0 устанавливается и прерывание генерируется только в том случае, если девятый бит равен лог.1 и принятый адрес соответствует адресу УАПП0 или широковещательному адресу.

Бит 4: REN0: Разрешение приема.

Этот бит включает/отключает приемник УАПП0.

0:Прием данных модулем УАПП0 запрещен.

1:Прием данных модулем УАПП0 разрешен.

Бит 3: TB80: Девятый бит передаваемых данных.

Значение этого бита будет передано в качестве девятого бита данных в режимах 2 и 3. В режимах 0 и 1 этот бит не используется. Бит TB80 устанавливается и сбрасывается программно.

Бит 2: RB80: Девятый бит принимаемых данных.

Этот бит принимает значение девятого бита данных, полученного в режимах 2 и 3. В режиме 1, если SM20 = 0, бит RB80 принимает значение полученного стопового бита. В режиме 0 бит RB80 не используется.

Бит 1: TI0: Флаг прерывания от передатчика УАПП0.

Устанавливается в 1 аппаратно при окончании передачи байта данных (после передачи 8-го бита в режиме 0, или в начале передачи стопового бита в остальных режимах). Если прерывание от УАПП0 разрешено, то установка этого бита вызовет переход на процедуру обслуживания прерывания от УАПП0. Этот бит должен сбрасываться программно.

Бит 0: RI0: Флаг прерывания от приемника УАПП0.

Устанавливается в 1 аппаратно при приеме байта данных (после 8-го бита в режиме 0, или после стопового бита в остальных режимах, за исключением случаев, указанных в описании бита SM20). Если прерывание от УАПП0 разрешено, то установка этого бита вызовет переход на процедуру обслуживания прерывания от УАПП0. Этот бит должен сбрасываться программно.

Ред. 1.2

274

C8051F060/1/2/3/4/5/6/7

Рисунок 22.9. SSTA0: Регистр состояния УАПП0 и выбора источника тактирования УАПП0

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Значение

FE0

RXOV0

TXCOL0

SMOD0

S0TCLK1

S0TCLK0

S0RCLK1

S0RCLK0

при сбросе:

 

 

 

 

 

 

 

 

00000000

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

SFR Адрес: 0x91

 

 

 

 

 

 

 

 

SFR страница: 0

Бит 7: FE0: Флаг ошибки формата.*

Этот флаг устанавливается в 1 при обнаружении некорректного (низкого уровня) бита STOP.

0:Ошибки формата не произошло.

1:Обнаружена ошибка формата.

Бит 6: RXOV0: Флаг переполнения приемника.*

Этот флаг устанавливается в 1, если новый байт данных фиксируется в буфере приемника прежде, чем программа закончит чтение предыдущего байта.

0:Переполнения приемника не произошло.

1:Зафиксировано переполнение приемника.

Бит 5: TXCOL0: Флаг ошибки передачи.*

Этот флаг устанавливается в 1, если программа пользователя записывает данные в регистр SBUF0 во время процесса передачи данных.

Бит 4: SMOD0: Бит удвоения скорости передачи данных последовательного порта УАПП0.

0:Скорость передачи данных последовательного порта УАПП0 не удваивается.

1:Скорость передачи данных последовательного порта УАПП0 удваивается.

Биты 3-2: Биты выбора генератора скорости передачи данных передатчика УАПП0.

 

S0TCLK1

S0TCLK0

Генератор скорости передачи данных передатчика УАПП0

 

0

0

Таймер 1

 

0

1

Переполнение Таймера 2

 

1

0

Переполнение Таймера 3

 

1

1

Переполнение Таймера 4

Биты 1-0: Биты выбора генератора скорости передачи данных приемника УАПП0.

 

 

 

 

 

S0RCLK1

S0RCLK0

Генератор скорости передачи данных приемника УАПП0

 

0

0

Таймер 1

 

0

1

Переполнение Таймера 2

 

1

0

Переполнение Таймера 3

 

1

1

Переполнение Таймера 4

* Примечание: Биты FE0, RXOV0 и TXCOL0 являются только флагами и не генерируют никаких прерываний.

275

Ред. 1.2