УСТРОЙСТВА ИНТЕРФЕЙСА МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51 Архитектура Компьютеров2011.

Презентация:



Advertisements
Похожие презентации
1 ЛЕКЦИЯ 1 ПРЕРЫВАНИЯ Прерывание – инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим.
Advertisements

Использование таймера для формирования временных интервалов Национальный технический университет «Харьковский политехнический институт» Кафедра «Промышленная.
Микропроцессоры Архитектура ЭМП Лекция 9. Архитектура ЭМП В предыдущем параграфе мы изучили схему выводов и их назначение у типового микропроцессора.
ПОДСИСТЕМА ВВОДА-ВЫВОДА 1. Общие принципы организации ввода-вывода 2 Систему ВВ можно представить в виде пространства ВВ IOSEGment и ряда команд ВВ. Пространство.
Микропроцессоры Лекция 6. СТРУКТУРА ЭЛЕМЕНТАРНОГО МИКРОПРОЦЕССОРА (ЭМП) Основным устройством всех цифровых систем (ЦС) является центральный процессор.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Лекция 10. Контроллеры параллельной передачи данных. Параллельный интерфейс.
Организация микроконтроллеров Организация связи микроконтроллеров с внешней средой и временем.
ПОДСИСТЕМА ВВОДА-ВЫВОДА 1. Обмен данными в параллельном коде с программным квитированием 2 В состав устройства ввода данных входят: буфер данных БД, при.
1 Презентация. Обработка прерываний ПЛАН Системный сброс WatchDog Timer Обработка прерываний.
Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич.
Микроконтроллеры AVR семейства Mega. Отличительные особенности FLASH-память программ объемом от 8 до 256 Кбайт (число циклов стирания/записи не менее.
Инструкции сравнения. Особенности инструкции LIM Low LimHigh Lim Истина Ложь Low Lim < High Lim Low LimHigh Lim ИстинаЛожьLow.
Микропроцессорные системы АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА 8051 © В.В. Сивченко, ст. преп. каф. ИСКТ ВГУЭС.
Микропроцессорные системы ЭФУ АРХИТЕКТУРА 8-РАЗРЯДНОГО МИКРОПРОЦЕССОРА.
Тема урока: ТРИГГЕР. или не не Разнообразие современных компьютеров очень велико. Но их структуры основаны на общих логических принципах, позволяющих.
Арбитры в мультипроцессорных системах. Арбитры Используются для разрешения конфликтных ситуаций на аппаратном уровне Арбитры принимают от процессоров.
Интерфейсы периферийных устройств. Определения Периферийные устройства (ПУ) - это устройства ЭВМ, не входящие в состав центральной части ВС и предназначенные.
Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
Учебный курс Введение в цифровую электронику Лекция 3 Цифровые устройства с внутренней памятью кандидат технических наук, доцент Новиков Юрий Витальевич.
Транксрипт:

УСТРОЙСТВА ИНТЕРФЕЙСА МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51 Архитектура Компьютеров2011

ОСНОВНЫЕ ТЕМЫ ЛЕКЦИИ ТАЙМЕРЫ МИКРОКОНТРОЛЛЕРОВ MCS-51 ПРЕРЫВАНИЯ МИКРОКОНТРОЛЛЕРОВ MCS-51 ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ МИКРО- КОНТРОЛЛЕРОВ MCS-51 Архитектура Компьютеров2011

ТАЙМЕРЫ / СЧЕТЧИКИ ВНЕШНИХ СОБЫТИЙ Два программируемых 16-ти битовых таймера/счетчика (Т/С 0 и Т/С 1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т. е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода "1-0" внешнего входного сигнала, подаваемого на соответствующий вывод (Т0 или Т1). Максимальная входная частота счетчиков: Ft / 24.

РЕЖИМЫ РАБОТЫ Т/С определяются кодом, записанным в РЕГИСТР РЕЖИМОВ Т/С (TMOD): Прямой адрес TMOD: dir – 89h GATE 1C/ ~ T 1M 1.1M 0.1GATE 0C/ ~ T 0M 1.0M 0.0 C/ ~ T 0 C/ ~ T 1 Определяет работу отдельно для каждого счетчика в режиме : C/ ~ T = 0 – таймера; C/ ~ T = 1 – счетчика внешних событий. GATE 0 GATE 1 Разрешает управлять счетчиком от внешнего вывода ( ~ INT0 – для Т/С 0, ~ INT1 – для Т/С 1) : GATE = 0 – управление запрещено, GATE = 1 – управление разрешено.

РЕГИСТР УПРАВЛЕНИЯ/СТАТУСА T/C И ВНЕШНИМИ ПРЕРЫВАНИЯМИ (TCON) Прямой байтовый адрес TCON : dir – 88h. Допускается адресация отдельных бит TCON : bit – 88h_8Fh Fh8Eh8Dh8Ch8Bh8Ah89h88h TF 1TR 1TF 0TR 0IE 1IT 1IE 0IT 0 TF 0 TF 1 Флаги переполнения Т/С, устанавливаются аппаратно при переполнении соответствующего Т/С (переходе из состояния «все единицы» в состояние «все нули»). Если прерывание от соответствующего Т/С разрешено, то установка флага TF вызовет прерывание. Флаги TF 0 или TF 1 сбрасываются аппаратно при передаче управления подпрограмме обработки соответствующего прерывания

TR 0 TR 1 Разрешение счета отдельно для каждого Т/С : TR = 0 – счет остановлен, TR = 1 – разрешение счета. IE 0 IE 1 Флаги запроса внешних прерываний по входам ~ INT0 и ~ INT1 соответственно; устанавливаются аппаратно (от внешних устройств) или программно и вызывают подпрограмму обработки прерываний. IT 0 IT 1 Управление видом прерывания отдельно по входам ~ INT 0 или ~ INT 1 : IT = 0 – прерывание по уровню (низкому), IT = 1 – прерывание по фронту «1–0»

РЕЖИМ РАБОТЫ «0» (М0=0, М1=0) функцио- нально совместим с таймером/счетчиком микроконт- роллера MCS-48. Деление импульсов Машинных Циклов (МЦ) на 32 выполняют 5 младших разрядов регистров TL 0, TL 1. INT 0 T0 1 & & Кварцевый генератор : 12 Регистр TMOD GATE 0 C/T 0 1 & Регистр TCON TR 0 TF 0 TL 0 5 бит TH 0 8 бит

Логика работы в РЕЖИМЕ 0 на примере Т/C 0 показана на рис. Для Т/C 1 логика работы аналогична. Счет начинается при установке бита TR 0 регистра TCON в состояние «1». (Если бит TR = 0, то реги- стры соответствующих таймеров/ счетчиков TH и TL могут использоваться как дополнительные РОНы). Установка бита GATE в единичное состояние позволяет в режиме внутреннего таймера измерять длительность импульсного сигнала, подаваемого на вход внешнего прерывания ~ INT. РЕЖИМ РАБОТЫ «1» (М0=1, М1=0) аналогичен РЕЖИМУ «0». Отличие состоит в том, что таймерные регистры TL-TH - 16-ти разрядные.

РЕЖИМ РАБОТЫ «2» (М0=0, М1=1) представляет собой 8-ми разрядный делитель TL 0 (или TL 1) с переменным (программируемым) коэффициентом деления. INT 0 T0 1 & & Кварцевый генератор : 12 Регистр TMOD GATE 0 C/T 0 1 & Регистр TCON TR 0 TF 0 TL 0 8 бит & TH 0 8 бит

При каждом переполнении 8-ми разрядного счетчика TL 0 устанавливается флаг TF 0 и происходит перезагрузка счетчика TL 0 из регистра TH 0. Счетчик T/C 0 в РЕЖИМЕ «3» представляет собой два независимых 8-ми разрядных счетчика TL 0 и TH 0. TL 0 может работать в режиме таймера и в режиме счетчика. За ним сохраняются все биты управления T/C 0 и входные сигналы T0, ~INT0. TH 0 может работать только в режиме таймера, использует бит включения TR 1 и выставляет флаг переполнения TF 1. Этот режим позволяет реализовать два восьмибитовых таймера из Т/С 0, если Т/С 1 уже занят – формирует частоту обмена для последовательного интерфейса (последовательного порта).

TH 0 8 бит INT 0 T0 1 & & Кварцевый генератор : 12 Регистр TMOD GATE 0 C/T 0 1 & Регистр TCON TR 0 TF 0 TL 0 8 бит Регистр TCON TF 1 TR 1 &

РЕЖИМЫ ПРЕРЫВАНИЯ МИКРОКОНТРОЛЛЕРОВ MCS-51 Запросы от внешних прерываний ~ INT0, ~ INT1 фиксируются в триггерах IE0, IE1 Регистра Управления T/C и внешними прерываиями (TCON). Установка этих триггеров осуществляется низким уровнем на входах ~ INT0, ~ INT1 (если сброшены биты IT0 = 0, IT1 = 0 регистра TCON), или по фронту «1-0» (если биты установлены: IT 0 = 1, IT 1 = 1) Запросы прерываний от Таймеров/Счетчиков фиксируются в триггерах TF0, TF1 регистра управления TCON. Запрос прерывания последовательного порта вызывается установкой флага прерывания приемника RI или флага прерывания передатчика TI в регистре SCON.

В отличие от всех остальных флагов, RI и TI сбрасываются только программным путем (обычно в пределах подпрограммы обработки прерывания, где определяется: какому из флагов RI или TI соответствует прерывание). Все перечисленные флаги прерываний : IE0, IE1, TF0, TF1, RI, TI – могут быть установлены (или сброшены) программно и вызвать соответствующие прерывания. Прерывание по каждому из перечисленных источников может быть разрешено или запрещено установкой или сбросом соответствующего бита в РЕГИСТРЕ МАСКИ (Разрешения) ПРЕРЫВАНИЙ – (IE)

Прямой байтовый адрес IE: dir – 0A8h. Допускается адресация отдельных бит IE : bit – 0A8h_0AFh AFh0ACh0ABh0AAh0A9h0A8h EAESET 1EX 1ET 0EX 0 EA – управление всеми источниками прерываний; если EA = 0 – все прерывания запрещены; если EA = 1 – прерывания могут быть разрешены индивидуально : ES – разрешение прерывания от последовательного порта; ET 1 – разрешение прерывания от T/C 1; EX 1 – разрешение прерывания от внешнего источника ~ INT1; ET 0 – разрешение прерывания от T/C 0; EX 0 – разрешение прерывания от внешнего источника ~ INT0.

РЕГИСТР ПРИОРИТЕТОВ ПРЕРЫВАНИЙ – IP Прямой байтовый адрес IP: dir – 0B8h. Допускается адресация отдельных бит IP : bit – 0B8h_0BFh BCh0BBh0BAh0B9h0B8h PSPT 1PX 1PT 0PX 0 PS – установка уровня приоритета прерывания от последо- вательного порта; PT1 – установка уровня приоритета прерывания от T/C 1; PX1 – установка уровня приоритета прерывания от внешнего источника ~ INT1; PT0 – установка уровня приоритета прерывания от T/C 0; PX0 – установка уровня приоритета прерывания от внешнего источника ~ INT0.

Наличие в разряде регистра IP «1» устанавливает для соответствующего источника высокий уровень приоритета, а наличие «0» – низкий уровень приоритета. Программа обработки прерывания может быть прервана запросом прерывания с высоким уровнем приоритета, но не может быть прервана другим запросом прерывания с равным или меньшим уровнем приоритета. Если два запроса с разными уровнями приоритета приняты одновременно, сначала будет обслужен запрос с высоким уровнем приоритета.

Если одновременно приняты запросы с одинаковым уровнем приоритета, обработка их будет производиться в порядке, задаваемом последовательностью внутреннего опроса флагов прерываний. Таким образом, в пределах одного приоритетного уровня существует еще одна структура приоритетов Источник прерывания Приоритет внутри уровня Векторы прерываний Внешнее прерывание ~ INT 0 высший0003h Таймер/Счетчик Т/С 0 000Bh Внешнее прерывание ~ INT h Таймер/Счетчик Т/С 1 001Bh Последовательный порт низший0023h

При переходе по вектору на подпрограмму обработки прерывания аппаратно запрещаются все прерывания с уровнем приоритета, равным (или меньшим) уровню приоритета обслуживаемого прерывания. Подпрограмма обслуживания прерывания должна заканчиваться выполнением команды RETI, которая восстанавливает состояние логики прерывания и загружает из стека в счетчик команд (РС) адрес возврата в исходную программу. При использовании команды RET восстанавливается только счетчик команд (РС) из стека. Состояние логики прерывания команда RET не меняет, т. е. сохраняется запрет на прерывания с равным (или меньшим) приоритетом.

Через Универсальный Асинхронный Приемо- Передатчик (УАПП) осуществляется прием и передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена (как у СОМ-порта компьютера). В состав УАПП (или Последовательного Порта) входят : принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика. ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС МИКРОКОНТРОЛЛЕРОВ MCS-51

Запись байта в буфер SBUF приводит к автоматической перезаписи байта в сдвигающий регистр передатчика и инициирует начало последовательной передачи байта. Наличие буферного регистра приемника SBUF позволяет совмещать операцию чтения ранее приня- того байта с последовательным приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян. Управление режимами работы УАПП опреде- ляется кодом, записанным в РЕГИСТР УПРАВЛЕ- НИЯ/СТАТУСА ПОСЛЕДОВАТЕЛЬНОГО ПОРТА (SCON):

Прямой байтовый адрес SCON:dir – 98h. Допускается адресация отдельных бит SCON : bit – 98h_9Fh Fh9Eh9Dh9Ch9Bh9Ah99h98h SM0SM1SM2RENTB8RB8TIRI SM0, SM1 – определяют режимы работы УАПП SM2 – разрешение многопроцессорной работы; (в режимах 2 и 3 при SM2 = 1 бит прерывания R1 не устанавливается, если принятый девятый бит данных RB8 = 0);

REN – разрешение ПРИЕМА последовательных данных: REN = 1 – разрешение приема, REN = 0 – запрет приема; TB8 – девятый бит передаваемых данных в режимах 2 и 3; устанавливается и сбрасывается программно; RB8 – девятый бит принятых данных в режимах 2 и 3; TI – флаг прерывания передатчика; устанавливается аппаратно в конце выдачи 8-го бита в режиме 0 или в начале стоп-бита – в других режимах; сбрасывается программой; RI – флаг прерывания приемника; устанавливается аппаратно в конце приема 8-го бита в режиме 0 или в середине стоп-бита – в других режимах; сбрасывается программой.

SM0,SM1РежНаименование Скорость обмена 0 0 Передача и прием 8-ми битовых данных через двунаправленный вывод RxD ; через вывод TxD выдаются синхроимпульсы сдвига Ft / Передача (через вывод TxD) и прием (через вывод RxD): старт- бита (0), 8-ми битовых данных и стоп-бита (1) Fov / 16 (SMOD=1) Fov / 32 (SMOD=0) 1 02 Передача (через вывод TxD) и прием (через вывод RxD): старт- бита (0), 9-ми битовых данных и стоп-бита (1) Ft / 32 (SMOD=1) Ft / 64 (SMOD=0) 1 3 Передача (через вывод TxD) и прием (через вывод RxD): старт- бита (0), 9-ми битовых данных и стоп-бита (1) Fov / 16 (SMOD=1) Fov / 32 (SMOD=0)

Вопросы для экспресс-контроля Перечислите режимы работы таймеров Т/С Назовите особенности работы таймеров в режиме 3 Назовите основные отличия в работе таймеров микроконтроллера от таймера i8254 Сколько прерываний может обслужить микро- контроллер i8051? Зачем нужны приоритеты прерываний? В чем отличие команд: RET, RETI ? В чем сходство и отличия в работе последо- вательного порта МК от СОМ-порта? Чем определяется скорость обмена посл. порта?

Лекция окончена СПАСИБО ЗА ВНИМАНИЕ