- •Раздел 1. Микропроцессорные системы управления.
- •Раздел 2. Микроконтроллерные системы управления.
- •Раздел 3. Вопросы эксплуатации микропроцессорных устройств.
- •1. Микропроцессорные системы управления
- •1.1. Принципы построения и основы работы
- •Вопросы и задания
- •1.2. Элементная база мпсу
- •Вопросы и задания
- •1.3. Оперативные запоминающие устройства.
- •Вопросы и задания
- •1.4. Постоянные запоминающие устройства.
- •Вопросы и задания
- •1.5. Архитектура микропроцессора типа кр580вм80
- •Вопросы и задания
- •1.6. Типы машинных циклов и слово состояния
- •Вопросы и задания
- •1.7. Командные циклы чтения/записи
- •Вопросы и задания
- •1.8. Командный цикл подтверждения прерывания.
- •1.9. Принципиальные электрические схемы
- •Вопросы и задания
- •1.10. Интерфейс мпсу с изолированной системой шин
- •Вопросы и задания
- •1.11. Интерфейс мпсу с общей системой шин
- •1.12. Организация обслуживания запросов прерывания
- •Вопросы и задания
- •1.13. Программируемый контроллер
- •Вопросы и задания
- •1.14. Программируемый контроллер прерываний
- •Вопросы и задания
- •1.15. Программируемый интервальный таймер
- •Вопросы и задания
- •1.16. Мпсу с вводом-выводом аналоговой информации
- •Вопросы и задания
- •1.17. Выходные каскады мпсу
- •Вопросы и задания
- •2. Микроконтроллерные системы управления
- •2.1. Архитектура микроконтроллера к1816ве51
- •Вопросы и задания
- •2.2. Принципиальная электрическая схема порта
- •2.3. Схемы подключения внешней памяти к мк51
- •Вопросы и задания
- •2.4. Интерфейс мк51 с большим числом
- •Вопросы и задания
- •2.5. Таймер/счетчики мк51.
- •Вопросы и задания
- •2.6. Система прерываний мк51. Использование прерываний в программах
- •Вопросы и задания
- •2.7. Основы организации
- •Допустимые различия скорости приемо-передачи
- •2.8. Организация мультиконтроллерных систем
- •Программы инициализации станции и абонентов
- •Программы станции и абонента в сеансе "станция→абонент"
- •2.9. Микроконтроллерная система управления
- •3. Вопросы эксплуатации микропроцессорных устройств
- •3.1. Отладка аппаратных средств мпсу
- •Вопросы и задания
- •3.2. Отладка программного обеспечения мпсу
- •Вопросы и задания
- •3.3. Методы обеспечения помехоустойчивости мпсу
- •Вопросы и задания
- •1. Группа команд пересылок
- •2. Группа команд инкремента-декремента
- •3. Группа арифметических команд
- •4. Группа логических команд
- •5. Группа команд сдвига
- •6. Группа команд передачи управления
- •7. Группа команд работы со стеком
- •8. Группа команд ввода-вывода и управления микропроцессором
- •1. Группа команд пересылок
- •2. Группа команд арифметических операций
- •3. Группа команд логических операций
- •4. Группа команд операций с битами
- •5. Группа команд передачи управления
- •Дворак Николай Маркович микропроцессорные устройства
- •В высших учебных заведениях 3-4 уровней
- •98309, Г. Керчь, ул. Орджоникидзе, 82
- •98309, Г. Керчь, ул. Орджоникидзе, 82
Вопросы и задания
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 |
резонатора |
|
Прием |
1 |
RI |
|||||||
|
1 |
Передача |
0 |
1 |
x |
x |
x |
x |
TI |
переполнений Т/С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
