Лабораторные МС 68HC11 (Описание микроконтроллера MC68HC11), страница 9

PDF-файл Лабораторные МС 68HC11 (Описание микроконтроллера MC68HC11), страница 9 Радиоприёмные устройства (18236): Другое - 7 семестрЛабораторные МС 68HC11 (Описание микроконтроллера MC68HC11) - PDF, страница 9 (18236) - СтудИзба2018-01-12СтудИзба

Описание файла

Файл "Лабораторные МС 68HC11" внутри архива находится в папке "Описание микроконтроллера MC68HC11". PDF-файл из архива "Описание микроконтроллера MC68HC11", который расположен в категории "". Всё это находится в предмете "радиоприёмные устройства" из 7 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "радиоприёмные устройства" в общих файлах.

Просмотр PDF-файла онлайн

Текст 9 страницы из PDF

Остальные прерывания образуют группу I - прерываний, все они могут быть запрещены/разрешены путем соответственно установки/сброса бита I в регистре условий CCR (например командами SEI иCLI). В этой группе высший приоритет имеет прерывание, определяемое состоянием младшей тетрады регистра HPRIO (см. рис. 7.1 и табл. 7.2). Далее приоритет источников прерывания падает в следующем порядке:прерывание IRQпрерывание реального временивходной захват 1входной захват 2входной захват 3выходное сравнение 1выходное сравнение 2выходное сравнение 3выходное сравнение 4Прерывания.41Лабораторная работа №7выходное сравнение 5переполнение таймерапереполнение счетчика пульсацийсчетчик пульсацийпоследовательный синхронный интерфейс (SPI)последовательный асинхронный интерфейс (SCI)Вызов прерывания влечет за собой запись основных регистров в стек, при этом порядокразмещения регистров следующий:SPSP-1SP-2SP-3SP-4SP-5SP-6SP-7SP-8SP-9СтекМладший байт программного счетчика - PCLСтарший байт программного счетчика - PCHМладший байт регистра Y - IYLСтарший байт регистра Y - IYHМладший байт регистра X - IXLСтарший байт регистра X - IXHАккумулятор A - ACCAАккумулятор B - ACCBРегистр условий - CCRàУказатель стека SP допрерыванияàУказатель стека SP послепрерыванияПосле выполнения подпрограммы обслуживания прерывания состояния основных регистров восстанавливается из стека при выполнении команды возврата RTI.Рассмотрим более подробно прерывание IRQ.

Оно имеет два источника, один из которых внешний, другой - внутренний, от системы обслуживания параллельного ввода/вывода.В данной лабораторной работе мы будем рассматривать только внешнее IRQ - прерывание.При возникновении запроса на прерывание от какого-нибудь из источников происходит генерация прерывания по вектору IRQ (находится по адресу $FFF2 для нормальных режимовработы и $00EE - для специальных).Вход прерывания IRQ микроконтроллера предназначен для обслуживания запросов напрерывание от внешних устройств.

В зависимости от состояния бита IRQE регистраOPTION, обнаружение запроса производится либо по низкому уровню (IRQE=“1”), либо поотрицательному перепаду (IRQE=“0”) на входе IRQ микроконтроллера. Для учебных целейна плате отладочного модуля предусмотрена кнопка IRQ (см. рис. NN технического описания на модуль), схемотехническое подключение которой представлено на следующем рисунке:Прерывания.42Лабораторная работа №7Рассмотрим пример обслуживания запроса прерывания от внешнего источника по линии IRQ. В данном примере при нажатии на клавишу IRQ производится инверсия состояниялиний порта B (светодиодов).cpu6811portbequ$1f04; регистр данных порта Boptionequ$39; смещение для регистра конфигурацииorg$00eejmp$d100orgldx$d000#$1000clrbclrportboption,x,$20clibra*org$d100ldaaeorastaajsrrti#$ffportbportbdly06;;;;вектор прерывания по IRQ (режимbootstrap)переход на подпрограмму обслуживанияпрерывания;;;;;;;;Начало основной программыобщее смещение для внутреннихрегистровпогасить светодиодыустановить режим обнаружения внешнегопрерывания по уровнюразрешить I-прерываниязамкнутый цикл; Начало подпрограммы обслуживания; прерывания; инверсия состояния светодиодов; задержка 0.6с; возврат из прерыванияdly06j1ldx#$7f00; подпрограмма задержки 0.6сmul; задержка 30 цикловmulmuldexbnej1rtsЗапустите программу с адреса $D000.

Каждое следующее нажатие на клавишу IRQ воспринимается только через 0.6 с, причем, если клавишу оставить нажатой, то светодиоды будут мигать с периодичностью 0.6 с. Это объясняется тем, что после возвращения из подпрограммы обработки прерывания, возникает новый запрос, поскольку клавиша IRQ нажата иподдерживает на соответствующем входе низкий уровень.Теперь заменим командуbclr option,x,$20наbset option,x,$20т.е. установим режим обнаружения прерывания по перепаду и запустим заново программу(вместо этого можно просто изменить соответствующим образом состояние регистра option,с помощью команды отладчика “DebugfMemoryfModify”). При работе модифицированной программы инверсия состояния светодиодов также происходит при нажатии на клавишуIRQ, которое воспринимается через 0.6 с после предыдущего нажатия, но если клавишуоставить нажатой, то мигания светодиодов не будет, т.к.

при нажатии клавиши IRQ возникает только один отрицательный перепад.Прерывания.43Лабораторная работа №7Для удобства рассмотрения часть прерываний выделены в отдельную группу - группуисключительных ситуаций. К ней относятся: сброс микроконтроллера - RESET, система защиты от сбоев - COP, система обнаружения падения частоты синхронизации и система обработки неправильного кода команды.Сброс микроконтроллера может быть произведен двумя путями: 1. по перепаду напряжения питания (пока напряжение питания не достигло необходимого уровня, внутри микроконтроллера устанавливается сигнал сброса RESET, который остается установленным еще4064 тактовых цикла после достижения нормы); 2.

подачей низкого уровня на вывод RESETмикроконтроллера. После сброса микроконтроллер инициализирует внутренние регистры иначинает выполнять программу пользователя, начиная с адреса, находящегося по вектору$FFFE, $FFFF.Система защиты от программных сбоев (COP) представляет собой таймер, который поистечении определенного времени передает управление программой по вектору $FFFA,$FFFB (при этом не производится сохранение основных параметров программы в стеке, вотличие от обычных прерываний). Для того, чтобы этого не произошло программа пользователя должна периодически инициализировать таймер COP, причем период между двумяинициализациями не должен превышать заданного значения (периода COP-таймера).

Этозначение определяется частотой внешней тактовой синхронизации и состоянием битов CR1и CR0 (два младших бита) регистра OPTION. Следует иметь ввиду, что в нормальных режимах работы эти биты могут быть запрограммированы только в течение первых 64 E цикловработы микроконтроллера после сброса. В специальных режимах работы доступ к этим битам не ограничен (см. описание на микроконтроллер).

Для внешней тактовой частоты 8 МГцсоответствие между состоянием битов CR1 и CR0 и периодом COP - таймера представлено втабл. 7.3.Таблица 7.3.CR1 CR0 Период COP0016.384 мс0165.536 мс10262.14 мс111.049 сРазрешение работы COP производится путем сброса бита NOCOP (бит 2) регистраCONFIG (правила его программирования смотрите в описании на микроконтроллер). Инициализация COP осуществляется последовательной записью байтов $55 и $AA в регистрCOPRST (адрес $103A).Система обнаружения сбоя частоты синхронизации включается установкой бита CME(бит 3) регистра OPTION. Срабатывание системы происходит, если внутренняя частота синхронизации E падает ниже 10-200 кГц (при внешней частоте 8 МГц внутренняя составляет2 МГц).

После срабатывания управление передается по вектору $FFFC, $FFFD, без сохранения состояния контроллера в стеке (как и в случае с COP).Из трех вышеперечисленных исключительных ситуаций высший приоритет имеетRESET и низший - COP.Если в процессе выполнения программы встретилась команда с несуществующим кодом (например, $41), то происходит прерывание по вектору $FFF8, $FFF9. По процессу выполнения это прерывание аналогично программному прерыванию SWI, за исключением того, что при переходе на подпрограмму обслуживания прерывания в стек записывается адрескоманды, вызвавшей прерывание по неправильному коду, а не адрес следующей команды.Рассмотрим пример программы, которая подсчитывает количество несуществующих командв программе и выводит его в двоичном виде на светодиоды:cpu6811portbequ$1f04; регистр данных порта Btmpequ0; дополнительная ячейкаПрерывания.44org$00f7jmp$d100orgclrnopnopnopnopfcbnopnopnopfcbfcbnopldaastaa$d000tmpbra*org$d100inctmptsyinc8,yЛабораторная работа №7; вектор прерывания по неправильному; коду команды (режим bootstrap); переход на подпрограмму обслуживания; прерывания; Начало основной программы; Обнулить счетчик неправильных команд$41; Код неправильной команды$62$5b; Код неправильной команды; Код неправильной командыtmpportb; вывести состояние счетчика на; светодиоды; замкнутый цикл;;;;Начало подпрограммы обслуживанияпрерыванияИнкрементировать счетчик неправильныхкоманд; Увеличить на 1 адрес возврата (чтобы; возврат был на следующую команду, а; не на вызвавшую прерывание)rti; возврат из прерыванияПримечание.

Программа-отладчик для работы с HC11EVB использует прерывание по неправильному коду команды для организации точек останова и трассировки, поэтому эти функции становятся недоступными при выполнении данной программы.В связи с этим после выполнения программы следует сбросить контроллер и заново восстановить связь.В качестве счетчика неправильных команд используется дополнительная ячейка tmp. Вначале программы он инициализируется, а затем увеличивается на 1 после каждого следующего обнаружения неправильной команды. В качестве “нормальных команд” используютсякоманды NOP. В конце программы содержимое счетчика выводится на светодиоды.

Запустите программу с адреса $D000. На светодиодах должно появится двоичное число 00000011 (т.е.десятичное 3). Проверьте работоспособность программы меняя число неправильных команд.Прерывания.45Лабораторная работа №73. Контрольные вопросы.1.

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