Функциональная организация программы

Программа предназначена для работы с микроконтроллером MSP430G2553 компании Texas Instruments. Работоспособность с другими микроконтроллерами не гарантируется. Программа, загружается на микроконтроллер и предназначается для управления им и управления его периферийными устройствами, необходимыми для измерения температуры. Функционально программа состоит из: основной функции программы(main), функций обработки прерываний(Interrupt ADC10_ISR и Interrupt ta0_isr).

Функция main типа void, является основной функцией программы и предназначается для реализации ее работы.

Состоит из: объявления начальных настроек программы и бесконечного цикла.

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

Бесконечный цикл начинается по нажатию кнопки запуска, затем происходит запуск АЦП, которое преобразует информацию, выдаваемую датчиком температуры, в цифровую форму. После завершения работы АЦП включается режим энергосбережения, который прекращается при снятие следующего значения температуры. На основе полученных от АЦП данных происходит расчет значения температуры. В зависимости от этого значения включаются либо красный, либо зеленый светодиоды. Следующая итерация цикла происходит по срабатыванию таймера.

Функция обработки прерывания Interrupt ADC10_ISR типа void предназначена для обработки прерывания от АЦП. Делает ЦПУ активным и активирует все разрешенные тактовые сигналы.

Функция обработки прерывания Interrupt ta0_isr типа void предназначена для обработки прерывания от таймера. Обнуляет значение счетчика и осуществляет выход микроконтроллера из режима энергосбережения.

датчик температура микроконтроллер программный

ЗАКЛЮЧЕНИЕ

В ходе выполнения данного курсового проекта были получены знания о принципах построения и разработки систем на основе микроконтроллеров семейства MSP430, о порядке и процессе выбора элементной базы, и построения единой системы на ее основе. При разработке программы были получены навыки в написании программ на языке С семейства MSP430. При помощи документации-первоисточника от производителя были изучены принципы работы встроенного в микроконтроллер АЦП, а так же изучена работа встроенного датчика температуры.

ПРИЛОЖЕНИЕ

Текст программы

#include "msp430g2553.h"

#define red_LED BIT0

#define grn_LED BIT6

#define BTN BIT3temp;IntDegF;IntDegC;count;int customtemp;main(void)

{= WDTPW + WDTHOLD; // Остановка WDTCTL1 = INCH_10 + ADC10DIV_3; // Инициализация АЦП на работу с датчиком температурыCTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE;

enable_interrupt(); // Разрешаем прерывания.= 30; // Устанавливаем время выборки|= CCIE; // Режим сравнения прерывания.= TASSEL_2 | MC_1; // Выбор источника тактового сигнала TACLK = SMCLK, таймер считает от 0000h до TACCR0.; // спать, проснется с прерывая от АЦП, где получит установку продолжить работу&= ~CCIE; // Отключить прерывание таймера

disable_interrupt();=25;//Установка пороговой температурыOUT = 0;//Выключение светодиодовDIR |= red_LED + grn_LED; // Выводы светодиодов на выход

while

((P1IN & BTN) == BTN); // ждем нажатия кнопки запускаем программу

while

(1)

{CTL0 |= ENC + ADC10SC; // Разрешение и запуска процесса выборки и преобразования

bis_SR_register(CPUOFF + GIE); // Вход в режим LPM0

// Результат каждого преобразования заносится в регистр ADC10MEM

// oF = ((A10/1024)*1500mV)-923mV)*1/1.97mV = A10*761/1024 - 468= ADC10MEM;= ((temp - 630) * 761) / 1024;

// oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278= ADC10MEM;= ((temp - 673) * 423) / 1024;

//for (count = 0; count < 90000; count++);

if

(IntDegC<=customtemp)

{OUT &= ~red_LED; // выключаем красный светодиод

P1OUT |= grn_LED; // включаем зеленый светодиод

}

else

{OUT &= ~grn_LED; // выключаем зеленый светодиодOUT |= red_LED; // включаем красный светодиод

}

no_operation(); // Установка точки остановки

}

}

// ADC10 прерывание

#pragma

vector=ADC10_VECTOR

interrupt

void

Перейти на страницу: 1 2

Похожые стьтьи по экономике

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

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

Построение и разработка систем на основе микроконтроллеров семейства MSP430
Регулирование и автоматизация многих промышленных процессов требует точного и достоверного измерения температуры. Управляемый микропроцессором датчик температуры представляет собой униве ...

Разделы

© 2021 - www.frontinformatics.ru