Скачиваний:
34
Добавлен:
01.05.2014
Размер:
2 Мб
Скачать
☆

1.4. Предосторожности при работе с Таймерами

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

Будьте осторожны при записи в регистры таймера TIMER1 и TIMER2:

Изменение значения TIMER1 после инициализизации HSI модуля может разрушить относительные ссылки между HSI событиями. Также, изменение значения соответствующего таймера ( TIMER1 или TIMER2 ), после инициализизации HSO модуля, может заставить HSO пропускать запрограммированные события или выполнять их в неправильном порядке.

Конфигурируйте Таймер 2 для функционирования в нормальном режиме ( не в быстром режиме приращения ):

Так как для полного сканирования CAM, HSO требует восьми времен состояния, Таймер 2, когда он используется как датчик времени для HSO, должен функционировать в нормальном режиме приращения (не в быстром режиме приращения ) .

Очистите бит FAST_T2_ENA(IOC2.0) для выбора нормального режима работы таймера.

Конфигурируйте Таймер 2 для счета только в одном направлении.

Таймер 2 , когда он используется как датчик времени для HSO, должен считать только в одном направлении, поскольку, если Таймер 2 колеблется вокруг отметки времени выполнения команды, блокировка входов может происходить несколько раз.

Очистите бит T2UD_ENA(IOC2.1), чтобы сконфигурировать Таймер 2 как суммирующий счетчик.

Используйте предостережение при сбросе Таймера 2.

Не сбрасывайте Tаймер 2 до того, как его значение достигнет самого наибольшего времени, запрограммированного в CAM. CAM задерживает ожидание события до соответствующего времени . Если запрограммированное значение Таймера 2 никогда не достигается, событие будет оставаться отложенным, пока устройство не сбросится или CAM не очистится.

Когда Таймер 2 сконфигурирован для сброса внешним контактом, события программы должны происходить когда Таймер 2 равен единице, а не нулю:

Когда Таймер 2 сконфигурирован, чтобы сбрасываться внешним контактом сброса ( IOC0.3 =1), программные события не должны происходить, когда Таймер 2 равен нулю. Если HSI.0 или T2RST (P2.3) сбрасывают Таймер 2, событие может не произойти. Внешние контакты сбрасывают Таймер 2 асинхронно, и Таймер 2 может увеличиться до 1 до того, как HSO может сравнить и распознать CAM запись. Программируйте события так, чтобы они происходили, когда Таймер 2 равен 1, это гарантирует,что HSO имеет достаточное время, чтобы распознать команду, записанную в CAM .

ФРАГМЕНТ ПРОГРАММЫ ИЗУЧЕНИЯ ПРОГРАММИРОВАНИЯ ТАЙМЕРОВ

;***********************************************************

;**Исследование пpoгpаммных задеpжек с использованием Timer1*

ldb wsr,#15 ; Пеpеключиться в HWindow 15

ld timer1,#0c000h ; Загpузить значение счетчика

; Timer1

ldb wsr,#0 ; Пеpеключиться в HWindow 0

jbc ios1, 5, $ ; Ожидание пеpеполнения Timer

;***********************************************************

2. Порядок выполнения работы

2.1. Изучить устройство и порядок программирования таймеров.

2.2. Создать программу по предложенному преподавателем варианту.

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

2.4. Произвести отладку программы в контроллере в режиме прерывания от двух источников.

2.5. Продемонстрировать результат работы программы преподавателю.

ВАРИАНТЫ ЗАДАНИЙ

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

1.Реализовать на индикаторной матрице контроллера включение светодиодов по заданному преподавателем закону.

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

Вариант 2. Форма сигнала (последовательность включения светодиодов) задается таблицей. Использовать второй таймер в качестве формирователя времени свечения светодиодов индикаторной матрицы контроллера, первым таймером задавать задержку переключения светодиодов.

Вариант 3. Сформировать свечение всей светодиодной матрицы с последовательным уменьшением яркости светодиодов, изменяя длительность свечения светодиодов при постояноой частоте следования импульсов.

2. Реализовать на динамике контроллера, который подключен к выводу порта Р2.6, включение звуковых сигналов по заданному преподавателем закону.

Вариант 4. Режим "Метронома".

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

Вариант 5. Написать программу формирования хроматической гаммы. Использовать первый таймер в качестве формирователя частоты тона звучания динамика контроллера, вторым таймером задавать длительность звучания.

Вариант 6. Реализовать фрагмент музыкального произведения, используя таблицу нот в приложении 1.

3. Факультативно. Используя возможности таймеров реализовать на микроконтроллере световое сопровождение к музыкальному фрагменту , поставив в соответствие каждому светодиоду матрицы контроллера определенную ноту звукового ряда.

Соседние файлы в папке Лабораторные работы по МПС