Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции МПСУ.doc
Скачиваний:
40
Добавлен:
06.12.2018
Размер:
7.86 Mб
Скачать

Вопросы и задания

1. Поясните структурную схему системы прерываний.

2. Поясните содержимое и назначение регистров специальных функций, используемых для инициализации системы прерываний.

3. Как изменить уровень приоритета заданных запросов прерываний.

4. Поясните принципиальную схему МКСУ насосом с контролем давления.

5. Поясните программу блока инициализации схемы МКСУ насосом.

6. Поясните работу блоков алгоритма и программы включения насоса в работу и оперативного отключения кнопкой "Стоп".

7. Поясните работу блоков алгоритма и программы, активируемых по прерыванию при снижении давления.

8. Поясните работу блоков алгоритма и программы, активируемых по прерыванию при завершении выдержки времени, отведенной для контроля продолжительности падения давления.

2.7. Основы организации

последовательного интерфейса

Наличие в микроконтроллере порта последовательного ввода/вывода открывает возможность построения мультипроцессорных и мультиконтроллерных систем. Блок-схема последовательного порта (ПП) показана на рис.2.33.

Для того, чтобы передать информацию через вывод TXD, нужно просто записать байт в регистр SBUF (рис.2.33). После этого схема ПП самостоятельно переведет параллельный код, содержащийся в регистре SBUF, в последовательный код и пошлет его на вывод TXD младшими битами вперед. После передачи последнего бита сообщения устанавливается флаг TI запроса прерывания (рис.2.29). Далее можно передавать следующий байт информации.

В режиме приема информации последовательный код, поступающий на вывод RXD младшими битами вперед, преобразуется схемой ПП в параллельный код. С приходом последнего бита сообщения, параллельный код записывается в регистр SBUF и устанавливается флаг RI запроса прерывания. Далее до прихода последнего бита следующего сообщения нужно успеть переслать содержимое регистра SBUF в любую другую ячейку РПД.

Управление режимом работы ПП осуществляется через регистр управления/статуса последовательного порта с символическим именем SCON (рис.2.34).

Характеристика режимов работы последовательного порта:

Режим 0 - регистр сдвига.

Информация передается и принимается через вывод RXD, а через вывод ТXD передаются и принимаются стробирующие импульсы сдвига информации.

Частота машинных циклов (МЦ) передачи/приема бит информации - постоянная величина (см. табл.2.2). Скорость передачи наивысшая.

Бит

Обозначение

Назначение

7

SM0

0

0

1

1

Биты выбора режима работы последовательного

6

SM1

0

1

0

1

порта. Устанавливаются и сбрасываются

Режим ПП

0

1

2

3

программно

5

SM2

Бит разрешения мультиконтроллерной работы

4

REN

1/0 – разрешение/запрет приема последовательных данных. Устанавливается/сбрасывается программно

3

TB8

Значение 8-го бита (счет битов от 0) данных, передаваемого в режимах 2 и 3. Устанавливается/сбрасывается программно

2

RB8

Значение 8-го бита принятых данных в режимах 2 и 3. В режиме 1 в RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется. Устанавливается/сбрасывается аппаратно

1

TI

Флаг прерывания передатчика. Устанавливается аппаратно в момент передачи последнего 7-го бита сообщения в режиме 0 и стоп-бита в режимах 1, 2 и 3. Сбрасывается программно

0

RI

Флаг прерывания приемника. Устанавливается аппаратно. Сбрасывается программно. Варианты установки флага RI поясняются табл.2.2.

Рис.2.34. SCON – регистр управления/статуса последовательного порта

Передача данных начинается через один МЦ после выполнения команды записи байта данных в регистр SBUF и завершается установкой флага TI в 9-м МЦ.

Прием информации производится на протяжении восьми МЦ со второго по девятый при условии, что в регистре SCON установлен бит REN (REN=1) и сброшен флаг RI (RI=0). В девятом МЦ устанавливается флаг RI, после чего нужно переписать содержимое SBUF в любую другую ячейку РПД.

Режим 1 – 8-битный асинхронный приемопередатчик.

Ф ормат сообщения при передаче информации: старт-бит – 8 бит данных - стоп-бит (рис.2.35). Информация передаётся через вывод ТXD, а принимается – через RXD. Скорость приема/передачи – величина переменная и задается таймером Т/С1 и битом SMOD (PCON.7) регистра PCON.

Перед сеансом передачи нужно сбросить флаг TI. Передача данных начинается после выполнения команды записи байта данных в регистр SBUF. Далее:

- на вывод ТXD выставляется старт-бит, нулевое значение которого удерживается в течение первого МЦ; длительность МЦ ТМЦ равна 1/fМЦ (значения fМЦ приведены в табл.2.2);

- на вывод ТXD выставляются последовательно 0-й, 1-й, ... 7-й биты данных, действительные значения которых удерживаются в течение 2-го ... 9-го МЦ;

- на вывод ТXD выставляется стоп-бит, единичное значение которого удерживается с начала 10-го МЦ до посылки следующего сообщения;

- в 10-м МЦ устанавливается флаг TI запроса прерывания от передатчика, которым сообщается процессору об окончании вывода сообщения через последовательный порт.

Формат сообщения при приеме информации представлен на рис.2.36. Перед сеансом приема данных нужно сбросить флаг RI и в регистре SCON установить бит REN. Прием данных начинается с момента обнаружения на входе RXD среза сигнала (перехода из 1 в 0), что является признаком поступления старт-бита. Далее происходит:

- по срезу сигнала RXD корректируется начало 1-го МЦ; этой начальной установкой достигается синхронизация МЦ передатчика и приемника;

- в течение десяти МЦ вводятся старт-бит, 8 бит данных и стоп-бит;

- в каждом МЦ вход RXD опрашивается 16 раз; примерно посредине МЦ в течение трех интервалов времени, совпадающих с 7-м, 8-м и 9-м опросами, идентифицируется бит на входе RXD по правилу – "2 из 3-х" и в сдвигающий регистр приемника (рис.24.1) заносится то значение, которое получено минимум в двух опросах из трех;

- если при приеме старт-бита опрос "2 из 3-х" дал значение 1, то схема ПП остается в режиме обнаружения сигнала 0 на входе RXD;

- в 10-м МЦ устанавливается флаг RI запроса прерывания приемником в двух случаях:

1) если при SМ2=1 поступил стоп-бит; в этом случае стоп-бит записывается в бит RB8 регистра SCON;

2) если SM2=0; в этом случае стоп-бит не контролируется.

Если указанные условия не выполняются, то флаг RI не устанавливается и поступивший байт информации теряется.

Режим 2 – 9-битный асинхронный приемопередатчик.

Формат сообщения: старт-бит – 8 бит данных (от 0 до 7) – программируемый 8-й бит - стоп-бит (рис.2.37). Информация передаётся через вывод ТXD, а принимается – через RXD. Скорость приема/передачи постоянная, принимающая одно из двух фиксированных значений в зависимости от значения бита SMOD.

Передача сообщения в целом происходит так же, как и в режиме 1 согласно рис.2.35. Отличие состоит в том, что значение 8-го бита сообщения берется из бита ТВ8 регистра SCON, а не из SBUF. Поэтому перед записью байта данных для передачи в регистр SBUF нужно сначала произвести соответствующую запись в бит ТВ8 регистра SCON.

Прием сообщения в целом происходит так же, как и в режиме 1 согласно рис.2.36. Отличия состоят в следующем:

- если SM2=0, то в 10-м МЦ 8-й программируемый бит данных заносится в RB8, а в 11-м цикле устанавливается флаг RI запроса прерывания приемником;

- если SM2=1, то в 10-м МЦ 8-й программируемый бит данных заносится в RB8, в 11-м цикле при RB8=1 устанавливается флаг RI запроса прерывания приемником, а при RB8=0 флаг RI остается сброшенным и поступившее сообщение теряется.

Режим 3 – 9-битный асинхронный приемопередатчик.

Аналогичен режиму 2 с той лишь разницей, что скорость приема/передачи – величина переменная и задается таймером Т/С1 и битом SMOD.

В режимах 2 и 3 при SM2=1 флаг прерывания RI будет установлен и, соответственно будет обнаружено и принято поступившее сообщение, если в этом сообщении 8-й бит данных будет установлен в 1. Этот бит заносится в бит RB8 регистра SCON. Иначе поступившее сообщение будет потеряно и флаг RI останется сброшенным.

В режиме 1 флаг прерывания RI будет установлен в 1 в момент поступления стоп-бита, если SM2=1. Сообщение будет принято, а стоп-бит перепишется в разряд RB8 регистра SCON. Иначе поступившее сообщение будет потеряно и флаг RI останется сброшенным.

В режиме 0 бит SM2 должен быть сброшен.

Описанные особенности работы ПП в различных режимах обобщены в табл.2.2.

В режимах 1 и 3 использовать Т/С1 в качестве источника задания частоты приема/передачи нужно только как таймер. Целесообразно использовать его в режиме 2 автозагрузки. В этом случае частота переполнений fOV Т/С1 определится по формуле

, (2.6)

где ТН110 – десятичный эквивалент числа, загружаемого в старший байт Т/С1.

Прерывания от Т/С1 нужно запретить и запустить таймер на счет.

В случае необходимости работы на низких скоростях приема/передачи нужно использовать Т/С1 как таймер в режимах 0 или 1 счета. Тогда прерывания от Т/С1 должны быть разрешены с тем, чтобы по прерываниям можно было перезапустить Т/С1 по подпрограмме обработки прерываний. Естественно, программно это использование Т/С1 сложнее, чем в режиме 2 счета.

Таблица 2.2

Характеристики режимов работы последовательного порта*

Режим

Вид обмена

Биты регистра SCON

Частота fМЦ МЦ (КГц) или скорость передачи и приема бит сообщений, Кбит/с

SM0

SM1

SM2

REN

TB8

RB8

Установка флага

0

Передача

0

0

0

х

х

х

TI

, где fQ – частота кварцевого

резонатора

Прием

1

RI

1

Передача

0

1

x

x

x

x

TI

, где fOV - частота

переполнений Т/С1

Прием

0

1

RI

1

стоп-бит

2

Передача

1

0

x

x

8-й бит

х

TI

Прием

0

1

х

х

RI

1

bit8=1

bit8=0

отказ

3

Передача

1

1

x

x

8-й бит

х

TI

Прием

0

1

х

х

RI

1

bit8=1

bit8=0

отказ

* - х – произвольное значение бита: 0 или 1

В автономных мультипроцессорных и мультиконтроллерных системах частота fМЦ МЦ или скорость приема-передачи может быть любой величиной, но чтобы она не превышала частоты МЦ микроконтроллера. Нужно лишь следить за тем, чтобы отличие частот МЦ передатчика и приемника не превышало значений, указанных в табл.2.3. Тогда информация будет приниматься достоверно.

Таблица 2.3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]