Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выч. машины, системы и сети. Пособие. 80С51 v0.26.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

2.7. Расширенный последовательный порт

Расширенный последовательный порт SEP увеличивает возможности микроконтроллера по управлению подключёнными к нему периферийными устройствами посредством последовательного кода, предоставляя средства для аппаратной реализации шины PC-bus. SEP имеет 4 режима работы и 3 источника тактирования. Для ввода/вывода информации через этот порт задействовано 2 вывода микросхемы: Р4.1 - для ввода/вывода данных и Р4.0 - дпя вывода частоты тактирования последовательной посылки. Передаваемый или принимаемый пакет состоит из 8-ми бит данных и занимает 8 тактов работы SEP. В отсутствие принимаемой или передаваемой информации тактовый сигнал и данные неактивны.

SEP имеет 3 SFR-регистра - SEPCON, SEPDAT и SEPSTAT (физические адреса, соответственно -0D7h, 0E7h и 0F7h). Регистры адресуются только побайтно, хотя и имеют символические обозначения отдельных битов. Четыре режима работы порта определяют неактивный уровень сигнала тактирования, а также фронт (передний или задний), используемый для передачи или приёма. Работа порта в различных режимах изображена на рис. 2.25, рис. 2.26, рис. 2.27).

Для приёма или передачи байта пользовательская программа должна установить режим работы порта (биты CLKPOL и CLKPH), скорость передачи (биты SEPS1 и SEPS0), а также разрешить бит SEPE. Процесс передачи начинается при загрузке байта в регистр SEPDATA. Приём происходит при установленном бите SEPREN пока регистр SEPDATA пуст и нет передачи байта. После приёма 8-ми битов происходит аппаратная очистка бита SEPREN. Завершение передачи или приёма сопровождается установкой бита SEPIF (данный бит должен быть очищен программно). При установке соответствующего бита регистра разрешения прерывания SEPIF инициирует его.

При попытках программы записать или прочитать байт в регистре SEPDATA в процессе передачи или приёма им посылки устанавливается бит ошибки. Флаг SEPFWR устанавливается при наличии такой попытки в процессе передачи SEP байта, а флаг SEPFRD - в процессе приёма. Прерываний, связанных с этими битами ошибок, не существует. Все они остаются в установленном состоянии до их программной очистки.

Рис. 2.25. Режимы работы порта SEP

MSB LSB

-

-

SEPE

SEPREN

CLKPOL

CLKPH

SEPS1

SEPS0

Бит

Поз.

Функция

-

SEPCON.7

Зарезервирован для дальнейшего использования

-

SEPCON.6

Зарезервирован для дальнейшего использования

SEPE

SEPCON.5

Бит разрешения SEP

SEPREN

SEPCON.4

Бит разрешения приёма в SEP

CLKPOL

SEPCON.3

Полярность тактирования SEP

CLKPH

SEPCON.2

Фаза тактирования SEP

SEPS1

SEPCON.1

Бит 1 выбора скорости SEP

SEPS0

SEPCON.0

Бит 0 выбора скорости SEP

CLKPOL

CLKPH

Режим SEP

0

0

SEPMODE0

0

1

SEPMODE1*

1

0

SEPMODE2

1

1

SEPMODE3*

*- не используются при приеме

SEPS1

SEPS0

Скорость SEP

0

0

Fosc/12

0

1

Fosc/24

1

0

Fosc/48

1

1

Fosc/96

Рис. 2.26. Регистр управления SEPCON

MSB LSB

-

-

-

-

-

SEPFWR

SEPFRD

SEPIF

Бит

Поз.

Функция присвоения приоритета прерывания

-

SEPSTAT.7

Зарезервирован дпя дальнейшего использования

-

SEPSTAT.6

Зарезервирован дпя дальнейшего использования

-

SEPSTAT.5

Зарезервирован для дальнейшего использования

-

SEPSTAT.4

Зарезервирован для дальнейшего использования

-

SEPSTAT.3

Зарезервирован для дальнейшего использования

SEPFWR

SEPSTAT.2

Флаг ошибки записи SEP

SEPFRD

SEPSTAT.1

Флаг ошибки чтения SEP

SEPIF

SEPSTAT.0

Флаг прерывания SEP

Рис. 2.27. Регистр состояния SEPSTAT