Gustav |
Nové stránky BETA
Hlavní nabídka
Technika & Bastlení
Média
Reklama Google

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

Kompatibilní zapojení: LED panel s ATmega8

.
.

Untitled
/*
Popis:
P?i stisku tla?ítka se rozsvítí vybrané ledky. Po uvoln?ní tohoto tla?ítka ledky 
op?t zhasnou. 

Ledky které se mají rozsv?cet jsou vybrány konstantou "LED".

Tla?ítka jsou p?ipojena k portu "D" K tla?ítk?m jsou p?ipojeny "pull up" rezistory 
na 5 V, takže pokud není stisknuté tla?ítko, je na daném pinu 5 V (log. 1). 
P?i stisku tla?ítka se daný pin uzemní a je na n?m tedy 0 V (log 0).

Tla?ítko je p?ipojeno k pinu PD2 (INT0).
P?i stisku tla?ítka bude vyvoláno p?erušení ve kterém dojde k rozsvícení ledek.
*/

#include <avr/io.h>		//Vlož knihovnu vstup? a výstup? (PORT, DDR, PIN)
#include <avr/interrupt.h> //Vlož knihovnu vektor? p?erušení (ISR(), sei() )

#define LED 0b01010101; //Ledky, které  se mají rozsvítit p?i stisku tla?ítka
						//(každá lichá)

/********************Obsluha p?erušení***********************/
ISR(INT0_vect)          //obsluha vn?jšího p?erušení 0
{
PORTB = LED;	//Rozsvi? vybrané ledky (zhasnou se v hlavní smy?ce) 
				//až p?estane být voláno p?erušení
}


/**********************HLAVNÍ FUNKCE*************************/

int main (void) //hlavní funkce
{
GIMSK = 0b01000000;  	//vybereme p?erušení od INT0
sei();              	//povol p?erušení

DDRB = 0xff; 	//(0xff = 0b11111111) -> Piny 0 - 7 portu "B" budou výstupní
DDRD = 0;		//Port "D" bude vstupní (tla?ítko je p?ipojeno k portu "D")

while (1)		// Nekone?ná smy?ka (dokud 1 = po?ád)
	{
	
	PORTB = 0;	//zhasni všechny ledky (rozsvicují se v p?erušení)
				//Pokud není stisknuté tla?ítko, program v hlavní smy?ce neustále 
				//zhasíná ledky.

	}	//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)	


 
Poslední aktualizace
 5 January 2016, 07:01 
Webkamera
Webkamera na Blatenském vrchu
Change language
Sociální sít?
Náhodné foto
Podporují nás