Гл3_06 (1031649), страница 10

Файл №1031649 Гл3_06 (Раздаточный материал к курсовому проекту) 10 страницаГл3_06 (1031649) страница 102017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Опрос флагов идет в каждом машинном цикле МК. На рис. 3.20 показана схема организации прерываний. Флаги источников прерываний расположены в регистрах TCON иSCON. На рисунке для большей наглядности они подштрихованы. Флаги внешних прерываний IE0 и IE1 формируются по уровню или по спаду сигнала на соответствующем выводе INT. Для установки того или иного условия служат биты IТ0 и IТ1. При установкеРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н.

Э. Баумана, V_Ryabov@mail.ru129Низкий приоритетВысокий приоритетРегистр IPРегистр IEРегистр TCONэтих битов в единицу формируется прерывание по низкому уровню сигнала на INT, в ноль– по спаду сигнала на INT. Флаги внешних прерываний после входа в подпрограмму обработки прерывания аппаратно снимаются. Однако, если установлено прерывание поуровню и после выхода из подпрограммы обслуживания флаг не был снят, прерываниеинициируется вторично.Прерывания от таймеров/счетчиков вызываются установкой флагов TF0 и TF1 регистра TCON, которые устанавливаются при переполнении соответствующих регистровтаймеров/счетчиков.

Очистка флагов TF0и TF1 производится внутренней аппаратурой МК при переходе к подпрограммеобслуживания прерывания.Прерывание от последовательногоIT0порта вызывается установкой флага преEX0рывания приемника RI или флага прерыINT0IE0вания передатчика TI в регистре SCON.

ВET0отличие от всех остальных флагов, RI и TIсбрасываются только программным пуTF0тем. Обычно это делают в пределах подIT1EX1программы обработки прерывания, гдеINT1определяется, какому из флагов RI или TIIE1соответствует прерывание.ET1Все флаги прерывания (IE0, IEl,TF0, TF1, RI, TI), могут быть программноTF1установлены или сброшены с тем же реESзультатом, что и в случае их аппаратнойRIРегистр1установки или сброса. Т.е. прерывания моSCONTIгутпрограммно вызываться или ожидаюEAщие обслуживания прерывания могут проРис.

3.20. Схема организации прерыванийграммно ликвидироваться. Кроме того,прерывания по INT0, INT1 могут вызываться программной установкой Р3.2=0 и Р3.3=0.Прерывания могут быть разрешены или запрещены битами регистра разрешенияпрерываний IE, после сброса МК регистр IE обнуляется и все прерывания запрещены.Флаги прерываний устанавливаются независимо от того, запрещены они или разрешены.Структура приоритетов прерываний является двухступенчатой (рис.

3.20), сначалауровень приоритета (высокий – низкий), затем порядок опроса в пределах приоритета.Опрос флагов источников прерываний идет в два цикла в порядке, показанном на рисунке. Каждому источнику прерывания может быть индивидуально присвоен один из двухуровней приоритета: высокий или низкий. Выполняется это установкой (высокий уровеньприоритета) или сбросом (низкий уровень приоритета) соответствующего бита в регистреприоритетов прерываний IP. Программа обработки прерывания с низким уровнем приоритета может быть прервана другим запросом прерывания с высоким уровнем приоритета,но не может быть прервана запросом прерывания с низким уровнем. Программа обработки прерывания с высоким уровнем приоритета не может быть прервана никаким другимзапросом прерывания ни от одного из источников.Алгоритм обработки запроса на прерывание (анализа флагов) показан на рис.

3.21.Анализ флагов производится один раз в каждом машинном цикле и, если, установлен какой либо флаг, завершается текущая команда и сохраняется значение счетчика команд. Затем проверяется, не запрещено ли это прерывание индивидуальным или общим битомразрешения-запрещения в регистре IE. Если запрещений нет, но уже идет выполнение какой либо подпрограммы обслуживания прерывания, анализируется соотношение приоритетов запросившего и обслуживаемого источников.

Обслуживание нового прерывания наступит, если только приоритет запроса выше. Иначе обслуживание будет отложено до техРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru130пор, пока не выйдем из подпрограммы обслуживания прерывания. Таким образом, максимальное число вложенных прерываний не может быть больше двух, когда мы из прерывания низшего приоритета переходим в прерывание высшего приоритета.Аппаратно-реализуемая команда LCALL запускается, если принято решение обобслуживании выставленного запроса. При этом содержимое счетчика команд PC загружается в стек (при этом PSW в стек не записывается), после чего записывается в PC адрессоответствующего вектора прерывания:не установлен флагВыполнение программыустановлен флагЗавершение текущей командыДаПрерываниемаскируется вIEФлаг прерыванияIE0TF0IE1TF1TI+RIВектор прерывания0003h000Вh0013h001Вh0023hПри выполнении аппаратно-реализуемойкоманды LCALL в ячейку стека с младшим адЕстьресом загружаются разряды 0 - 7 счетчика коНетобщее разрешениеманд, а в следующую ячейку стека - разряды 8 EА=1?15 счетчика команд.ДаЗадержка в реакции на прерывание, отПриоритетНетсчитываемая от момента фиксации флага до завыше текущего прерываниявершения аппаратно-реализуемой командыДаLCALL, составляет от трех до семи машинныхВыполнение п/п обслуживанияциклов.

Она складывается из времени на завершение текущей команды и времени на выполПродолжение текущей программынение аппаратной LCALL.По адресу вектора прерывания программист должен разместить команду перехода наРис. 3.21. Алгоритм обработки запросаподпрограмму обслуживания прерывания LJMPSubroutine. Именно LJMP Subroutine, а не LCALL Subroutine. Тогда со стеком и возвратом восновную программу будет все в порядке.Подпрограмма обслуживания прерывания продолжается до выполнения командыRETI. Команда RETI восстанавливает состояние логики прерывания и загружает в счетчиккоманд PC 2 байта адреса возврата из двух верхних ячеек стека.

Восстановление состояниялогики прерывания заключается в следующем: при переходе по вектору на подпрограмму обработки прерывания автоматически до выполнения команды RETI независимо от состояниябит регистра IE запрещаются все прерывания с уровнем приоритета, равным уровню приоритета обслуживаемого прерывания, т. е. вложенные прерывания с равными уровнями приоритета невозможны. Команда RETI снимает этот запрет. При использовании команды RET восстанавливается только состояние счетчика команд, т.

е. происходит возврат в прерваннуюпрограмму. Состояние логики прерывания команда RET не меняет, т. е. логика управленияобслуживанием прерываний по-прежнему считает, что продолжает обслуживаться прерывание, подпрограмма обработки которого была закончена командой RET.Организация пошагового режима работы в МК семейства МК51 может быть реализована с использованием особенностей системы прерывания. После выполнения командыRETI обязательно будет выполнена минимум одна команда прерванной программы, послечего возможен следующий переход на обработку прерывания. Использовать эту особенность для организации пошагового режима можно следующим образом:- запрограммировать одно из внешних прерываний (к примеру, INT0) наактивизацию по уровню;- закончить подпрограмму обработки прерывания от INT0 следующейпоследовательностью команд:НетРябов Владимир Тимофеевич.

Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru131LABEL1:LABEL2:JNB P3.2, LABEL1 ; ожидание "1" на входе Р3.2 (INT0)JB P3.2, LABEL2; ожидание "0" на входе Р3.2 (INT0)RETI; возврат и исполнение одной команды- задать на входе Р3.2 (INT0) постоянный уровень "0" с возможностью подачиединичных импульсов, к примеру, с помощью кнопки "ШАГ".После того как указанные манипуляции выполнены, будет происходить следующее:выполнится одна команда основной программы, после чего управление будет передано подпрограмме обработки прерывания по INT0, которая не сможет завершиться до тех пор, покана входе INT0 не будет зафиксирован импульс "0"-"1"-"0". После прохождения такого импульса, задаваемого кнопкой "ШАГ" выполнится команда RETI, управление возвратится восновную программу, где будет выполнена одна команда, после чего вновь начнет обрабатываться прерывание по INT0.

Таким образом, одно нажатие кнопки "ШАГ" (один импульс "0""1"-"0" на входе INT0) вызывает выполнение одной команды основной программы.Е. Система команд МКСистема команд МК содержит 111 команд, содержащих один, два или три байта ивыполняемых за один, два или четыре (умножение, деление) машинных цикла. При частоте тактового генератора, равной 12 МГц, одноцикловые команда выполняются за 1 мкс,двуцикловые — за 2 мкс и т.д.Из 111 типов команд 64 выполняются за 1 мкс (12 тактов), 45 команд — за ; мкс (24такта) и две команды — умножение и деление (MUL, DIV) выполняются за 4 мкс (48 тактов).Каждая команда состоит из ее кода, занимающего один байт.

В коде команд зашитаинформация о предписанном действии и способе адресации операндов. Если используетсяподразумеваемая адресация, код содержит и сведения о операндах, поэтому дополнительные байты не нужны. В других случаях в одном – двух дополнительных байтах командысодержатся сведения об операндах, либо сам операнд (непосредственная адресация).Хотя МК и восьмиразрядный, в нем реализована побитовая, потетрадная (4 бита),побайтовая (8 бит) и 16-разрядная обработка данных.Двухбайтовые данные используются только регистром-указателем (DPTR) и счетчиком команд (PC).

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

Тип файла
PDF-файл
Размер
908,96 Kb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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