Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

На рис. 4.17 приведен формат таблицы векторов прерываний для МК B32. В первой колонке приведены адреса двух ячеек памяти, в которых должен располагаться двухбайтовый адрес начала подпрограммы прерывания или сброса. Во второй колонке указан источник события исключения, подпрограмма обслуживания которого должна начинаться с адреса, записанного в соответствующих ячейках памяти. Если, например, на входе внешнего запроса   будет установлен низкий логический уровень, и МК перейдет к обслуживанию прерывания поэтому запросу, то аппаратные средства МК считают 16-разрядный код из ячеек памяти с адресами $FFF2, $FFF3 и передадут его в счетчик адреса PC центрального процессора. Так начнет исполняться подпрограмма прерывания по внешнему запросу . В третьей колонке таблицы рис. 4.17 указан бит глобальной маски для каждого источника исключения. Обратите внимание, что все источники сброса и программное прерывание по команде SWI невозможно запретить под управлением программы. Остальные прерывания могут быть запрещены либо X–, либо I-битом в регистре признаков CCR центрального процессора. Причем установленный в 1 бит I запрещает сразу все прерывания, напротив которых он упомянут в таблице. Поэтому этот бит и носит название глобальной маски прерывания. В колонках 4 и 5 приведены имена регистров специальных функций и битов этих регистров, которые являются битами разрешения для соответствующих запросов на прерывание. Эти биты позволяют разрешить или запретить прерывание только от одного источника запроса. Для того чтобы запрос на прерывание поступил в центральный процессор, необходимо, чтобы глобальная маска прерывания I была сброшена, и бит разрешения соответствующего прерывания был установлен в 1. Например, с помощью таблицы рис. 4.17 можно получить справку о том, что прерывание по внешнему запросу   будет разрешено, если бит разрешения внешнего прерывания IRQEN в регистре управления прерываниями INTCR будет установлен в 1, а бит глобальной маски прерывания I в 0. Формат регистра управления внешним прерыванием INTCR приведен на рис. 4.18. Последняя колонка таблицы рис. 4.17 содержит шестнадцатеричный код, который необходимо загрузить в регистр HPRIO для того, чтобы назначить соответствующему запросу наивысший уровень приоритета.

Рис. 4.18. Формат регистра INTCR

Внимательный читатель должен был заметить, что адреса ячеек памяти, в которых располагаются вектора исключений, находятся в защищенной области памяти. Эту область памяти невозможно стереть и затем занести в нее новые вектора. Для того чтобы программист в процессе отладки все-таки имел возможность использования подсистемы прерывания с произвольными векторами входа в подпрограммы, в отладочном режиме работы МК семейства 68HC12/HCS12 используют дополнительную таблицу векторов, которая располагается в незащищенной области памяти. Соответствие адресов таблиц векторов прерывания в отладочном и пользовательском режиме работы приведено на рис. 4.19. На рис. 4.19 представлены альтернативные адреса размещения векторов прерываний для МК MC68HC912B32. В других моделях МК альтернативная таблица может располагаться в области ОЗУ, поскольку она предназначена только для целей отладки.

Адреса вектораИсточник исключенияАдрес передачи управления
$FFC0–$FFCFзарезервирован$F7C0–$F7CF
$FFD0Модуль BDLC$F7D0
$FFD2Модуль ATD$F7D2
$FFD4зарезервирован$F7D4
$FFD6Контроллер SCI$F7D6
$FFD8Контроллер SPI$F7D8
$FFDAСобытие на входе счетчика внешних событий$F7DA
$FFDCПереполнение счетчика внешних событий$F7DC
$FFDEПереполнение счетчика таймера$F7DE
$FFE0Канал 7 таймера$F7E0
$FFE2Канал 6 таймера$F7E2
$FFE4Канал 5 таймера$F7E4
$FFE6Канал 4 таймера$F7E6
$FFE8Канал 3 таймера$F7E8
$FFEAКанал 2 таймера$F7EA
$FFECКанал 1 таймера$F7EC
$FFEEКанал 0 таймера$F7EE
$FFF0Метки реального времени RTI$F7F0
$FFF2Внешнее прерывание IRQ$F7F2
$FFF4Внешнее прерывание XIRQ$F7F4
$FFF6Программное прерывание SWI$F7F6
$FFF8Сброс по несуществующему коду команды$F7F8
$FFFACOP$F7FA
$FFFCСброс от системы тактирования$F7FC
$FFFEВнешний сброс$F7FE  

Рис. 4.19. Таблица адресов, которым передается управление исключениями в пользовательском и отладочном режимах работы МК

<p>4.10.4. Система приоритетов для исключений</p>
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных