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

3.1.1.Требование к организации программного обеспечения

Программное обеспечение реализуется на языке программирования C. В качестве системы для написания и отладки программного обеспечения предлагается использовать кросс-систему TI Code Composer Studio.

Программное обеспечение должно содержать следующие элементы:

  1. Инициализационная часть программного обеспечения (часть функции main). Выполняет инициализацию аппаратной части микроконтроллера и, при необходимости — ввод начальных значений переменных программного обеспечения.

  2. . Функция обслуживания прерывания, обеспечивающая отсчет временных промежутков. В качестве источника прерывания может использоваться любой таймер микроконтроллера TMS430G2553, например — сторожевой таймер в режиме интервального таймера.

  3. Бесконечный фоновый цикл (часть функции main). Выполняет вызов функций обслуживания светодиодов и кнопки.

  4. Функции обслуживания светодиодов и кнопки, вызываемые из фонового цикла. Все эти функции должны быть реализованы в отдельных файлах исходного текста *.c и подключены к проекту.

3.1.2. Описание устройства msp-exp430g2

Устройство MSP-EXP430G2 представляет собой простейшее устройство, содержащее микроконтроллер MSP430G2553, набор внешних разъемов и устройств, позволяющих подключаться к периферийным устройствам данного микроконтроллера, а также USB-интерфейс, позволяющий выполнять программирование и отладку программного обеспечения микроконтроллера.

Подключение устройств, используемых в процессе выполнения работы, показано в таблице 2. Все устройства подключены к линиям порта P1 микроконтроллера MSP430G2553. Активный уровень соответствует включенному состоянию светодиодов и нажатому состоянию кнопки. Высокий уровень соответствует состоянию линии «1», низкий — состоянию линии «0».

3.2.Описание функционирования программы

3.2.1.Описание функционирования программы

Файл Main.c

// Malinin L.E. II-32x

// Kursovoy proekt

// Variant 28

#include "ProjectHeader.h"

void main(void)

{

WDTCTL = WDTPW + WDTTMSEL + WDTCNTCL + 0x1;

BCSCTL1 = CALBC1_1MHZ;

DCOCTL = CALDCO_1MHZ;

IE1|=WDTIE;

_BIS_SR(GIE);

P1DIR = BIT0 | BIT6;

P1REN = BIT3;

P1OUT = BIT3;

while (1){}

}

//__interrupt void watchdog_timer(void);

Файл ProjectHeader.h

/*

* ProjectHeader.h

* Created on: 08.11.2012

* Author: admin

*/

#ifndef PROJECTHEADER_H_

#define PROJECTHEADER_H_

#include <msp430g2553.h> //файл заголовка конф. исп. контроллера

#define P_on 183

#define P_off 244

#define button_time_on 121

#endif /* PROJECTHEADER_H_ */

Файл TimeServis.c

#include "ProjectHeader.h"

unsigned long counter=0;

unsigned long button_counter=0;

unsigned short button_on=0;

unsigned short rejim=0;

unsigned short ray=0;

float time=0, t2=45, T2=0, T_on=0, T1=0, T2_new=0;

#pragma vector=WDT_VECTOR

__interrupt void watchdog_timer(void){

if((P1IN & BIT3)==0) {button_counter++;}

else {button_counter=0;}

if(button_counter>=button_time_on){button_counter=0; button_on=1;}

if((button_on==1) & ((P1IN & BIT3)!=0))

{rejim=~rejim; button_on=0;}

if(rejim==0)

{

P1OUT&=~BIT6; time=0;

counter++;

if((counter>0) & (counter<=P_on)){P1OUT|=BIT0;}

else if((counter>P_on) & (counter<=P_off)){P1OUT&=~BIT0;}

else {counter=0;}

}

else {P1OUT|=BIT6; counter=0;

if(time>=0 & time<t2)

{

if(time==0){T1=0; T2=2-0.3*time; T_on=0.3; ray=0;}

if((time>=T1) & (time<=T_on)) {P1OUT|=BIT0;}

else if((time>T_on) & (time<=T2)) {P1OUT&=~BIT0;}

else{T1=time; T2_new=2-0.3*time; T2=T2_new+T1; T_on=T1+0.3;}

time+=0.008192;

}

else if(time>=t2 & time<=2*t2)

{

if(ray==0){T1=t2; T2=0,5+0.33*time; T_on=T1+0.333; ray=1;}

if((time>=T1) & (time<=T_on)) {P1OUT|=BIT0;}

else if((time>T_on) & (time<=T2)) {P1OUT&=~BIT0;}

else{T1=time; T2_new=0,5+0.33*time; T2=T2_new+T1; T_on=T1+0.333;}

time+=0.008192;

}

else{time=0;}

}

}

Лист регистрации изменений

Номера листов (страниц)

Всего

листов

(страниц)

в докум

№

документа

Входящий

№ сопрово

дительного

документа

и дата

Подп.

Дата

Изм

изменен

ных

заме

ненных

новых

анулиро

ванных

1) ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов

2) ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов

3) ГОСТ 19.104-78* ЕСПД. Основные надписи

4) ГОСТ 19.105-78* ЕСПД. Общие требования к программным документам

5) ГОСТ 19.106-78* ЕСПД. Общие требования к программным документам, выполненным печатным способом

6) ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению

7) ГОСТ 19.604-78* ЕСПД. Правила внесения изменений в программные документы, выполненные печатным способом