Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > ARM

реклама

 




Мероприятия:




5.1.4.1.6. Режим широтно-импульсной модуляции

Помимо базового режима сравнения, каждый таймер поддерживает специальный режим генерации ШИМ-сигналов. В этом режиме период ШИМ задается с помощью регистра автоматической перезагрузки таймера. Значение заполнения импульсов задается через регистр захвата/сравнения канала. Таким образом, каждый таймер может генерировать до четырех независимых ШИМ-сигналов. Позже мы увидим, что таймеры могут работать и синхронизированно, позволяя генерировать до 16 синхронизированных ШИМ-сигналов.

Каждый таймер поддерживает специальный режим ШИМ, в котором можно генерировать ШИМ-сигналы с выравниванием по фронту или центру
Каждый таймер поддерживает специальный режим ШИМ, в котором можно генерировать ШИМ-сигналы с выравниванием по фронту или центру

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

TIM2->CR1       = 0x00000000;       //по умолчанию
TIM2->PSC       = 0x000000FF;       //установка макс. знач. предделителя
TIM2->ARR       = 0x00000FFF;       //установка макс. перезагружаемого знач.
TIM2->CCMR1     = 0x00000068;       //Устанавливаем режим ШИМ
TIM2->CCR1      = 0x000000FF;       //Задаем стартовое значение ШИМ
TIM2->CCER      = 0x00000101;       //разрешаем выхода канала 1
TIM2->DIER      = 0x00000000;       //разрешаем обновление прерывания
TIM2->EGR       = 0x00000001;       //разрешаем обновление
TIM2->CR1       = 0x00000001;       //разрешаем работу таймера
	


<--Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники