From ac42a12abffae2c0d99f48c36e282764a42c5dd9 Mon Sep 17 00:00:00 2001 From: "Michal, OK1WMR" <ok1wmr@gmail.com> Date: Wed, 22 Jun 2011 19:46:58 +0200 Subject: [PATCH] =?UTF-8?q?P=C5=99id=C3=A1n=20=C4=8Dl=C3=A1nek=20AVR=20-?= =?UTF-8?q?=20LED=20panel=20-=20P=C5=99=C3=ADklad=20-=20Tla=C4=8D=C3=ADtko?= =?UTF-8?q?=20s=20p=C5=99eru=C5=A1en=C3=ADm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (Autoexportován z Joomly) --- ...led-panel-priklad-tlacitko-s-prerusenim.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 articles/2011/avr-led-panel-priklad-tlacitko-s-prerusenim.md diff --git a/articles/2011/avr-led-panel-priklad-tlacitko-s-prerusenim.md b/articles/2011/avr-led-panel-priklad-tlacitko-s-prerusenim.md new file mode 100644 index 0000000..7ba5a22 --- /dev/null +++ b/articles/2011/avr-led-panel-priklad-tlacitko-s-prerusenim.md @@ -0,0 +1,78 @@ ++++ + +title = "AVR - LED panel - PĹ™Ăklad - TlaÄŤĂtko s pĹ™erušenĂm" +perex_e = " + +KompatibilnĂ zapojenĂ: LED panel s ATmega8 + +Ke staĹľenĂ: LED_Tlacitko-preruseni.c == LED_Tlacitko-preruseni.pdf == LED_Tlacitko-preruseni.htm +. +. +" +tags = ["ÄŚlánek"] ++++ + + + +KompatibilnĂ zapojenĂ: LED panel s ATmega8 + +Ke staĹľenĂ: LED_Tlacitko-preruseni.c == LED_Tlacitko-preruseni.pdf == LED_Tlacitko-preruseni.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: +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) + +``` \ No newline at end of file -- GitLab