Rev 889 Rev 1332
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html> 2 <html>
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> ATtinySO801B </title> 5 <title> ATtinySO801B </title>
6 <meta name="keywords" content="ATMEL ATtiny mikropočítač mikrořadič modul stavebnice MLAB"> 6 <meta name="keywords" content="ATMEL ATtiny mikropočítač mikrořadič modul stavebnice MLAB">
7 <meta name="description" content="Modul pro procesory ATMEL ATtiny"> 7 <meta name="description" content="Modul pro procesory ATMEL ATtiny">
8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --> 8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"> 9 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"> 10 <link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"> 11 <link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico">
12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script> 12 <script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script>
13 <!-- AUTOINCLUDE END --> 13 <!-- AUTOINCLUDE END -->
14 </head> 14 </head>
15   15  
16 <body lang="cs"> 16 <body lang="cs">
17   17  
18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> 18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
19 <!-- ============== HLAVICKA ============== --> 19 <!-- ============== HLAVICKA ============== -->
20 <div class="Header"> 20 <div class="Header">
21 <script type="text/javascript"> 21 <script type="text/javascript">
22 <!-- 22 <!--
23 SetRelativePath("../../../../../"); 23 SetRelativePath("../../../../../");
24 DrawHeader(); 24 DrawHeader();
25 // --> 25 // -->
26 </script> 26 </script>
27 <noscript> 27 <noscript>
28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
29 </noscript> 29 </noscript>
30 </div> 30 </div>
31 <!-- AUTOINCLUDE END --> 31 <!-- AUTOINCLUDE END -->
32   32  
33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> 33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== --> 34 <!-- ============== MENU ============== -->
35 <div class="Menu"> 35 <div class="Menu">
36 <script type="text/javascript"> 36 <script type="text/javascript">
37 <!-- 37 <!--
38 SetRelativePath("../../../../../"); 38 SetRelativePath("../../../../../");
39 DrawMenu(); 39 DrawMenu();
40 // --> 40 // -->
41 </script> 41 </script>
42 <noscript> 42 <noscript>
43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> 43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
44 </noscript> 44 </noscript>
45 </div> 45 </div>
46 <!-- AUTOINCLUDE END --> 46 <!-- AUTOINCLUDE END -->
47   47  
48 <!-- ============== TEXT ============== --> 48 <!-- ============== TEXT ============== -->
49 <div class="Text"> 49 <div class="Text">
50 <p class="Title"> 50 <p class="Title">
51 Modul pro procesory ATMEL ATtiny v&nbsp;pouzdru SO8 51 Modul pro procesory ATMEL ATtiny v&nbsp;pouzdru SO8
52 </p> 52 </p>
53 <p class=Autor> 53 <p class=Autor>
54 Jakub Kákona, Milan Horkel 54 Jakub Kákona, Milan Horkel
55 </p> 55 </p>
56 <p class="Subtitle"> 56 <p class="Subtitle">
57 Standardní modul pro nejmenší procesory ATMEL rodiny ATtiny. Obsahuje 57 Standardní modul pro nejmenší procesory ATMEL rodiny ATtiny. Obsahuje
58 jenom procesor, připojovací hřebínky, programovací konektor a tlačítko 58 jenom procesor, připojovací hřebínky, programovací konektor a tlačítko
59 reset. 59 reset.
60 </p> 60 </p>
61 <p class="Subtitle"> 61 <p class="Subtitle">
62 <img width="359" height="182" src="ATtinySO801B_files/image001.jpg" 62 <img width="359" height="182" src="ATtinySO801B_files/image001.jpg"
63 alt="Pohled ze strany součástek"> 63 alt="Pohled ze strany součástek">
64 </p> 64 </p>
65 <p class="Subtitle"> 65 <p class="Subtitle">
66 <img width="350" height="178" src="ATtinySO801B_files/image002.jpg" 66 <img width="350" height="178" src="ATtinySO801B_files/image002.jpg"
67 alt="Image"> 67 alt="Image">
68 </p> 68 </p>
69 <p> 69 <p>
70 <a href="../ATtinySO801B.cs.pdf"><img class="NoBorder" 70 <a href="../ATtinySO801B.cs.pdf"><img class="NoBorder"
71 src="../../../../../Web/PIC/FileIco_PDF.ico" 71 src="../../../../../Web/PIC/FileIco_PDF.ico"
72 alt="Acrobat">&nbsp;PDF verze</a> 72 alt="Acrobat">&nbsp;PDF verze</a>
73 </p> 73 </p>
74   74  
75   75  
76 <h1> Technické parametry </h1> 76 <h1> Technické parametry </h1>
77 77
78 <table> 78 <table>
79 <tr> 79 <tr>
80 <th> Parametr </th> 80 <th> Parametr </th>
81 <th> Hodnota </th> 81 <th> Hodnota </th>
82 <th> Poznámka </th> 82 <th> Poznámka </th>
83 </tr> 83 </tr>
84 <tr> 84 <tr>
85 <td> Procesor </td> 85 <td> Procesor </td>
86 <td> ATtiny v&nbsp;pouzdru SO8 </td> 86 <td> ATtiny v&nbsp;pouzdru SO8 </td>
87 <td> Například ATtiny13V-10SU </td> 87 <td> Například ATtiny13V-10SU </td>
88 </tr> 88 </tr>
89 <tr> 89 <tr>
90 <td> Napájení </td> 90 <td> Napájení </td>
91 <td> 1.8V .. 5V </td> 91 <td> 1.8V .. 5V </td>
92 <td> Dle procesoru </td> 92 <td> Dle procesoru </td>
93 </tr> 93 </tr>
94 <tr> 94 <tr>
95 <td> Spotřeba </td> 95 <td> Spotřeba </td>
96 <td> 1.2&nbsp;mA&nbsp;/&nbsp;5&nbsp;V 0.4&nbsp;mA&nbsp;/&nbsp;2&nbsp;V </td> 96 <td> 1.2&nbsp;mA&nbsp;/&nbsp;5&nbsp;V 0.4&nbsp;mA&nbsp;/&nbsp;2&nbsp;V </td>
97 <td> 9.6&nbsp;MHz : 8, interní RC </td> 97 <td> 9.6&nbsp;MHz : 8, interní RC </td>
98 </tr> 98 </tr>
99 <tr> 99 <tr>
100 <td> Programování </td> 100 <td> Programování </td>
101 <td> ATMEL 6pin ISP </td> 101 <td> ATMEL 6pin ISP </td>
102 <td> Podpora debugWIRE </td> 102 <td> Podpora debugWIRE </td>
103 </tr> 103 </tr>
104 <tr> 104 <tr>
105 <td> Rozměry </td> 105 <td> Rozměry </td>
106 <td> 40&nbsp;x&nbsp;20&nbsp;x&nbsp;15&nbsp;mm </td> 106 <td> 40&nbsp;x&nbsp;20&nbsp;x&nbsp;15&nbsp;mm </td>
107 <td> Výška nad základnou </td> 107 <td> Výška nad základnou </td>
108 </tr> 108 </tr>
109 </table> 109 </table>
110 110
111 <h1> Popis konstrukce </h1> 111 <h1> Popis konstrukce </h1>
112 112
113 <h2> Úvodem </h2> 113 <h2> Úvodem </h2>
114 114
115 <p> 115 <p>
116 Standardní modul pro práci s&nbsp;nejmenšími procesory ATMEL ATtiny 116 Standardní modul pro práci s&nbsp;nejmenšími procesory ATMEL ATtiny
117 v&nbsp;pouzdru SO8. Konstrukce je natolik jednoduchá, že nevyžaduje 117 v&nbsp;pouzdru SO8. Konstrukce je natolik jednoduchá, že nevyžaduje
118 další komentáře. 118 další komentáře.
119 </p> 119 </p>
120 120
121 <h2> Zapojení modulu </h2> 121 <h2> Zapojení modulu </h2>
122   122  
123 <p class="Odstavecsobrzkem"> 123 <p class="Odstavecsobrzkem">
124 <img width="345" height="182" src="ATtinySO801B_files/image003.png" 124 <img width="345" height="182" src="ATtinySO801B_files/image003.png"
125 alt="Zapojení napájení"> 125 alt="Zapojení napájení">
126 </p> 126 </p>
127   127  
128 <p class="Odstavecsobrzkem"> 128 <p class="Odstavecsobrzkem">
129 <img width="225" height="132" src="ATtinySO801B_files/image004.png" 129 <img width="225" height="132" src="ATtinySO801B_files/image004.png"
130 alt="ISP konektor"> 130 alt="ISP konektor">
131 </p> 131 </p>
132   132  
133 <p class="Odstavecsobrzkem"> 133 <p class="Odstavecsobrzkem">
134 <img width="475" height="270" src="ATtinySO801B_files/image005.png" 134 <img width="475" height="270" src="ATtinySO801B_files/image005.png"
135 alt="Zapojení procesoru"> 135 alt="Zapojení procesoru">
136 </p> 136 </p>
137   137  
138 <p> 138 <p>
139 Dioda D1 slouží jako ochrana před přepólováním napájení. Předpokládá 139 Dioda D1 slouží jako ochrana před přepólováním napájení. Předpokládá
140 se, že napájecí zdroj má „rozumné“ omezení proudu. Pozor proto napájení 140 se, že napájecí zdroj má „rozumné“ omezení proudu. Pozor proto napájení
141 z&nbsp;akumulátorů, které dají obrovské proudy. 141 z&nbsp;akumulátorů, které dají obrovské proudy.
142 </p> 142 </p>
143 143
144 <p> 144 <p>
145 Programovací konektor je standardní ATMEL šestipinový konektor. 145 Programovací konektor je standardní ATMEL šestipinový konektor.
146 Procesory jsou vybaveny ladicím rozhraním debugWIRE, které používá 146 Procesory jsou vybaveny ladicím rozhraním debugWIRE, které používá
147 signál RESET na vývodu 1. Proto se kondenzátor C3 standardně neosazuje. 147 signál RESET na vývodu 1. Proto se kondenzátor C3 standardně neosazuje.
148 </p> 148 </p>
149 149
150 <h2> Zapojení použitých IO </h2> 150 <h2> Zapojení použitých IO </h2>
151 151
152 <p> 152 <p>
153 Každý vývod procesoru má obvykle mnoho různých funkcí, proto se 153 Každý vývod procesoru má obvykle mnoho různých funkcí, proto se
154 nezapomeňte před výběrem procesoru kouknout do příslušného katalogového 154 nezapomeňte před výběrem procesoru kouknout do příslušného katalogového
155 listu. Modul je obecný a je možné osadit jej různými procesory a 155 listu. Modul je obecný a je možné osadit jej různými procesory a
156 postupem času se objevují další a další. 156 postupem času se objevují další a další.
157 </p> 157 </p>
158 158
159 <h2> Mechanická konstrukce </h2> 159 <h2> Mechanická konstrukce </h2>
160 160
161 <p> 161 <p>
162 Standardní modulek pro stavebnici MLAB s&nbsp;rohovými sloupky 162 Standardní modulek pro stavebnici MLAB s&nbsp;rohovými sloupky
163 k&nbsp;připevnění na nosnou desku. 163 k&nbsp;připevnění na nosnou desku.
164 </p> 164 </p>
165 165
166 <h1> Osazení a oživení </h1> 166 <h1> Osazení a oživení </h1>
167 167
168 <h2> Osazení </h2> 168 <h2> Osazení </h2>
169 169
170 <p> 170 <p>
171 <img width="472" height="238" src="ATtinySO801B_files/image006.png" 171 <img width="465" height="234" src="ATtinySO801B_files/image006.png"
172 alt="Osazení ze strany součástek"> 172 alt="Osazení ze strany součástek">
173 <img width="471" height="240" src="ATtinySO801B_files/image007.png" 173 <img width="467" height="235" src="ATtinySO801B_files/image007.png"
174 alt="Osazení ze strany spojů"> 174 alt="Osazení ze strany spojů">
175 </p> 175 </p>
176 176
177 <table class="Soupiska"> 177 <table class="Soupiska">
178 <tr> 178 <tr>
179 <th> Reference </th> 179 <th> Reference </th>
180 <th> Hodnota </th> 180 <th> Hodnota </th>
181 </tr> 181 </tr>
182 <tr> 182 <tr>
183 <th colspan="2"> Odpory </th> 183 <th colspan="2"> Odpory </th>
184 </tr> 184 </tr>
185 <tr> 185 <tr>
186 <td> R2 </td> 186 <td> R2 </td>
187 <td> 100 </td> 187 <td> 100 </td>
188 </tr> 188 </tr>
189 <tr> 189 <tr>
190 <td> R1 </td> 190 <td> R1 </td>
191 <td> 10k </td> 191 <td> 10k </td>
192 </tr> 192 </tr>
193 <tr> 193 <tr>
194 <th colspan="2"> Keramické kondenzátory </th> 194 <th colspan="2"> Keramické kondenzátory </th>
195 </tr> 195 </tr>
196 <tr> 196 <tr>
197 <td> C2 </td> 197 <td> C2 </td>
198 <td> 100nF </td> 198 <td> 100nF </td>
199 </tr> 199 </tr>
200 <tr> 200 <tr>
201 <td> C3 </td> 201 <td> C3 </td>
202 <td> #100nF (neosazuje se) </td> 202 <td> #100nF (neosazuje se) </td>
203 </tr> 203 </tr>
204 <tr> 204 <tr>
205 <th colspan="2"> Elektrolytické kondenzátory </th> 205 <th colspan="2"> Elektrolytické kondenzátory </th>
206 </tr> 206 </tr>
207 <tr> 207 <tr>
208 <td> C1 </td> 208 <td> C1 </td>
209 <td> 10uF/6.3V </td> 209 <td> 10uF/6.3V </td>
210 </tr> 210 </tr>
211 <tr> 211 <tr>
212 <th colspan="2"> Diody </th> 212 <th colspan="2"> Diody </th>
213 </tr> 213 </tr>
214 <tr> 214 <tr>
215 <td> D1 </td> 215 <td> D1 </td>
216 <td> 1N4007SMD </td> 216 <td> 1N4007SMD </td>
217 </tr> 217 </tr>
218 <tr> 218 <tr>
219 <th colspan="2"> Integrované obvody </th> 219 <th colspan="2"> Integrované obvody </th>
220 </tr> 220 </tr>
221 <tr> 221 <tr>
222 <td> U1 </td> 222 <td> U1 </td>
223 <td> ATtiny (pouzdro SO8) </td> 223 <td> ATtiny (pouzdro SO8) </td>
224 </tr> 224 </tr>
225 <tr> 225 <tr>
226 <th colspan="2"> Mechanické součástky </th> 226 <th colspan="2"> Mechanické součástky </th>
227 </tr> 227 </tr>
228 <tr> 228 <tr>
229 <td> SW1 </td> 229 <td> SW1 </td>
230 <td> P-B1720 </td> 230 <td> P-B1720 </td>
231 </tr> 231 </tr>
232 <tr> 232 <tr>
233 <td> J1, J4 </td> 233 <td> J1, J4 </td>
234 <td> JUMP2x3 </td> 234 <td> JUMP2x3 </td>
235 </tr> 235 </tr>
236 <tr> 236 <tr>
237 <td> J2, J3 </td> 237 <td> J2, J3 </td>
238 <td> JUMP2X4 </td> 238 <td> JUMP2X4 </td>
239 </tr> 239 </tr>
240 <tr> 240 <tr>
241 <th colspan="2"> Konstrukční součástky </th> 241 <th colspan="2"> Konstrukční součástky </th>
242 </tr> 242 </tr>
243 <tr> 243 <tr>
244 <td> 4ks </td> 244 <td> 4ks </td>
245 <td> Šroub M3x12 </td> 245 <td> Šroub M3x12 </td>
246 </tr> 246 </tr>
247 <tr> 247 <tr>
248 <td> 4ks </td> 248 <td> 4ks </td>
249 <td> Podložka M3 </td> 249 <td> Podložka M3 </td>
250 </tr> 250 </tr>
251 <tr> 251 <tr>
252 <td> 4ks </td> 252 <td> 4ks </td>
253 <td> Sloupek M3x5 </td> 253 <td> Sloupek M3x5 </td>
254 </tr> 254 </tr>
255 </table> 255 </table>
256   256  
257 <h2> Oživení </h2> 257 <h2> Oživení </h2>
258 258
259 <p> 259 <p>
260 Není co oživovat. Stačí nahrát Vaším oblíbeným programátorem program do 260 Není co oživovat. Stačí nahrát Vaším oblíbeným programátorem program do
261 procesoru a zkontrolovat funkčnost. 261 procesoru a zkontrolovat funkčnost.
262 </p> 262 </p>
263 263
264 <p> 264 <p>
265 Procesory této řady jsou obvykle nastaveny na interní RC oscilátor 265 Procesory této řady jsou obvykle nastaveny na interní RC oscilátor
266 s&nbsp;kmitočtem 9.6MHz ale pozor s&nbsp;předděličem 1:8. 266 s&nbsp;kmitočtem 9.6MHz ale pozor s&nbsp;předděličem 1:8.
267 </p> 267 </p>
268 268
269 <h1> Programové vybavení </h1> 269 <h1> Programové vybavení </h1>
270 270
271 <h2> Ukázkový program </h2> 271 <h2> Ukázkový program </h2>
272 272
273 <p> 273 <p>
274 Procesor bez programu je k&nbsp;ničemu. Základem je rozběhnout i ten 274 Procesor bez programu je k&nbsp;ničemu. Základem je rozběhnout i ten
275 nejprimitivnější program a pak už se dá vylepšovat a vylepšovat. Níže 275 nejprimitivnější program a pak už se dá vylepšovat a vylepšovat. Níže
276 uvedený ukázkový program jen bliká LED diodou ale to je základ. 276 uvedený ukázkový program jen bliká LED diodou ale to je základ.
277 </p> 277 </p>
278 278
279 <h3> Zapojení </h3> 279 <h3> Zapojení </h3>
280 280
281 <p> 281 <p>
282 Připojte LED diodu mezi PB3 a zem (nezapomeňte dát do série 282 Připojte LED diodu mezi PB3 a zem (nezapomeňte dát do série
283 s&nbsp;diodou odpor tak asi 330Ω). Katoda diody patří na zem. 283 s&nbsp;diodou odpor tak asi 330Ω). Katoda diody patří na zem.
284 Nezapomeňte připojit napájení. 284 Nezapomeňte připojit napájení.
285 </p> 285 </p>
286 286
287 <h3> Přeložení programu </h3> 287 <h3> Přeložení programu </h3>
288 288
289 <p> 289 <p>
290 Otevřete AVR Studio a založte nový projekt pro Váš procesor ATtiny. 290 Otevřete AVR Studio a založte nový projekt pro Váš procesor ATtiny.
291 Nakopírujte, třeba myší, zdrojový text do hlavního programu a přeložte 291 Nakopírujte, třeba myší, zdrojový text do hlavního programu a přeložte
292 (volba Build F7). Vše by mělo proběhnout bez chyby. 292 (volba Build F7). Vše by mělo proběhnout bez chyby.
293 </p> 293 </p>
294 294
295 <h3> Programování a ladění </h3> 295 <h3> Programování a ladění </h3>
296 296
297 <p> 297 <p>
298 Otevřete debugger a nastavte v&nbsp;něm druh debuggeru a cílovou 298 Otevřete debugger a nastavte v&nbsp;něm druh debuggeru a cílovou
299 součástku (volba Debug/Select Platform and Device). Pokud nemáte 299 součástku (volba Debug/Select Platform and Device). Pokud nemáte
300 hardwarový debugger nastavte simulátor. Tím se nastaví typ součástky i 300 hardwarový debugger nastavte simulátor. Tím se nastaví typ součástky i
301 pro programátor. 301 pro programátor.
302 </p> 302 </p>
303 303
304 <p> 304 <p>
305 <i>Protože defaultní nastavení frekvence procesoru je 9.6MHz ale je 305 <i>Protože defaultní nastavení frekvence procesoru je 9.6MHz ale je
306 nastaven interní předdělič na 1:8 je třeba u programátoru nastavit 306 nastaven interní předdělič na 1:8 je třeba u programátoru nastavit
307 maximální komunikační rychlost na cca 250KHz (maximálně 1/4 frekvence 307 maximální komunikační rychlost na cca 250KHz (maximálně 1/4 frekvence
308 procesoru). Tedy pokud to Vás programátor umožňuje.</i> 308 procesoru). Tedy pokud to Vás programátor umožňuje.</i>
309 </p> 309 </p>
310 310
311 <p> 311 <p>
312 Zbývá program naprogramovat do součástky. Pokud máte hardwarový 312 Zbývá program naprogramovat do součástky. Pokud máte hardwarový
313 debugger (třeba ATMEL&nbsp;Dragon) můžete program krokovat, zasahovat 313 debugger (třeba ATMEL&nbsp;Dragon) můžete program krokovat, zasahovat
314 do registrů procesoru a podobně. 314 do registrů procesoru a podobně.
315 </p> 315 </p>
316 316
317 <p> 317 <p>
318 <i>Ale pozor. Povolení rozhraní debugWIRE má za následek, že přestane 318 <i>Ale pozor. Povolení rozhraní debugWIRE má za následek, že přestane
319 fungovat ISP programování dokud debugWIRE nevypnete. Vypínač je totiž 319 fungovat ISP programování dokud debugWIRE nevypnete. Vypínač je totiž
320 v&nbsp;konfiguračním slově procesoru a pamatuje se.</i> 320 v&nbsp;konfiguračním slově procesoru a pamatuje se.</i>
321 </p> 321 </p>
322 322
323 <h3> Zdrojový text </h3> 323 <h3> Zdrojový text </h3>
324 324
325 <p> 325 <p>
326 <samp class="Block">// Program BLIK pro ATtiny 326 <samp class="Block">// Program BLIK pro ATtiny
327   327  
328 #define F_CPU 1200000UL // 9.6MHz je deaultni frekvence interniho 328 #define F_CPU 1200000UL // 9.6MHz je deaultni frekvence interniho
329 // RC oscilatoru a default predelic 1:8 329 // RC oscilatoru a default predelic 1:8
330   330  
331 #include &lt;avr/io.h> 331 #include &lt;avr/io.h>
332 #include &lt;util/delay.h> // Zpozdeni o libovolny pocet ms 332 #include &lt;util/delay.h> // Zpozdeni o libovolny pocet ms
333   333  
334 void xDelay_ms(unsigned int Time) 334 void xDelay_ms(unsigned int Time)
335 { 335 {
336 for(;Time!=0;Time--) 336 for(;Time!=0;Time--)
337 _delay_ms(1); // Knihovni procedura ma velmi omezen 337 _delay_ms(1); // Knihovni procedura ma velmi omezen
338 } // maximalni cas zpozdeni 338 } // maximalni cas zpozdeni
339   339  
340 #define MASK 0x08 // Port PB3 (nekoliduje s ISP) 340 #define MASK 0x08 // Port PB3 (nekoliduje s ISP)
341   341  
342 // Hlavni program 342 // Hlavni program
343 int main() 343 int main()
344 { 344 {
345 DDRB |= MASK; // Nastav port PB0 jako vystup 345 DDRB |= MASK; // Nastav port PB0 jako vystup
346 // Nekonecna smycka 346 // Nekonecna smycka
347 for(;;) 347 for(;;)
348 { 348 {
349 PORTB |= MASK; // Nastav 1 349 PORTB |= MASK; // Nastav 1
350 xDelay_ms(500); // Pockej 1/2 sekundy 350 xDelay_ms(500); // Pockej 1/2 sekundy
351 PORTB &= ~MASK; // Nastav 0 351 PORTB &= ~MASK; // Nastav 0
352 xDelay_ms(500); // Pockej 1/2 sekundy 352 xDelay_ms(500); // Pockej 1/2 sekundy
353 } 353 }
354   354  
355 return 0; 355 return 0;
356 } 356 }
357 </samp> 357 </samp>
358 </p> 358 </p>
359 359
360 </div> 360 </div>
361   361  
362 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 362 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
363 <!-- ============== PATIČKA ============== --> 363 <!-- ============== PATIČKA ============== -->
364 <div class="Footer"> 364 <div class="Footer">
365 <script type="text/javascript"> 365 <script type="text/javascript">
366 <!-- 366 <!--
367 SetRelativePath("../../../../../"); 367 SetRelativePath("../../../../../");
368 DrawFooter(); 368 DrawFooter();
369 // --> 369 // -->
370 </script> 370 </script>
371 <noscript> 371 <noscript>
372 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 372 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
373 </noscript> 373 </noscript>
374 </div> 374 </div>
375 <!-- AUTOINCLUDE END --> 375 <!-- AUTOINCLUDE END -->
376   376  
377 </body> 377 </body>
378 </html> 378 </html>