Skip to content
Snippets Groups Projects
avr-led-panel-priklad-ledka.md 2.41 KiB

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 . .


Untitled <!-- 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 { } -->
/*
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)