Skip to content
Snippets Groups Projects
Commit 7a797318 authored by Isabella Skořepová's avatar Isabella Skořepová
Browse files

set language and fix errors

parent a7b81287
Branches
No related tags found
No related merge requests found
Showing
with 38 additions and 234 deletions
......@@ -67,7 +67,7 @@ Jestli narazíte u tohoto zapojení na nějaký problém, tak nám napište na [
# Program v jazyce C
```
```c
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
......
......@@ -3,27 +3,17 @@ title = "AVR - LED panel - #1 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-02-04T06:03:27.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_001.c == LED_001.pdf == LED_001.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_001.c == LED_001.pdf == LED_001.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;amp;amp;amp;amp;amp;amp;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;amp;amp;amp;amp;amp;amp;amp;gt;</style>
```
```c
/*Mikrokontrolér ATmega8 je vlastně malý počítač s vlastním procesorem o pracovní frekvenci až 16 MHz, RAM pamětí 1KB, a obdobou HDD - 512 Bajtů EEPROM a 8 KB Flash. Mikrokontrolér má oddělenou paměť pro program a data. Vlastní program mikrokontroléru se zapisuje do paměti Flash (8 KB).Do této paměti se dá zapisovat pouze při programování mikrokontroléru.Paměť EEPROM slouží k ukládání dat při běhu programu. Ukládají se do ní data, která nechceme ztratit při restartu mikrokontroléru. Do paměti EEPROM lzezapisovat i při programování mikrokontroléru.*//*ATmega8 obsahuje také mnohé periferie, například:- 3 čítače/časovače (Slouží k načítání impulzů, nebo k přesnému časování operací)- šestikanálový A/D převodník s 10 bitovou přesností- analogový komparátor- seriové kanály (USART, SPI)- a další...*//*Potřebný SW:Pro práci s mikrokontroéry Atmel budeme potřebovat následující software:- AVR Studio (vývojové prostředí) http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725- WinAVR (přidá do AVR studia překladač jazyka C) http://winavr.sourceforge.net/download.html- eXtreme Burner- AVR (SW pro nahrávání námi vytvořených programů do mikrokontroléru) http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/- usbasp-windriver.2009-02-28.zip (Ovladače USB programátoru) http://www.fischl.de/usbasp/*//*Vlastní instalace:Doporučuji nejdříve nainstalovat AVR Studio a pak teprve WinAVR. Protožeprogramu WinAVR může vadit mezera v názvu složky "Program files" je lepší oba tyto programy nainstalovat do složky např: "C:\Programy".Dále je potřeba stáhnout a rozbalit ovladače pro USB programátor, a poté připojit do USB portu samotný programátor. Po připojení programátoru se windows se pokusí neúspěšně nainstalovat ovladače pro tento hardware. - Vybereme "zpět", pak "instalovat ze seznamu či vybraného umístění" a do pole "Při hledání zahrnout i toto umístění" zadáme cestu do složky, kam jsme předtím rozbalili usbasp-windriver.2009-02-28.zip.Nakonec už zbývá jen nainstalovat program eXtreme Burner- AVR.*//*Práce s AVR Studio:- Vytvoření nového projektu:Po spuštění se AVR studio zeptá, zda má vytvořit nový, otevřít existujícíprojekt. Vybereme "New Project"Poté se zeptá, jaký typ projektu (překladač) má vytvořit. Vybereme AVR GCC (má logo GNU - obrázek pakoně). Jakmile je vybrán překladač, altivují se textová pole, do kterých napíšeme název projektu. Pro lepší přehlednost doporučuji zaškrtnout "Create folder". Ve spodní části okna můžeme zadatcestu, kam se má projekt uložit.V dalším okně se nás AVR Studio zeptá na debugger a typ mikrokontroléruvybereme "AVR simulator" a "ATmega8". Po stisknutí tlačítka "Finish" otevřeAVR Studio s prázdným projektem.*//*Nyní se můžeme pokusit napsat první program, který rozsvítí LED diody.Abychom však dokázali rozsvítit ledku, musíme se seznámit s tím, jak se v programu přistupuje k jednotlivým nožičkám mikrokontroléru. Mirokontrolér ATmega8 disponuje třemi vstupně výstupním porty (PB, PC, PD).Port je vlastně sada osmi nožiček, které mohou sloužit jako vstup (napříkladod tlačítka), nebo výstup (rozsvítí ledku, nebo sepnou tranzistor).Led diody v naší aplikaci "ATmega8 - LED panel" jsou připojeny k portu PB napiny (nožičky) 0, 1, 2, 3, 4, 5, 6 a 7.K pinům se v programu přistupuje tak, že se nejříe nataví, které nožičky majísloužit jako vstup (0) a které jako výstup (1). Toto nastavení se provádí pomocí DDR registru. Takže pokud budeme například chtít, aby na portu "D" byly nožičky0, 1, 5 a 7 použity jako vstup a ostatní nožičky (2, 3, 4 a 6) sloužily jako výstupy, použijeme registr DDRD (DDRD je DDR registr portu "D"). Do tohoto registru zapíšeme jedničky na pozice, kde mají být výstupy a nuly tam, kde budou vstupy. Takže číslo, které potřebujeme nahrát do registru DDRD je:01011100 (nultá nožička je první číslo zprava (0-čtení), první nožička je druhé číslo zprava (0-čtení), druhá nožička je třetí číslo zprava (1-zápis),atd.)Nyní potřebujeme tedy nějak do DDRD zapsat binární číslo 01011100\. Protože01011100 je v desítkové soustavě 92 lze to zařídit takto:DDRD = 92;Protože se ale nechceme zdržovat převodem binárních čísel do desítkové soustavy, můžeme číslo zapsat i takto:DDRD = 0b01011100;Předponou 0b říkáme, že následující znaky jsou číslo v binárním tvaru. Podobněpředpona 0x znamená, že následující znaky jsou číslo v šestnáckové soustavě.Pokud píšeme číslo v desítkové soustavě, žádná předpona se nepíše.Zpět však k našemu problému. Nyní již víme, jak nastavit nožičky jako vstupy nebo výstupy a zbývá nám už jen na správný pin zapsat "1", aby se rozsvítilaledka. K tomu slouží "výstupní" registr PORT. Jméno registru se odvozuje stejnějako u registru DDR (PORTB je výstupní registr portu B).Stejným způsobem se do něj i zapisuje. Na nožičky,kde chceme, aby se rozsvítila dioda, zapíšeme jedničky. Takže když budu napříkladchtít rozsvítit tři diody připojené (přez odpor) k pinům 0, 1 a 3 portu "B" zapíšeme:PORTB = 0b11110100;Tímto způsobem jdou nastavit (zapnout) dokonce i ty nožičky, které jsou v registru DDR nastaveny jako vstup, Takže se objeví +5V na všech nožičkáchu kterých je v registru PORT zapsaná jednička. Rozdíl je akorát v tom, že u nožiček, které jsou nastaveny jako výstup, se použije "silný" výstupní tranzistor, zatímco u nožiček nastavených jako vstup se použije jen malý pull-up tranzistor, který na rozsvícení ledky nestačí.Můžeme si to vyzkoušet v následujícím programu:*//*Poznámka:Zelený text je komentář. Komentář na program nemá žádný vliv. Slouží jen k okomentování a zpřehlednění programu. Uvozuje se buďto "//" (jednořádkový - ukončuje ho konbec řádku) nebo víceřádkový: začátek: /* a konec: *//*Jak již bylo napsáno, ledky jsou na našem "ATmega8 - LED panel" jsou připojenyk pinům 0 až 7 portu B. Takže budeme potřebovat registry DDRB a PORTB."Program" by mohl vypadat třeba takto:*/#include <avr/io.h> //Nejprve si nahrajeme knihovnu, ve které jsou definovány //registry DDR a PORT - samotný jazyk C tyto registry neznáint main(void) //hlavní funkce - každý program musí mít alespoň tuto funkci{ //do těchto závorek se uzavírá tělo hlavní funkce (náš program)DDRB = 0b10101010; // Každá druhá ledka bude nastavena jako výstupPORTB = 0b00001111; // První 4 LED zapneme (1 = svítí)} //konec hlavní funkce (a programu vůbec)/*Náš první "program" je hotov. Nyní již stačí jen program přeložit pomocítlačítka "build" na horní liště, nebo pomocí nabídky "Build" -> "build"a nebo pomocí klávesy F7\. Tím dojde k vytvoření HEX souboru, který můžemenahrát do mikrokontroléru. Program nahrajeme tak, že připojíme programátor k počítači a isp kabel programátoru připojíme k desce "ATmega8 - LED panel". Poté spustíme program eXtreme Burner- AVR. Stiskneme tlačítko "Open" a zadáme cestu do složky ...\Default v našem projektu (stejná cesta, jako jsme zadávali při vytvořeníprojektu v AVRstudiu).Vybereme HEX soubor a dáme "Otevřít". Program eXtreme Burner- AVR napíše, žeúspěšně načetl soubor.Nyní je třeba vybrat správný typ mikrokontroléru z nabídky "Chip" (vyberemeATmega8)Teď už stačí jen nahrát program do mikrokontreoléru výběrem "FLASH" z nabídky"Write"Pokud vše dopadlo správně, měla by nyní na našem "ATmega8 - LED panel" svítitdruhá a čtvrtá ledka. Svítí jen ty ledky, kde byla zapsána "1" pomocí "silného"tranzistoru - tedy ty, kde je zapsána "1" jak v registru DDR, tak i v registru PORT.*///Pro radioklub OK1KVK naspal Vašek Král
```
......@@ -3,27 +3,15 @@ title = "AVR - LED panel - #2 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-04-06T04:33:14.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_002.c == LED_002.pdf == LED_002.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_002.c == LED_002.pdf == LED_002.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;amp;amp;amp;amp;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;amp;amp;amp;amp;amp;gt;</style>
```
```c
/*V minulém "programu" se nám podařilo rozsvítit vybrané Led diody. Protože sevšak nejednalo o program v pravém slova smyslu, ale o pouhé jednorázové nastavení pinů, pokusíme se nyní toto nastavení v průběhu času pomocí programuměnit. Vytvoříme program, který bude ledky střídavě rozsvěcet a zhasínat.*//*Protože už Led diody nebudou svítit stále, ale pouze určitý čas, budemepotřebovat čekací funkce z knihovny "delay.h" která se nachází v adresáři"util". Tuto knihovnu načteme do programu příkazem:#include <util/delay.h>*//*Blikání je periodická činnost, a bylo by neúčelné vypisovat do nekonečna program typu:rozsviť;čekej;zhasni;čekej;rozsviť;čekej;...Takovýto program by byl velice objemný, a dokázal by bliknout pouze tolikrát,kolikrát bychom mu to napsali. My však chceme, aby ledky blikaly stále.K tomuto účelu se hodí takzvaná nekonečná smyčka. Nekonečná smyčka jeprogramová konstrukce, která zajistí nekonečné opakování instrukcí ve svémtěle.Možnosti jak zapsat nekonečnou smyčku jsou dvě:Buďto jako cyklus for:for(;;){opakované příkazy;}Nebo jako cyklus while:while (1){opakované příkazy;}Použití je víceméně libovolné, protože AVR GCC oba cykly překládá stejně.*///Náš program by tedy mohl vypadat takto:/*Funkce čekání z knihovny delay.h potřebuje vědět, na jaké frekvenci procesorpoběží, protože musí vypočítat, kolik cyklů má procesor počkat, než bude pokračovat dál. Tuto informaci očekává v konstantě "F_CPU", a my jí tedy musíme nadefinovat:*/#define F_CPU 1000000UL // 1 MHz (základní frekvence)#include <avr/io.h> //Nahrajeme zase knihovnu vstupů a výstupů (PORT, DDR)#include <util/delay.h> //Nahrajeme knihovnu čekacích funkcí/* Je vhodné si předem nadefinovat konstanty, které se později objeví v programu.Když pak budeme chtít program upravovat, nemusíme jej celý prohledávat, alestačí pouze přepsat tyto konstanty na začátku.*/#define CEKANI 500 //konstanta "CEKANI" má hodnotu 500 (500 milisekund) #define STAV1 0b01000101 //ledky které budou svítit nejdřív (1 = svítí)#define STAV2 0b10111010 //ledky, které budou svítit potom.int main (void) //jako vždy - hlavní funkce{DDRB = 0b11111111; //Piny 0 - 7 budou výstupnífor (;;) // Nekonečná smyčka { PORTB = STAV1; //Pošleme konstantu STAV1 na nožičky - rozsvítí se LED _delay_ms (CEKANI); //Čekání tolik milisekund, kolik je v konstantě CEKANI PORTB = STAV2; //Rozsvítíme jiné ledky... _delay_ms (CEKANI); //...a opět čekáme (funkce z knihovny delay.h) } // ...a zase na začátek! (cyklu for)} //konec programu - sem se program nikdy nedostane. Bude běhat pořád v //cyklu for./*Po nahrání programu do přípravku "ATmega8 - LED panel" budou střídavě blikat LED diody tak, jak je to definováno v konstantě STAV1 a STAV2\. Čas mezi jednotlivými změnami stavu je definován v konstantě CEKANI. Tyto konstanty lze libovolně měnit..*///Pro radioklub OK1KVK naspal Vašek Král
```
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - #3 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-04-07T04:33:14.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_003.c == LED_003.pdf == LED_003.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_003.c == LED_003.pdf == LED_003.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;amp;amp;amp;amp;amp;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;amp;amp;amp;amp;amp;amp;gt;</style>
```
```c
/*
V minulém programu se nám podařilo rozblikat řadu LED diod pomocí cyklu,
čekání a dvou konstant (STAV1 a STAV2) které nám určovaly, jaké ledky mají
......
......@@ -3,17 +3,9 @@ title = "AVR - LED panel - #4 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-04-08T04:33:14.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_004.c == LED_004.pdf == LED_004.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_004.c == LED_004.pdf == LED_004.htm
......@@ -24,7 +16,7 @@ Ke stažení: LED_004.c == LED_004.pdf == LED_004.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;amp;amp;amp;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;amp;amp;amp;amp;gt;</style>
```
```c
/*
Minule jsme si ukázali, jak blikat ledkou pomocí bitového komplementu (~).
Nyní bychom se mohli pokusit vytvořit světelného hada. K tomuto účelu se hodí
......
......@@ -3,17 +3,9 @@ title = "AVR - LED panel - #5 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-04-09T04:33:14.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_005.c == LED_005.pdf == LED_005.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_005.c == LED_005.pdf == LED_005.htm
......@@ -24,7 +16,7 @@ Ke stažení: LED_005.c == LED_005.pdf == LED_005.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;amp;amp;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;amp;amp;amp;gt;</style>
```
```c
/*
V minulém programu jsme si ukázali, jak používat proměnnou, jak vytvářet cykly s
určitým počtem opakování (for) a jak používat podmínku (if).
......
......@@ -6,7 +6,6 @@ author = "Vašek Král"
perex_e = "Další pokračování série o programování. Tentokrát se podíváme na přerušení, funkce a další. Nakonec bude ukázka programu."
+++
Kompatibilní zapojení: LED panel s ATmega8
---
......@@ -263,7 +262,7 @@ proměnných "rychlost" a "rezim".
Náš program by tedy mohl vypadat takto:
```
```c
#define F_CPU 1000000UL // 1 MHz (základní frekvence) kvůli delay.h
#include <avr/io.h> //Knihovna vstupů a výstupů (PORT, DDR, PIN)
......
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - #7 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-10-04T04:09:28.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_007.c == LED_007.pdf == LED_007.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_007.c == LED_007.pdf == LED_007.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>
```
```c
/*
Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme
také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů,
......@@ -270,6 +258,6 @@ ISR(TIMER0_OVF_vect)
}
//Pro radioklub OK1KVK naspal Vašek Král
//Pro radioklub OK1KVK napsal Vašek Král
```
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - Příklad - Časovač s přerušením"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-06-22T18:01:10.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Casovac-preruseni.c == LED_Casovac-preruseni.pdf == LED_Casovac-preruseni.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Casovac-preruseni.c == LED_Casovac-preruseni.pdf == LED_Casovac-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;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;amp;gt;</style>
```
```c
/*
Popis:
Vybrané ledky budou blikat cca 2x za vteřinu
......
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - Příklad - Časovač"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-06-22T17:57:11.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Casovac.c == LED_Casovac.pdf == LED_Casovac.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Casovac.c == LED_Casovac.pdf == LED_Casovac.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;amp;amp;amp;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;amp;amp;amp;amp;gt;</style>
```
```c
/*
Popis:
Vybrané ledky budou blikat cca 2x za vteřinu
......
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - Příklad - LEDka"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-06-22T17:36:40.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Ledka.c == LED_Ledka.pdf == LED_Ledka.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
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;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;amp;gt;</style>
```
```c
/*
Popis:
Vybrané ledky budou blikat s periodou cca jedné sekundy (0,5 s svítí a 0,5s
......
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - Příklad - Tlačítko s přerušením"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-06-22T17:46:58.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Tlacitko-preruseni.c == LED_Tlacitko-preruseni.pdf == LED_Tlacitko-preruseni.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
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;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;amp;gt;</style>
```
```c
/*
Popis:
Při stisku tlačítka se rozsvítí vybrané ledky. Po uvolnění tohoto tlačítka ledky
......
......@@ -3,28 +3,16 @@ title = "AVR - LED panel - Příklad - Tlačítko"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2011-06-22T17:43:52.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Tlacitko.c == LED_Tlacitko.pdf == LED_Tlacitko.htm
.
.
"
perex_e = "Kompatibilní zapojení: LED panel s ATmega8"
+++
Kompatibilní zapojení: LED panel s ATmega8
Ke stažení: LED_Tlacitko.c == LED_Tlacitko.pdf == LED_Tlacitko.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;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;amp;gt;</style>
```
```c
/*
Popis:
Při stisku tlačítka se rozsvítí vybrané ledky. Po uvolnění tohoto tlačítka ledky
......
......@@ -3,28 +3,16 @@ title = "AVR - LCD panel - #1 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2012-03-14T07:09:35.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: LCD_001.c == LCD_001.pdf == LCD_001.htm
.
.
"
perex_e = "Kompatibilní zapojení: LCD panel s ATmega8"
+++
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: LCD_001.c == LCD_001.pdf == LCD_001.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;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;amp;gt;</style>
```
```c
/*
Začínáme s novým přípravkem ATmega_lcd_uni, který je vybaven znakovým
LCD displejem a klávesnicí.
......
......@@ -3,28 +3,16 @@ title = "AVR - LCD panel - #2 Program"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2012-03-14T07:20:05.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: LCD_002.c == LCD_002.pdf == LCD_002.htm
.
.
"
perex_e = "Kompatibilní zapojení: LCD panel s ATmega8"
+++
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: LCD_002.c == LCD_002.pdf == LCD_002.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>
```
```c
/*
Minule jsme na přípravku ATmega_LCD_uni vyzkoušeli displej, a nyní se pokusíme
"oživit" i klávesnici.
......
......@@ -3,28 +3,16 @@ title = "AVR - LCD panel - atmega_lcd_uni_cfg.c"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2012-03-14T06:53:07.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: atmega_lcd_uni_cfg.c == atmega_lcd_uni_cfg.pdf == atmega_lcd_uni_cfg.htm
.
.
"
perex_e = "Kompatibilní zapojení: LCD panel s ATmega8"
+++
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: atmega_lcd_uni_cfg.c == atmega_lcd_uni_cfg.pdf == atmega_lcd_uni_cfg.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;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;amp;gt;</style>
```
```c
/*---------------------------------------------------------------------------
soubor: atmega_lcd_uni_cfg.c
......
......@@ -3,28 +3,16 @@ title = "AVR - LCD panel - kbd_2x3dm.c"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2012-03-14T06:58:52.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: kbd_2x3dm.c == kbd_2x3dm.pdf == kbd_2x3dm.htm
.
.
"
perex_e = "Kompatibilní zapojení: LCD panel s ATmega8"
+++
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: kbd_2x3dm.c == kbd_2x3dm.pdf == kbd_2x3dm.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;amp;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;amp;amp;gt;</style>
```
```c
/*---------------------------------------------------------------------------
soubor: kbd_2x3dm.c
......
......@@ -3,28 +3,16 @@ title = "AVR - LCD panel - lcd.c"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2012-03-14T06:42:07.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: lcd.c == lcd.pdf == lcd.htm
.
.
"
perex_e = "Kompatibilní zapojení: LCD panel s ATmega8"
+++
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: lcd.c == lcd.pdf == lcd.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;amp;amp;amp;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;amp;amp;amp;amp;gt;</style>
```
```c
/*---------------------------------------------------------------------------
soubor: lcd.c
......
......@@ -3,28 +3,16 @@ title = "AVR - LCD panel - wait.c"
tags = ["Články", "Programování", "C/C++", "Rozbité články"]
published = "2012-03-14T07:03:37.000Z"
author = "Michal, OK1WMR"
perex_e = "
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: wait.c == wait.pdf == wait.htm
.
.
"
perex_e = "Kompatibilní zapojení: LCD panel s ATmega8"
+++
Kompatibilní zapojení: LCD panel s ATmega8
Ke stažení: wait.c == wait.pdf == wait.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>
```
```c
/*---------------------------------------------------------------------------
soubor: wait.c
......
......@@ -7,7 +7,6 @@ image = "lead.jpg"
perex = "Další jednoduché zapojení určené pro náš kroužek mládeže, tentokrát jednoduchého teploměru s ATmega8 a čidlem teploty DS18B20. Najdete zde kompletní popis programu a zapojení včetně plošného spoje."
+++
![Digitální teploměr s ATmega8](teplomer_1.jpg)
Další jednoduché zapojení určené pro náš kroužek mládeže, tentokrát jednoduchého teploměru s ATmega8 a čidlem teploty [DS18B20](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf). Najdete zde kompletní popis programu a zapojení včetně plošného spoje.
......@@ -63,7 +62,7 @@ Deska byla vyrobena [metodou nažehlením tonneru](/clanek/2008/vyroba-plosnych-
Jen hlavní soubor `digitalni_teplomer.c`, pokud si chcete projekt zkompilovat sami, stáhněte si [celý projekt](https://git.ok1kvk.cz/krouzek/digitalni-teplomer-s-atmega8/repository/archive.zip?ref=master) se všemi soubory.
```
```c
#include <avr/io.h>
#include <avr/interrupt.h>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment