Tisk
Koutek AVR -
Napsal uĹživatel radioklub.cz   
Středa, 22 Červen 2011 20:36

Kompatibilní zapojení: LED panel s ATmega8

Ke stažení: LED_Ledka.c == LED_Ledka.pdf == LED_Ledka.htm
.
.

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