Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЕВДОКИМОВ_А.П._ЭЛЕКТРОНИКА И МПС_26 МАЯ 2014 (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.69 Mб
Скачать

4 Контрольные вопросы

  1. Что представляет собой светодиодный семисегментный индикатор?

  2. Какова схема соединения сегментов в двухразрядном светодиодном семисегментном индикаторе?

  3. Поясните принцип динамической индикации.

  4. Как связано число выводов индикатора с количеством разрядов?

  5. Поясните логику работы программы, приведенной в данной лабораторной работе.

  6. Что нужно изменить в программе, чтобы на индикаторе высветилось число «456»?

Лабораторная работа 18

РЕЖИМ SPI МОДУЛЯ ВЕДУЩЕГО СИНХРОННОГО

Последовательного порта

1 ЦЕЛЬ РАБОТЫ

Изучить работу модуля ведущего синхронного последовательного порта и научиться его настраивать в режиме последовательного периферийного интерфейса SPI.

2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

2.1 Основные определения

Модуль ведущего синхронного последовательного порта (MSSP) может использоваться для связи микроконтроллера с другими микроконтроллерами или периферийными микросхемами, такими, как память EEPROM, сдвиговые регистры, драйверы жидкокристаллических индикаторов и др. Одним из режимов работы модуля MSSP является режим последовательного периферийного интерфейса (SPI).

2.2 Организация интерфейса SPI

На рисунке 18.1 показано соединение двух микроконтроллеров для обмена данными с помощью последовательного периферийного интерфейса.

Рисунок 18.1 – Связь двух микроконтроллеров в режиме SPI

Модуль MSSP состоит из приемного/передающего сдвигового регистра SSPSR и буферного регистра SSBUF. Передача и прием данных осуществляются одновременно (разумеется, с соблюдением необходимой синхронизации). Восемь бит данных с вывода SDI каждого микроконтроллера последовательно сдвигаются в регистр SSPSR с установленной скоростью, а затем каждый принятый байт загружается в регистр SSPBUF. При этом устанавливается в логическую единицу флаг BF регистра SSPSTAT, <0>, сообщая о заполнении буферного регистра, а также флаг прерывания SSPIF регистра PIR1, <3>. Регистр

SSPSR не доступен для непосредственного чтения или записи, все операции выполняются через регистр SSPBUF.

При приеме данных регистр SSPBUF должен быть прочитан до момента окончания приема следующего байта. Записанные данные сохраняются в регистре SSPBUF, пока не будут получены новые.

Фронт тактового сигнала SCK, по которому сдвигаются данные, устанавливается битом SMP регистра SSPSTAT, <7>. Для одновременного приема/передачи данных оба микроконтроллера должны иметь одинаковую полярность тактового сигнала, которая устанавливается битом CKP регистра SSPCON, <4>.

Данные всегда передаются старшим битом вперед. Максимальная частота передачи данных составляет 5МГц при тактовой частоте микроконтроллера 20МГц.

2.2 Режимы ведущего и ведомого

Ведущий (микроконтроллер 1) инициализирует передачу данных в любой момент, поскольку именно он генерирует тактовый сигнал SCK и определяет, когда ведомый (микроконтроллер 2) должен передать данные.

В режиме ведомого данные передаются и принимаются под управлением внешнего тактового сигнала на выводе SCK.