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

5. Каждый маскируемый источник запроса на прерывание должен быть разрешен установкой соответствующего бита в регистре управления периферийного модуля. Мы рассмотрим, как это записать на Си в последующих примерах.

6. После установки всех индивидуальных битов на разрешение прерывания, необходимо сбросить глобальную маску прерывания I. На ассемблере для этого используют команду CLI. При программировании на Си мы также воспользуемся этой командой, посредством следующих макросов:

#define CLI() asm("cli\n"); //разрешить маскируемые прерывания

#define SEI() asm("sei\n"); //запретить маскируемые прерывания

Далее по тексту программы, если необходимо разрешить прерывания, то следует ввести CLI().

Ниже приведен пример инициализации подсистемы прерывания. Полную запись исходного текста программы с прерываниями мы рассмотрим после обсуждения модуля таймера.

//объявление функции в модуле

void toggle_isr(void);

//директива #pragma для указания, что функция является подпрограммой

//обслуживания прерывания

#pragma interrupt_handler toggle_isr

//инициализация соответствующего вектора в таблице векторов прерываний

#pragma abs_address: 0xF7EA

//В32 RAМ based vector address

void (*Timer_Channel_2_interrupt_vector[])()={toggle_isr};

#pragma end_abs_address

<p>4.13. Система тактирования</p>

Микроконтроллеры семейства 68HC12/HCS12 имеют в своем составе модуль генератора CGM (Clock Generation Module), который генерирует импульсные последовательности для тактирования центрального процессора, межмодульных магистралей, периферийных модулей в составе МК, а также внешние периферийные интегральные схемы. Структурная схема модуля CGM представлена на рис. 4.23.

Рис. 4.23. Структура модуля тактирования CGM

Микроконтроллеры семейства 68HC12/HCS12 используют три внутренних сигнала тактирования: TCLK, ECLK и PCLK. Эти сигналы образуются путем деления эталонной импульсной последовательности внутреннего генератора с внешним кварцевым резонатором. Сигнал TCLK предназначен для тактирования центрального процессора, импульсные последовательности ECLK и PCLK используются для тактирования межмодульных магистралей и различных периферийных модулей (рис. 4.23). Модуль тактирования CGM микроконтроллера B32 оснащен также дополнительным делителем, который позволяет существенно снизить частоту одной из импульсных последовательностей тактирования. Низкая частота тактирования таймерных модулей в некоторых применениях позволяет значительно упростить управляющую программу.

<p>4.13.1.Система тактирования отладочной платы MC68HC912B32EVB</p>

Микроконтроллер в составе платы отладки MC68HC912B32EVB тактируется от внешнего кварцевого резонатора с частотой 16 МГц. В модуле генератора CGM эта частота делится на 2, образуя импульсную последовательность для тактирования центрального процессора и межмодульных магистралей микроконтроллера с частотой 8 МГц. Эта же импульсная последовательность используется для тактирования всех периферийных модулей микроконтроллера: таймера, контроллеров последовательного обмена, АЦП. Многие периферийные модули обладают собственным делителем частоты. Этот делитель позволяет создать собственную внутреннюю частоту тактирования модуля, которая может не коррелироваться с частотами других модулей. Это удобно при проектировании.

Кварцевый резонатор может быть отключен от входа МК посредством переключателей на плате MC68HC912B32EVB. Вместо кварцевого резонатора для тактирования МК может быть использован внешний генератор или керамический резонатор. Последний обладает меньшей, чем кварцевый резонатор, стабильностью частоты, однако он является более дешевым компонентом. Мы не будем вносить каких-либо изменений в схемотехнику платы MC68HC912B32EVB. Поэтому далее на протяжении всей книги частота внутренней шины и центрального процессора МК будет составлять 8 МГц. Частота внутренней шины МК может быть понижена дополнительным делителем модуля CGM (рис. 4.23). Его коэффициент деления назначается под управлением программы и может составлять 1, 2, 4, …, 128. Для выбора желаемого коэффициента деления необходимо записать соответствующий таблице рис. 4.24 код в разряды SLDV2…SLDV0 регистра управления дополнительным делителем SLOW. Формат этого регистра приведен на рис. 4.24.

Выбор пониженной частоты межмодульных магистралей МК

Перейти на страницу:

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

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

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

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

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

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

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

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