Чтение онлайн

на главную - закладки

Жанры

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

Пак Дэниэл Дж.

Шрифт:

Ответ: режим входного захвата IC, режим выходного сравнения OC и режим счетчика внешних событий PA.

7. Почему необходимо следить за флагом переполнения счетчика временной базы?

Ответ: При использовании модуля таймера для измерения временных интервалов необходимо знать, сколько раз в процессе измерения переполнился счетчик. В противном случае подсчитанный код будет неверным.

8. Почему разработчик должен быть крайне осторожен при обнулении счетчика временной базы таймера?

Ответ: Сама по себе операция обнуления не представляет сложности. Однако к работающему счетчику временной базы могут быть «привязаны» другие каналы IC/OC.

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

4.14.3. Регистры для управления счетчиком временной базы

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

Регистр управления модулем таймера

Регистр управления модулем таймера TSCR (Timer System Control Register) располагается в памяти МК по адресу $0086. Формат регистра представлен на рис. 4.30. Старший бит регистра TEN разрешает (при TEN=1) или запрещает (при TEN=0) функционирование модуля таймера. Этот бит используется разработчиками для включения или отключения модуля таймера в процессе работы устройства. Отключение модуля полезно с точки зрения снижения потребления энергии, если функции таймера не используются в алгоритме управления. Обратите внимание, что после сброса МК модуль таймера выключен, т.к. бит TEN автоматически устанавливается в 0 в состоянии сброса МК.

Рис. 4.30. Формат регистра TCSR

Бит TFFCA управляет механизмом сброса флагов событий модуля таймера. К этим флагам относятся флаг переполнения таймера TOF, флаги событий в каналах захвата/сравнения IC/OC и флаг переполнения счетчика внешних событий. Если бит TFFCA установлен в 0, то для сброса перечисленных флагов следует использовать обычную процедуру, когда в бит установленного флага под управлением программы записывается 1 (см. раздел 4.14.2, флаг переполнения счетчика). Попытка записи 0 в бит установленного флага оставит флаг без изменения. Если бит TFFCA установлен в 1, то вводится в действие дополнительный механизм сброса рассматриваемых флагов событий:

• Флаг переполнения счетчика временной базы TOF в регистре TFLG2 будет сброшен автоматически при выполнении операции чтения регистра текущего кода счетчика TCNT;

• Флаг события канала захвата/сравнения CnF (n — номер канала) в регистре TFLG1 будет сброшен автоматически при выполнении операции чтения или записи в регистр данных этого канала;

• Флаги PAONF и PAIF счетчика внешних событий в регистре PAFLG будут сброшены автоматически при чтении или записи в регистр PACNT.

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

/*-----------------------------------------------------------------*/

/* MAIN PROGRAMM */

/*-----------------------------------------------------------------*/

#include <912b32.h>

void main(void) {

 unsigned char TSCR_MASK = 0x80; /*разрешение работы модуля таймера*/

 TSCR = TSCR_MASK;

}

/*------------------------------------------------------------------*/

Регистр
счетчика временной базы

Если работа модуля таймера разрешена, то счетчик временной базы изменяет свое состояние в порядке естественного счета. Число разрядов счетчика временной базы равно 16, поэтому коэффициент счета счетчика составляет 216. Изменение коэффициента счета не предусмотрено. Счетчик временной базы не возможно остановить, однако его состояние в любой момент времени может быть считано под управлением программы из регистра текущего состояния TCNT (Timer CouNTer register). Регистр TCNT — 16 разрядный, в памяти МК он занимает две ячейки. По адресу $0084 располагается старший байт регистра TCNTH, по адресу $0085 — младший байт регистра TCNTL. Формат регистра представлен на рис. 4.31.

Рис. 4.31. Формат регистра TCNT

Считывание регистра текущего состояния счетчика временной базы следует производить только в 16 разрядном формате, поскольку побайтное чтение может дать неверный результат. Дело в том, что счетчик временной базы может тактироваться максимальной частотой, которая равна fBUS. Каждая операция чтения занимает несколько тактов fBUS, следовательно, две последовательных операции чтения приведут к тому, что старший и младший байты счетчика будут считаны при разных состояниях этого счетчика и вместе составят неверное его состояние (если режим «чтение на лету» не задействован). Приведенный ниже программный фрагмент демонстрирует, как правильно считать состояние счетчика с использованием двухбайтовых переменных.

/*-------------------------------------------------*/

/* MAIN PROGRAMM */

/*-------------------------------------------------*/

#include<912b32.h>

void main(void) {

 unsigned int start_time; /*время начала процесса*/

 unsigned int stop_time; /*время окончания процесса*/

 start_time=TCNT;

 stop_time=TCNT;

}

/*-------------------------------------------------*/

Регистр масок таймера 2

Регистр масок таймера TMSK2 (Timer MaSK register 2) располагается в памяти МК по адресу $008D. Формат регистра представлен на рис. 4.32. В данном параграфе мы рассмотрим лишь некоторые биты этого регистра. Бит TCRE разрешает сброс счетчика временной базы таймера (см. раздел 4.14.2, сброс счетчика временной базы). Биты PR2:PR1:PR0 устанавливают коэффициент деления программируемого делителя на входе счетчика временной базы в соответствие с табл. рис. 4.28. Обратите внимание, что минимальный коэффициент деления равен 1, т.е. максимальная частота тактирования счетчика равна fBUS. Максимальный коэффициент деления составляет 32. Биты PUPT и TDRB предназначены для управления схемотехникой входных и выходных буферов линий порта PORT T.

Поделиться:
Популярные книги

Долгий путь домой

Русич Антон
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
6.20
рейтинг книги
Долгий путь домой

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Фиктивная жена

Шагаева Наталья
1. Братья Вертинские
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Фиктивная жена

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Барон Дубов 4

Карелин Сергей Витальевич
4. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 4

Лекарь для захватчика

Романова Елена
Фантастика:
попаданцы
историческое фэнтези
фэнтези
5.00
рейтинг книги
Лекарь для захватчика

Идеальный мир для Лекаря 24

Сапфир Олег
24. Лекарь
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Идеальный мир для Лекаря 24

Ваше Сиятельство 9

Моури Эрли
9. Ваше Сиятельство
Фантастика:
боевая фантастика
попаданцы
стимпанк
аниме
фэнтези
5.00
рейтинг книги
Ваше Сиятельство 9

Господин следователь

Шалашов Евгений Васильевич
1. Господин следователь
Детективы:
исторические детективы
5.00
рейтинг книги
Господин следователь

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7

Полковник Гуров. Компиляция (сборник)

Макеев Алексей Викторович
Полковник Гуров
Детективы:
криминальные детективы
шпионские детективы
полицейские детективы
боевики
крутой детектив
5.00
рейтинг книги
Полковник Гуров. Компиляция (сборник)

Первый среди равных. Книга V

Бор Жорж
5. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга V

Землянка для двух нагов

Софи Ирен
Фантастика:
космическая фантастика
5.00
рейтинг книги
Землянка для двух нагов