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

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

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

#include <msp430g2452.h>

void ADC_init(void); // function prototypes

void Ports_init(void);

void TimerA_init(void);

int volts =0;

int i= 0 ;

int summa = 0;

int A[8];

void main( void )

{

WDTCTL = WDTPW + WDTHOLD; // disable watchdog

Ports_init(); // init P1 and P2

ADC_init(); // init ADC

TimerA_init(); // init TimerA

for (;;)

__low_power_mode_0(); // enter sleep mode

}//main

void TimerA_init(void)

{

TACCR0 = 6000; // ADC trigger period ~22 мсек

TACCTL0 = OUTMOD_4; // toggle OUT0 to trigger ADC

TACTL = TASSEL_2 + ID_3 + MC_1 + TACLR; // SMCLK/8, up mode, start

}

void Ports_init(void)

{

P1DIR = 0xFF; // configure port for output

P1OUT = 0; // init port

P2DIR = 0xFF; // configure port for output

P2SEL = 0; // I/O on XTAL pins

P2OUT = 0; // init port

}

void ADC_init(void)

{

ADC10CTL0 = SREF_0 + ADC10SHT_2 + ADC10ON + ADC10IE; // 16 clocks sample-and-hold

ADC10CTL1 = SHS_2 + CONSEQ_2; // trigger by TA0

ADC10AE0 = BIT0; // set ADC channel 0

ADC10CTL0 |= ENC; // enable conversion

}

#pragma vector = ADC10_VECTOR

__interrupt void ADC10_ISR (void) // ADC10 ISR

{

summa = summa - A[i] + ADC10MEM;

A[i] = ADC10MEM;

i++;

if (i == 7) i=0;

int adcAverage = summa >> 3;

volts = adcAverage;

char led1 = 0; // PORT1 leds stati

char led2 = 0; // PORT2 leds stati

if (volts < 60) led1 |= BIT1;

if (volts >= 60 && volts < 135) led1 |= BIT2; // new led states

if (volts >= 135 && volts < 209) led1 |= BIT3;

if (volts >= 209 && volts < 280) led1 |= BIT4;

if (volts >= 280 && volts < 348) led1 |= BIT5;

if (volts >= 348 && volts < 420) led2 |= BIT0;

if (volts >= 420 && volts < 492) led2 |= BIT1;

if (volts >= 492 && volts < 564) led2 |= BIT2;

if (volts >= 564 && volts < 636) led2 |= BIT3;

if (volts >= 636 && volts < 708) led2 |= BIT4;

if (volts >= 708 && volts < 780) led2 |= BIT5;

if (volts >= 780 && volts < 852) led1 |= BIT6;

if (volts >= 852 && volts < 924) led1 |= BIT7;

if (volts >= 924 && volts < 996) led2 |= BIT6;

if (volts >= 996) led2 |= BIT7;

P1OUT = led1; // copy led states to ports

P2OUT = led2;

}

Заключение

В результате выполнения портфолио были освоены профессиональные компетенции и проверено их освоение, заключающееся в точность определения основных этапов разработки программного обеспечения, правильности применения основных принципов технологии структурного и объектно-ориентированного программирования, правильности оформления документации на программные средства, правильности и точности разработки алгоритма поставленной задачи, правильности применение основных принципов технологии структурного и объектно-ориентированного программирования;

Так же были проверены:

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

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

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

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

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

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

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

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

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