Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Ход работы. В данной работе, для мигания светодиодом используется таймер А0
В данной работе, для мигания светодиодом используется таймер А0. Он будет периодически переключать вывод порта Р1.0, тем самым управляя свечением светодиода. Использование таймера преследует еще одну цель. Так как микроконтроллер, у которого постоянно идет пустая работа в цикле, крайне неэффективен с точки зрения энергопотребления, чтобы использовать все его возможности нужно научиться работать с прерываниями, а на остальное время переводить его в состояние пониженного энергопотребления. Это особенно важно, если питание происходит от батарей, что позволяет продлить срок службы прибора, особенно автономного, доступ к которому затруднен. Пример программы, с использованием задержки посредством таймера, приведен ниже.
#include <msp430x11x1.h> // переходим в режим пониженного // энергопотребления
Принцип работы программы следующий. TACTL = TASSEL_2 + MC_2 + TAIE; // Тактирование от SMCLK, непрерывный режим. Перед запуском таймера надо выбрать источник тактирования. Таймер может тактироваться от 4 разных источников – двух внутренних: ACLK, SMCLK и двух внешних: TACLK или INCLK. Выбор источника тактовых импульсов осуществляется при помощи установки битов TASSELx (находятся в регистре TACTL). В данном случае используем тактирование от SMCLK (TASSEL_2 как раз и выбирает этот сигнал, определение можно посмотреть как обычно в заголовочном файле используемого микроконтроллера). Т. к. предделитель мы не используем, то биты его управления IDx не используются. MC_2 определяет режим работы таймера, в данном случае это непрерывный режим работы. Бит TAIE разрешает работу прерывания от Timer A0. Непрерывный режим характеризуется тем, что таймер считает от 0 до 0xFFFFh, как только он дойдет до 0xFFFFh происходит сброс и генерация прерывания с установкой флага TAIFG. Одним из возможных способов применения данного режима – это генерация временных интервалов или частот. В данном примере формируется постоянная частота, управляющая выходом P1.0. Далее разрешаем глобальные прерывания и переводим микроконтроллер в режим пониженного энергопотребления LPM0 (_BIS_SR(LPM0_bits + GIE);//Разрешаем глобальные прерывания и переходим в режим пониженного энергопотребления). Пример программы, обработчик прерывания от Timer A0.
#pragma vector=TIMERA0_VECTOR
В этом обработчике происходит смена значения на выводе Р1.0 при помощи обычной операции XOR. Задание на лабораторную работу находятся в таблице 1.15.
Таблица 1.15 – Задания к лабораторной работе 4
Продолжение таблицы 1.15
Отчет должен содержать: - название лабораторной работы, номер варианта, тема, цель, ход работы, выводы; - в ходе работы необходимо привести блок схему алгоритма программы, листинг готовой программы с построчным описанием, электрическую принципиальную схему подключения контроллера к отладочному комплекту.
Date: 2015-06-06; view: 745; Нарушение авторских прав |