Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ivannikova.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

3 Результат выполнения учебного проекта

В результате выполнения проекта получим следующий исходный код

#include "msp430g2553.h"

#define red_LED BIT0

#define grn_LED BIT6

#define BTN BIT3

long temp;

long IntDegF;

long IntDegC;

long count;

unsigned int customtemp;

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // Остановка WDT

ADC10CTL1 = INCH_10 + ADC10DIV_3; // Инициализация АЦП на работу с датчиком температуры

ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE;

__enable_interrupt(); // Разрешаем прерывания.

TACCR0 = 30; // Устанавливаем время выборки

TACCTL0 |= CCIE; // Режим сравнения прерывания.

TACTL = TASSEL_2 | MC_1; // Выбор источника тактового сигнала TACLK = SMCLK, таймер считает от 0000h до TACCR0.

LPM0; // спать, проснется с прерывая от АЦП, где получит установку продолжить работу

TACCTL0 &= ~CCIE; // Отключить прерывание таймера

__disable_interrupt();

customtemp=25;//Установка пороговой температуры

P1OUT = 0;//Выключение светодиодов

P1DIR |= red_LED + grn_LED; // Выводы светодиодов на выход

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

while(1)

{

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

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

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

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

temp = ADC10MEM;

IntDegF = ((temp - 630) * 761) / 1024;

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

temp = ADC10MEM;

IntDegC = ((temp - 673) * 423) / 1024;

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

if(IntDegC<=customtemp)

{

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

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

}

else

{

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

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

}

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

}

}

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

#pragma vector=ADC10_VECTOR

__interrupt void ADC10_ISR (void)

{

__bic_SR_register_on_exit(CPUOFF); // Обнуляем CPUOFF бит до 0(SR) ЦПУ активно, все разрешённые тактовые сигналы активны

}

#pragma vector=TIMER0_A0_VECTOR

__interrupt void ta0_isr(void)

{

TACTL = 0;

LPM0_EXIT; // Выход из режима LPM0 по возвращению

}

ЗАКЛЮЧЕНИЕ

При прохождении практики были проверены следующие практические знания и навыки:

1 Правильность и точность разработки кода программного модуля на современных языках программирования.

2 Точность создания программы по разработанному алгоритму как отдельного модуля.

3 Правильность разработки кода программного продукта на основе готовой спецификации на уровне модуля.

4 Правильность применения основных принципов отладки и тестирования программных продуктов.

5 Точность использования инструментальных средств на этапе отладки программного продукта.

6 Правильность отладки и тестирование программы на уровне модуля и проведения тестирования программного модуля по определенному сценарию.

7 Правильность выполнения отладки и тестирование программы на уровне модуля.

7 Точность проведения оптимизации программного кода модуля по определенному сценарию.

8 Правильность выполнения отладки и тестирование программы на уровне модуля и правильность использования инструментальных средств на этапе отладки программного продукта.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1 Канер, С. Тестирование программного обеспечения[Текст]: Пер. с англ./С. Канер, Д. Фолк, Кек Нгуен [и др.]-Киев: ДиаСофт, 2000. – 544 с.

2 Рудаков, А.В. Технология разработки программных продуктов[Текст]: Учеб. Пособие для студ. Сред. Проф. Образования./А.В. Рудаков.-М.: Издательский центр «Академия», 2007. – 192 с.

3 Фридман, А.Л. Основы объектно-ориентированной разработки программных систем[Текст] / Л.И. Фридман -М.:Финансы и статистика, 2000. – 192 с.

4 Интегрированные среды разработки / Электронный ресурс http://www.studfiles.ru/dir/cat32/subj1259/file11616/view106028.html

5 Культин, Н.Б. C/C++ в задачах и примерах[Текст]: 2-е изд., перераб. и доп. (+CD) / Н.Б. Культин - И: «ЛАНЬ»,2012 г.

6 Кузнецов, М.В. C++. Мастер-класс в задачах и примерах [Текст]: (+ CD) / М.В. Кузнецов. - И: «ЛАНЬ», 2012 г.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]