ftp://avrkod.xlx.pl
avrkod1
avrkod.cba.pl
avrkod
avrkod1
http://i65.tinypic.com/2rghumr.jpg
/*
* main.c
*
* Created on: 15 kwi 2016
* Author: Krystian
*/
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
volatile uint16_t TIMER_L;
uint8_t licznik = 0;
uint8_t etap = 0;
int main(void)
{
// init przerwań
// dokumentacja | 104
TCCR0B = (1 << CS00);
// dokumentacja | 106
TIMSK0 = (1 << TOIE0);
// cykliczne powtarzanie przerwań
sei();
// ust. portu D na wyjściowy
DDRD = 0xFF;
// ustawienie pinu PD4 na stan niski | 0
// reszta pinów na stan wysoki | 1
// 1110 1111
PORTD = 0xEF;
// nieskończona pętla, ale nic nie ma
while(1)
;
return 0;
}
// trzeba się nauczyć!
ISR(TIMER0_OVF_vect)
{
TIMER_L++;
if(TIMER_L >= 31250)
{
TIMER_L = 0;
// licznik++, czyli dodaje kolejne sekundy
licznik++;
zmiana();
}
}
void zmiana()
{
// PDn - il_bitów - co?
// PD7 - 8 - strzałka
// PD6 - 4 - zielone
// PD5 - 2 - żółte
// PD4 - 1 - czerwone
// PD - bity
// 7654 3210
if(etap == 0)
{
if(licznik == 1)
{
PORTD = 0x6F;
}
if(licznik == 7)
{
PORTD = 0xEF;
}
if(licznik == 8)
{
PORTD = 0xCF;
}
if(licznik == 9)
{
PORTD = 0xBF;
licznik = 0;
etap = 1;
}
}
if(etap == 1)
{
if(licznik == 10)
{
PORTD = 0xDF;
licznik = 0;
etap = 2;
}
}
if(etap == 2)
{
if(licznik == 1)
{
PORTD = 0xEF;
licznik = 0;
etap = 0;
}
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}