Мегаобучалка Главная | О нас | Обратная связь


ТАЙМЕР/СЧЕТЧИК 1 В РЕЖИМЕ ШИМ



2019-10-11 181 Обсуждений (0)
ТАЙМЕР/СЧЕТЧИК 1 В РЕЖИМЕ ШИМ 0.00 из 5.00 0 оценок




При выборе режима широтно-импульсной модуляции (ШИМ), тай­мер/счетчик 1 и регистр совпадения OCR1A формируют 8, 9 или 10-разряд­ный непрерывный свободный от "дрожания" и правильный по фазе сигнал, выводимый на ножку PB3(OC1). Таймер/счетчик 1 работает как реверсивный счетчик считающий от 0 до конечного значения (см. табл.10). При дости­жении конечного значения счетчик начинает считать в обратную сторону до нуля, после чего рабочий цикл повторяется. Когда значение счетчика совпадает с 8, 9 или 10-ю младшими битами регистра OCR1A, вывод PD1(OC1) устанавливается или сбрасывается в соответствии с установками бит COM1A1 и COM1A0 в регистре TCCR1 (см. табл.11).

 

Таблица 12. Конечное значение таймера и частота ШИМ.

 

Разрешение ШИМ Конечное значение таймера Частота ШИМ
8 бит 00FFh (255) Ftc1/510
9 бит 01FFh (511) Ftc1/1022
10 бит 03FFh (1023) Ftc1/2046

 

Таблица 13. Установка режима совпадения при работе ШИМ

 

COM1A1 COM1A0 Влияние на вывод OC1
0 0 не подключен
0 1 не подключен
1 0 очищается при совпадении, для возрастания счетчика и сбрасывается для уменьшения (неинвертирующий ШИМ)
1 1 очищается при совпадении, для уменьшения счетчика и сбрасывается для возрастания (инвертирующий ШИМ)

В режиме ШИМ, при записи в регистр OCR1A, 10 младших бит переда­ются во временный регистр и переписываются только при достижении тай­мером/счетчиком конечного значения. При этом устраняется появление не­симметричных импульсов (дрожания), которые неизбежны при асинхронной записи OCR1A. Во промежуток времени между записью во временный регистр и пере­писыванием его в OCR1, при обращении к OCR1 читается содержимое вре­менного регистра. Если OCR1A содержит значение 0000h или конечное значение (TOP), вывод OC1 остается в том состоянии, которое определяется установками COM1A1 и COM1A0. Это показано в табл. 14.

 

Таблица 14. Выход ШИМ для OCR=0000h или TOP

 

COM1A1 COM1A0 OCR1A вывод OC1
1 1 0 0 0000h TOP низкий высокий
1 1 1 1 0000h TOP высокий низкий

 

В режиме ШИМ флаг переполнения таймера 1 (TOV1) устанавливается когда счетчик изменяет направление счета в точке 0000h. Прерывание по переполнению таймера 1 работает как при нормальном режиме работы таймера/счетчика, т.е. оно выполняется, если установлен флаг TOV1 и разрешены соответствующие прерывания. То же самое касается флага сов­падения и прерывания по совпадению.

СТОРОЖЕВОЙ ТАЙМЕР

Сторожевой таймер работает от отдельного встроенного генератора работающего на частоте 1 MHz (это типовое значение частоты для питания 5В). Управляя предварительным делителем сторожевого таймера можно за­давать интервал сброса таймера от 16 до 2048 mS. Команда WDR сбрасыва­ет сторожевой таймер. Для работы сторожевого таймера можно выбрать од­но из 8-ми значений частоты, что позволяет в широких пределах изменять время между исполнением команды WDR и сбросом процессора. При отработ­ке периода работы сторожевого таймера, если не поступила команда WDR, AT90S2313 сбрасывается, выполнение программы продолжается с вектора сброса.

Для предотвращения нежелательного отключения сторожевого таймера, для его запрещения должна выполняться определенная последовательность, которая описана при рассмотрении регистра WDTCR.

 

РЕГИСТР УПРАВЛЕНИЯ СТОРОЖЕВЫМ ТАЙМЕРОМ – WDTCR

WDTCR

H(41h)

7 6 5 4 3 2 1 0
WDTOE WDE WDP2 WDP1 WDP0
R R R R R\W R\W R\W R\W
Начальное значение 0 0 0 0 0 0 0 0

 

Биты 7..5 - зарезервированы. В AT90S2333/4433 эти биты зарезервиро­ваны и всегда читаются как 0.

 

Бит 4 - WDTOE - разрешение выключения сторожевого таймера. При очис­тке бита WDE этот бит должен быть установлен (1). Иначе, работа сторо­жевого таймера не прекращается. Через четыре такта после установки этого бита, он аппаратно сбрасывается.

 

Бит 3 - WDE- разрешение сторожевого таймера. Если бит установлен (1), работа сторожевого таймера разрешена, если бит сброшен - запреще­на. Сброс бита производится только в том случае, если бит WDTOE уста­новлен в 1. Для запрещения включенного сторожевого таймера должна ис­полняться следующая процедура:

 

1. Одной командой записать 1 в WDTOE и WDE. Единица в WDE должна записываться даже в том случае если этот бит был установлен пе­ред началом процедуры остановки таймера

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

 

Биты 2..0 - WDP2..0 - Биты предварительного делителя сторожевого таймера. Если работа сторожевого таймера разрешена, эти биты определя­ют предварительный коэффициент деления для сторожевого таймера. В таб­лице 15 приведены различные значения установок предварительного дели­теля и соответствующие им временные интервалы для напряжения питания Vcc=5V.

 

Таблица 15. Установки предварительного делителя сторожевого таймера

 

WDP2 WDP1 WDP0 период времени
0 0 0 16 K циклов
0 0 1 32 K циклов
0 1 0 64 K циклов
0 1 1 128 K циклов
1 0 0 256 циклов
1 0 1 512 циклов
1 1 0 1024 циклов
1 1 1 2048 циклов


2019-10-11 181 Обсуждений (0)
ТАЙМЕР/СЧЕТЧИК 1 В РЕЖИМЕ ШИМ 0.00 из 5.00 0 оценок









Обсуждение в статье: ТАЙМЕР/СЧЕТЧИК 1 В РЕЖИМЕ ШИМ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Почему наличие хронического атрофического гастрита способствует возникновению и развитию опухоли желудка?
Почему молоко имеет высокую усвояемость?
Почему в черте города у деревьев заболеваемость больше, а продолжительность жизни меньше?



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (181)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)