+++ title = "AVR - LED panel - Příklad - LEDka" perex_e = " Kompatibilní zapojení: LED panel s ATmega8 Ke stažení: LED_Ledka.c == LED_Ledka.pdf == LED_Ledka.htm . . " tags = ["Článek", "Bastlení", "Konstrukce", "2011"] +++ Kompatibilní zapojení: LED panel s ATmega8 Ke stažení: LED_Ledka.c == LED_Ledka.pdf == LED_Ledka.htm . . * * * <title>Untitled</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="generator" content="SynEdit HTML exporter"> <style type="text/css">&amp;lt;!-- body { color: #000000; background-color: #FFFFFF; } .cpp1-assembler { } .cpp1-brackets { } .cpp1-comment { color: #008000; font-style: italic; } .cpp1-float { color: #000080; } .cpp1-hexadecimal { color: #000080; } .cpp1-character { } .cpp1-identifier { } .cpp1-illegalchar { } .cpp1-number { color: #000080; } .cpp1-octal { color: #0000FF; } .cpp1-preprocessor { } .cpp1-reservedword { font-weight: bold; } .cpp1-space { color: #008080; } .cpp1-string { color: #800000; } .cpp1-symbol { } --&amp;gt;</style> ``` /* Popis: Vybrané ledky budou blikat s periodou cca jedné sekundy (0,5 s svítí a 0,5s jsou zhaslé) Ledky které mají takto blikat jsou vybrány konstantou "LED" a čas svícení je nastaven konstantou "CEKANI" */ #define F_CPU 1000000UL // 1 MHz -základní frekvence //(definice je nutná pro funkce z knihovny "delay.h" //->musí se vypočítat, kolik hodinových taktů má procesor //čekat, aby čekal požadovanou dobu) #include <avr/io.h> //Vlož knihovnu vstupů a výstupů (PORT, DDR) #include <util/delay.h> //vlož knihovnu čekacích funkcí (_delay_ms() ) #define CEKANI 500 //Nadefinuj konstantu "CEKANI" s hodnotou 500 //(500 milisekund) #define LED 0b00111100; //Ledky, které mají blikat (prostřední 4) /**********************HLAVNÍ FUNKCE*************************/ int main (void) //hlavní funkce { DDRB = 0xff; //(0xff = 0b11111111) -> Piny 0 - 7 portu "B" budou výstupní while (1) // Nekonečná smyčka (dokud 1 = pořád) { PORTB = LED; //Rozsviť vybrané ledky _delay_ms (CEKANI); //Čekej tolik milisekund, kolik je v konstantě CEKANI PORTB = 0; //Zhasni všechny ledky _delay_ms (CEKANI); //Opět čekej } //Konec cyklu "while (1)" - program skočí zpět na jeho začátek }//konec funkce main() - sem se program nikdy nedostane //(závorka tu však musí být jinak by překladač nahlásil chybu) ```