Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовой / Zaklyuchenie

.doc
Скачиваний:
19
Добавлен:
29.02.2016
Размер:
99.84 Кб
Скачать

17

Group 1751Заключение

В ходе выполнения курсовой работы ознакомились с устройством микроконтроллера семейства AVR. Изучена структура AVR ATMega8, система команд и способы применения. На базе микроконтроллера ATMega8 была разработана микропроцессорная система .

Также была разработана схема электрическая принципиальная, написана программа и составлен алгоритм этой программы для микропроцессорной системы.

Приложение А. Листинг программы

#include <tiny2313a.h>

#include <delay.h>

#define INPORT PIND.3

interrupt [PC_INT2] void pin_change_isr2(void)

{

}

void GlassUp()

{

PORTA.1 = 0;

PORTB.0 = 1;

delay_ms(800);

PORTB.0 = 0;

delay_ms(2000);

PORTB.1 = 1;

delay_ms(800);

PORTB.1 = 0;

delay_ms(2000);

PORTB.2 = 1;

delay_ms(800);

PORTB.2 = 0;

delay_ms(2000);

PORTB.3 = 1;

delay_ms(800);

PORTB.3 = 0;

delay_ms(2000);

PORTA.1 = 1;

}

void main(void)

{

unsigned timeout;

char signalIsDown, signalIsUp;

unsigned wait;

#pragma optsize-

CLKPR=(1<<CLKPCE);

CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);

#ifdef _OPTIMIZE_SIZE_

#pragma optsize+

#endif

DDRA=(0<<DDA2) | (1<<DDA1) | (0<<DDA0);

PORTA=(0<<PORTA2) | (1<<PORTA1) | (0<<PORTA0);

Bit0=Out

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

DDRD=(0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (1<<DDD0);

PORTD=(0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (1<<PORTD0);

TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);

TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00);

TCNT0=0x00;

OCR0A=0x00;

OCR0B=0x00;

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (0<<TOIE0) | (0<<OCIE0A);

MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00) | (1<<SM0) | (1<<SM1) | (1<<SE);

PCMSK2=(0<<PCINT17) | (0<<PCINT16) | (0<<PCINT15) | (0<<PCINT14) | (1<<PCINT13) | (0<<PCINT12) | (0<<PCINT11);

GIMSK=(0<<INT1) | (0<<INT0) | (0<<PCIE0) | (1<<PCIE2) | (0<<PCIE1);

GIFR=(0<<INTF1) | (0<<INTF0) | (0<<PCIF0) | (1<<PCIF2) | (0<<PCIF1);

USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC);

UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

DIDR=(0<<AIN0D) | (0<<AIN1D);

#asm("sei")

PORTD.0 = 0;

delay_ms(1000);

PORTD.0 = 1;

PORTA.1 = 0;

delay_ms(1000);

PORTA.1 = 1;

wait = 0;

while (1)

{

PORTD.0 = 0;

if (INPORT == 1)

{

delay_ms(30);

if (INPORT == 1)

{

timeout = 0;

signalIsDown = 0;

while (signalIsDown == 0 &&

timeout < 3000)

{

delay_ms(50);

timeout += 50;

signalIsDown = (INPORT == 0);

}

if (signalIsDown)

{

timeout = 0;

signalIsUp = 0;

while (signalIsUp == 0 &&

timeout < 60*1000)

{

delay_ms(50);

timeout += 50;

signalIsUp = (INPORT == 1);

}

if (signalIsUp)

{

GlassUp();

}

}

}

}

wait += 1;

delay_ms(10);

if (wait > 500)

{

wait = 0;

PORTD.0 = 1;

#asm("SLEEP");

}

}

}

Соседние файлы в папке Курсовой
  • #
    29.02.2016196.52 Кб193.docx
  • #
    29.02.2016221.78 Кб194.docx
  • #
    29.02.2016191.54 Кб205.docx
  • #
    29.02.201649.66 Кб19Spisok_literatury.doc
  • #
    29.02.201693.7 Кб20Vvedenie.doc
  • #
    29.02.201699.84 Кб19Zaklyuchenie.doc
  • #
    29.02.201691.9 Кб17алгоритм.cdw
  • #
    29.02.2016162.34 Кб18Микропроцессорная система управления приводом стеклоподъемников.cdw
  • #
    29.02.2016163.44 Кб16Микропроцессорная система управления приводом стеклоподъемников.cdw.bak