Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Ход работы. Сигналы ШИМ (широтно–импульсная модуляция) представляют собой цифровые сигналы с постоянной частотой и меняющимся коэффициентом заполненияСигналы ШИМ (широтно–импульсная модуляция) представляют собой цифровые сигналы с постоянной частотой и меняющимся коэффициентом заполнения. Пример таких сигналов приведен на рисунке 1.28.
Рисунок 1.28 – Типовой сигнал ШИМ
Для генерации ШИМ можно воспользоваться двумя таймерами которые входят в контроллер MSP430G2211 это Watchdog timer и Timer A, при чем первый будет генерировать прерывания а другой формировать импульсы установка /сброс порта. Каждый блок захвата/сравнения таймера А содержит модуль вывода. Этот модуль используется для генерации различных сигналов, в том числе сигналов с ШИМ. Каждый модуль вывода имеет восемь режимов работы, которые используются для формирования различных сигналов в соответствии с внутренними сигналами EQU0 и EQUx. В данной работе необходимо использовать третий либо седьмой режим работы таймера. Режимы работы модуля вывода определяются битами OUTMODx поэтому выбираем режим OUTMOD_7 Использование модуля вывода – таймер в режиме прямого счёта Сигнал OUTx изменяется при достижении таймером в процессе счёта значения, записанного в регистре TACCRx, а также при переходе таймера от значения, записанного в регистре TACCR0, к нулевому значению. Пример написания программы.
#include "msp430g2211.h" #define GRN_LED BIT6 int pwmDirection = 1; void main(void) { /* установка сторожевого таймера в режим таймера с периодом 32 мс */ WDTCTL = WDT_MDLY_32; /* разрешение прерываний от сторожевого таймера */ IE1 |= WDTIE; /* установка порта Р1.6 на вывод в функцию зеленого светодиода для индикации ШИМ*/ P1DIR |= GRN_LED; P1SEL |= GRN_LED; /* Модуль, определяющий период ШИМ */ CCR0 = 5000–1; /* CCR1 модуль задающий коэффициент заполнения для ШИМ */ CCR1 = 1; CCTL1 = OUTMOD_7;//Назначаем седьмой режим вывода для таймера /* установка системы тактирования таймера а также его режим счета (прямой) MC_1 */ TACTL = TASSEL_2 + MC_1; /* Переход в спящий режим LPM0 */ __bis_SR_register(LPM0_bits + GIE); /*бесконечный цикл */ while(1) {} } #pragma vector=WDT_VECTOR // обработчик прерывания от сторожевого таймера __interrupt void watchdog_timer (void) { CCR1 += pwmDirection*40; // изменяем содержимое модуля захвата // сравнения на величину pwmDirection*40 // Инвертируем знак переменной pwmDirection для // увеличения/уменьшения CCR1 if(CCR1 > 4980 || CCR1 < 20) pwmDirection = –pwmDirection; } Задания для лабораторной работы приведены в таблице 1.16.
Таблица 1.16 – Задание для лабораторной работы 5
Продолжение таблицы 1.16
Отчет должен содержать: - название лабораторной работы, номер варианта, тема, цель, ход работы, выводы; - в ходе работы необходимо привести блок схему алгоритма программы, листинг готовой программы с построчным описанием, электрическую принципиальную схему подключения контроллера к отладочному комплекту.
|