Лек2 (1084887), страница 3

Файл №1084887 Лек2 (Лекции по микропроцессорам) 3 страницаЛек2 (1084887) страница 32018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

В контроллерах семейства 8051 первой выполняется команда, код которой расположен в самой первой ячейке памяти программ с адресом 0. Для этого необходимо обнулить счётчик команд, что достигается автоматическим формированием положительным импульс на входе RESET с помощью специальной RC-цепочки (рис. 2.8).


Рис. 2.8. Цепь запуска

Единичный уровень на входе RESET (или СБРОС) в течение нескольких десятков периодов тактового генератора приводит к обнулению счётчика команд и к началу исполнения программы с нулевого адреса. Формирование сигнала начальной установки на входе RESET происходит автоматически при включении питания с помощью RС-цепочки, примерные значения номиналов которой показаны на рис. 2.8. С этой целью вход RESET соединяют с шиной питания через конденсатор емкостью несколько микрофарад, и с общим приводом – через резистор сопротивлением порядка сотни килоОм. В момент включения питания конденсатор разряжен, и вход сброса оказывается под потенциалом, близким к напряжению питания. Несмотря на снижение этого потенциала вследствие заряда конденсатора, в течение нескольких десятков миллисекунд уровень сигнала на входе сброса остается единичным, и осуществляется корректный запуск микроконтроллера.

2.6.Одноуровневая и многоуровневая системы прерываний.

Система прерываний в базовой модели

Совокупность специальных аппаратных и программных средств для обработки пре­рываний составляют систему прерывания. По сложности системы прерывания делятся на одноуровневые (без приоритетов) и многоуровневые (с приоритетами). Одноуровневая система прерывания выполняет функции:

  1. Хранение локальных и глобальных разрешений прерывания.

  2. Запоминание поступивших запросов прерывания.

  3. Автоматическое запоминание в стеке адреса первой невыполненной команды прерываемой программы (адрес возврата).

  4. Если для источника, пославшего запрос, имеется разрешение, то переход к подпрограмме обработки прерывания, расположенной по фиксированному адресу для каждого источника прерывания.

  5. Сохранение контекста прерванной программы командами PUSH <регистр>.

  6. Выполнение содержательной части подпрограммы обработки прерывания, ради которой производится прерывания.

  7. Восстановление контекста прерванной программы командами POP <регистр>.

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

В одноуровневой системе прерывания начатая программа обработки прерывания всегда выполняется до конца и не прерывается запросами, пришедшими во время её выполнения. Эти запросы фиксируются и могут вызвать прерывание по окончанию начатой программа обработки прерывания. Одноуровневая система прерываний обладает недостатком, заключающимся в задержке реакции на некоторые запросы прерывания.

В многоуровневой системе прерываний всем источникам прерывания устанавливаются приоритеты. Такая система обеспечивает воз­можность каскадирования прерываний, т. е. «прерывание прерывания». Если в момент обработки запроса прерывания поступает запрос на прерывание от источника с более высоким приоритетом, то начатая программа обработки прерывания прерывается и начинает выполняться программа обработки прерывания с более высоким приоритетом. При поступлении запросов с более низким или равным приоритетом они запоминаются до окончания вы­полнения текущей программы с более высоким приоритетом.

Базовый вариант микроконтроллеров MCS-51 имеет двухуровневую систему прерывания с шестью источниками прерывания и 5 векторами прерывания. Управление системой прерывания производится с помощью двух специальных регистров: регистра разрешения прерывания (IE) и регистра приоритетов прерываний (IP). Возможность программной установки/сброса любого бита в этих двух регистрах делает систему прерываний 8051 исключительно гибкой.

Регистр разрешения прерываний (IE) предназначен для разрешения или запрета прерываний от соответствующих источников. Обозначение разрядов регистра IE показано в табл. 2.2, а их назначение указано ниже.

Таблица. 2.2

Биты

7

6

5

4

3

2

1

0

Обозначен.

ЕА

X

X

ES

ЕТ1

ЕХ1

ЕТ0

ЕХ0

ЕА — управление всеми источниками прерываний одновременно. Если ЕА=0, то прерывания запрещены. Если ЕА=1, то прерывания могут быть разрешены индивидуальными разрешениями ЕХ0, ЕТ0, ЕХ1, ЕТ1, ES.

X — резервные разряды.

ES — управление прерыванием универсального синхронно-асинхронного последовательного порта (УСАПП). Для передатчика и приёмника УСАПП выделен один адрес-0023Н. Определение конкретного источника прерывания должно производиться внутри подпрограммы обслуживания прерывания путем анализа разрядов RI и TI, фиксирующих запросы прерывания от приёмника и передатчика УСАПП в регистре управления SCON.

ES=1 — разрешение, ES=0 — запрет.

ЕТ1 — управление прерыванием от Т/С1.

ЕТ1=1 — разрешение, ЕТ1=0 – запрет.

ЕХ1 – управление прерыванием от внешнего источника INT1.

ЕХ1=1 — разрешение, ЕХ1=0 — запрет.

ЕТ0 — управление прерыванием от Т/С0.

ЕТ0=1 — разрешение, ЕТ0=0 – запрет.

ЕХ0 – управление прерыванием от внешнего источника INT0.

ЕХ0=1 — разрешение, ЕХ0=0 — запрет.

Регистр приоритетов прерываний (IP) предназначен для установки уровня приоритета прерывания для каждого из пяти источников прерываний. Обозначение разрядов регистра IP показано в табл. 2.3, а их назначение указано ниже.

Таблица 2.3

Биты

7

6

5

4

3

2

1

0

Обозначен.

X

X

X

PS

РТ1

РХ1

РТ0

РХ0

РХ0 — установка уровня приоритета прерывания от внешнего источника INT0.

РТ0 — установка уровня приоритета прерывания от Т/С0.

РХ1 — установка уровня приоритета прерывания от внешнего источника INT1.

РТ1 — установка уровня приоритета прерывания от Т/С1.

PS — установка уровня приоритета прерывания от УСАПП.

X — резервные разряды.

Наличие в разряде IP "1" устанавливает для соответствующего источника высокий уровень приоритета, а наличие в разряде IP "0" – низкий уровень приоритета. Логика обработки флагов прерываний осуществляет приоритетный выбор запроса прерывания, сброс его флага и инициирует выработку аппаратно реализованной команды перехода на подпрограмму обслуживания прерывания по фиксированному адресу для каждого источника прерывания, значения которых приведены в таблице 2.4.

Таблица 2.4

Источник прерывания

Вектор прерывания

Внешнее прерывание INT0

0003Н

Таймер/счетчик Т/С0

000ВН

Внешнее прерывание INT1

0013Н

Таймер/счетчик Т/С1

001ВН

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

0023Н

2.7. Блок таймеров/счётчиков базовой модели

2.7.1. Состав блока

Таймеры/счетчики (Т/С) предназначены для подсчета внутренних или внешних импульсов для формирования программно управляемых временных задержек и определения частоты или длительности внешних сигналов. Один из таймеров/счётчиков (Т/С1) может служить источником синхронизирующих импульсов для универсального синхронно- асинхронного последовательного порта (УСАПП). При переполнении таймеров/счётчиков происходит прерывание, если оно предварительно разрешено и переход на фиксированные адреса векторов прерывания, значения которых указаны в таблице 2.4.

В состав блока Т/С входят следующие функциональные узлы:

1) два 16-разрядных счётчика Т/С0 и Т/С1;

2) восьмиразрядный регистр режимов TMOD;

3) восьмиразрядный регистр управления TCON;

4) два триггера TF0 и TF1, фиксирующих переполнение;

5) два бита TR0 TR1, разрешающих счёт;

6) схема фиксации состояния выводов INT0, INT1, Т0, Т1;

7) делитель тактовой частоты микроконтроллера на 12;

8) логика управления Т/С.

Два 16-разрядных регистра Т/С0 и Т/С1 выполняют функции счёта и хранения значения счета. Каждый из них состоит из пары восьмиразрядных регистров, соответственно ТН0, TL0 и ТН1, ТL1. Причем регистры ТН0, ТН1 — старшие, а регистры TL0, ТL1 — младшие 8 разрядов. Каждый из восьмиразрядных регистров имеет свой адрес и может быть использован как РОН, если Т/С не используются (бит TR0 для Т/С0 и бит TR1 для Т/С1 в регистре управления TCON равны "0").

Величины начальных значений заносятся в регистры Т/С программно. В процессе счета содержимое регистров Т/С инкрементируется. Признаком окончания счета, как правило, является переполнение регистровой пары ТН0 и TL0 (или ТН1 и ТL1), т. е. переход содержимого регистровой пары из состояния "все единицы" в состояние "все нули". При этом устанавливается флаг переполнения TF0 или TF1. Состояние флагов переполнения может быть проверено ранее рассмотренными команды условных переходов JB, JNB, JBC.

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

Все регистры ТН0, ТН1, TL0, ТL1 доступны по чтению, и, при необходимости, контроль достижения требуемой величины счета может выполняться программно.

Регистр режимов TMOD предназначен для приема и хранения кода, определяющего:

— один из 4-х возможных режимов работы каждого Т/С;

— выбор источника счётных импульсов: при выборе внутреннего источника - работа в качестве таймеров, при внешнем источнике Т/С функционирует как счетчик внешних импульсов, поступающих на ходы Т0 и Т1;

— управление Т/С от внешнего вывода INT0 или INT1, что позволяет измерять длительности импульсов, поданных на эти входы.

Обозначение разрядов регистра TMOD приведено в табл.2.5 Назначение разрядов регистра TMOD приведено в табл.2.6.

При работе в качестве таймера содержимое регистра Т/С инкрементируется в каждом машинном цикле, т.е. Т/С является счетчиком машинных циклов. Поскольку машинный цикл состоит из 12 периодов частоты синхронизации, то частота счета в данном случае равна 1МГц.

Таблица 2.5

Биты

7

6

5

4

3

2

1

0

Обозн.

GATE1

С/Т1

М1.1

М1.0

GATE0

С/Т0

М0.1

М0.0

При работе Т/С в качестве счетчика внешних импульсов содержимое регистра Т/С инкрементируется в ответ на переход из "1" в "0" сигнала на счетном входе (вывод Т0 для Т/С0 и вывод Т1 для Т/С1). Счетные входы аппаратно проверяются в каждом машинном цикле. Когда проверки показывают высокий уровень на счетном входе в одном машинном цикле и низкий уровень в другом машинном цикле, регистр Т/С инкрементируется. Новое (инкрементированное) значение заносится в регистры Т/С в машинном цикле, непосредственно следующего за тем, в котором был обнаружен переход из "1" в "0" на счетном входе. Для распознавания такого перехода требуется два машинных цикла (24 периода тактовой частоты), поэтому максимальная частота на входах Т/С в режиме счетчика равна Fт/24. Для базовой модели максимальная частота входных сигналов не должна превышать 500 кГц.

Таблица 2.6

Биты

Наименов.

Назначение битов

Примечание

0-1

4-5

М0-М1

Определяют один из 4-х режимов работы, отдельно для Т/С1 и Т/С0

Все биты устанавливаются программно;

биты 0-3 определяют режим работы Т/С0,

биты 4-7 определяют режим работы Т/С1.

М1

М0

Режим

0

0

0

0

1

1

1

0

2

1

1

3

2,6

С/Т0

С/Т1

Определяют работу в качестве:

С/Т0,С/Т1=0 – таймера

С/Т0,С/Т1=1 – счетчика

3,7

GATE

Разрешает управлять таймером от внешнего вывода

(INT0 – для Т/С0,

INT1 – для Т/С1).

GATE = 0 – управление

запрещено

GATE = 1 – управление

Разрешено

Чтобы уровень сигнала на счетном входе был зафиксирован, он должен оставаться неизменным в течение как минимум одного машинного цикла, что для базовой модели составляет 1 мкс.

Регистр управления (TCON) предназначен для приема и хранения кода управляющего слова. Обозначение разрядов регистра TCON приведено в табл. 2.7. Назначение разрядов регистра TCОN приведено в табл. 2.8.

Характеристики

Тип файла
Документ
Размер
1,03 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Лекции по микропроцессорам
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее