Stap 5: De micro Program
Ik gebruikte AVRdude als mijn compiler. De micro eerste stelt PORTB als uitgang, vervolgens ingesteld pin 13 hoge dan telt voor 6 minuten. De mosfet die is ingeschakeld, dan schakelt de LED-array. Het licht gaat uit na 6 minuten daarin pin 13 laag, en de micro is geplaatst in de energiebesparende slaapstand. Trekken van pin 1, de reset-lijn, laag ontwaakt de micro uit slaapwijze en start u het programma helemaal opnieuw.
Zijn dat eenvoudig! Wees de eerste om een foto van de auto-off nachtlampje dat u hebt gemaakt en ik stuur je een pro-lidmaatschap post!
Mijn eenvoudige programma voor de ATTINY2313 Auto-off nachtlampje is als volgt:
attiny2313pu processor met behulp van avrdude
#include (avr/io.h)
#include (avr/delay.h) #include (avr/sleep.h)
int main(void) {}
TIMSK = 0X0;
DDRB = 0XFF; PORTB = alle output
PORTB = 0X1E; instellen van bits hoge
int i = 3500; aantal lus loopt
terwijl (ik! = 0)
{_delay_ms(100); //delay
i--; aftellen
}
slaap
TCCR0B & = 0b11111000; timer stoppen 0
TCCR0A & = 0b00111111; 00c0ca set
MCuCR! = 0b00100000; Sei = 0
MCUCR! = 0b00010000; uitzetten van de slaap
_delay_ms (10); //small vertraging
PORTB = 0X00; PORTB alle lage
sleep_cpu(); Ga slapen
}