29.08.2013 Views

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

Autonom robotväckarklocka med trådlös basstation - KTH

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C:\Documents and Settings\mazda\My Documents\Stegmotor16\Stegmotor.c<br />

igt<br />

Page: 2<br />

MCUCR|=0x0A; //Konfigurera interrupten,<br />

GICR|=0xC0; //Lokal enable INT0<br />

TCCR1A=0x00; //Timer 1<br />

TCCR1B=0x09;<br />

OCR1A=20;<br />

TIMSK|=0x00; //Timer disable<br />

sei(); //Global enable<br />

ADMUX = 0x27; //00100111 porta7<br />

while(1){<br />

int adcdata;<br />

ADCSRA = 0xC0; //11000000<br />

adcdata = ADCH;<br />

if (state==0){ //MENYVAL 0: Paus<br />

TIMSK=0x00;<br />

PORTB=0x7F; //allt avstängt<br />

}else if (state == 1){ //MENYVAL 1: styra vridningen <strong>med</strong> tangentbord<br />

TIMSK=0x00; //timer disable<br />

double konst=360/5;<br />

int steg = 23;<br />

double inmatadvinkel=inmatning();<br />

vinkel=inmatadvinkel*10/konst;<br />

if (vinkel0; i=i){<br />

ADCSRA = 0xC0; //11000000<br />

adcdata = ADCH;<br />

if (steg >0){<br />

PORTB=Allstep[stepmode][steg-j];<br />

}else{<br />

PORTB=Allstep[stepmode][j];<br />

}<br />

j++;<br />

i--;<br />

if (adcdata>0){<br />

_delay_ms(adcdata/4);<br />

}else{<br />

_delay_us(400);<br />

}<br />

if (j==24){<br />

j=0;<br />

}<br />

if(state_before!=state){<br />

break;<br />

}<br />

}<br />

}else if(state==2){ //MENYVAL 2 : Motorn snurrar kontinuerl<br />

TCCR1B=0x0C; //ändrar prescaler till 256<br />

TIMSK=0x10; //Timer enable<br />

double intryckt = inmatning();<br />

if (intryckt!=0){<br />

if (intryckt65535){ //Maxgräns för timer2.<br />

intryckt = 65535;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!