Rev Author Line No. Line
200 miho 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> STOPWATCH01B </title>
6 <meta name="keywords" content="stavebnice MLAB stopky">
7 <meta name="description" content="Projekt MLAB, Stopky STOPWATCH01B">
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">
211 miho 10 <link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico">
200 miho 11 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
12 <!-- AUTOINCLUDE END -->
13 </head>
14  
15 <body lang="cs">
16  
17 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
18 <!-- ============== HLAVICKA ============== -->
19 <div class="Header">
20 <script type="text/javascript">
21 <!--
22 SetRelativePath("../../../../");
23 DrawHeader();
24 // -->
25 </script>
26 <noscript>
27 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
28 </noscript>
29 </div>
30 <!-- AUTOINCLUDE END -->
31  
32 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
33 <!-- ============== MENU ============== -->
34 <div class="Menu">
35 <script type="text/javascript">
36 <!--
37 SetRelativePath("../../../../");
38 DrawMenu();
39 // -->
40 </script>
41 <noscript>
42 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
43 </noscript>
44 </div>
45 <!-- AUTOINCLUDE END -->
46  
47 <!-- ============== TEXT ============== -->
48 <div class="Text">
49 <p class="Title">
50 Stopky
51 </p>
52 <p class=Autor>
53 Milan Horkel
54 </p>
55 <p class="Subtitle">
56 Zařízení STOPWATCH je časomíra určená pro měření časů
57 průjezdu solárních robotů určenou dráhou. Kromě vlastního měření časů
58 pomocí laserové závory na startu a cíli odesílá naměřený čas
59 prostřednictvím sériové linky do nadřazeného počítače.
60 </p>
61 <p class="Center">
62 <img width=398 height=357 src="Pictures/image001.jpg"
63 alt="Obrázek stopek">
64 </p>
65 <p>
66 <a href="../STOPWATCH01B.cs.pdf"><img class="NoBorder"
67 src="../../../../Web/PIC/FileIco_PDF.ico"
68 alt="Acrobat">&nbsp;PDF verze</a>
69 </p>
70  
71 <h1> Technické údaje </h1>
72 <table>
73 <tr>
74 <th> Parametr </th>
75 <th> Hodnota </th>
76 <th> Poznámka </th>
77 </tr>
78 <tr>
79 <td> Napájení </td>
80 <td> 9 až 15V </td>
81 <td> cca 40mA včetně laserů </td>
82 </tr>
83 <tr>
84 <td> Čidla </td>
85 <td> Start / Stop </td>
86 <td> Laser a fototranzistor </td>
87 </tr>
88 <tr>
89 <td> Měření času </td>
90 <td> Do 1000s </td>
91 <td> Rozlišení 1ms </td>
92 </tr>
93 <tr>
94 <td> Přenos dat </td>
95 <td> RS232 </td>
96 <td> Textový formát </td>
97 </tr>
98 <tr>
99 <td> Rozměry </td>
100 <td> 102 x 81 x 21 mm </td>
101 <td> Bez přečnívajících konektorů, výška nad základnou. </td>
102 </tr>
103 </table>
104  
105 <h1> Popis konstrukce </h1>
106  
107 <h2> Úvodem </h2>
108  
109 <p>
110 Časomíra je řízena jednočipovým procesorem U3 PIC16F84. K&nbsp;procesoru
111 je přímo připojen dvouřádkový LCD modul pro zobrazení časů, piezo element
112 pro akustickou indikaci a obvod MAX232 pro převod úrovní na sériovou linku
113 RS232.
114 </p>
115  
116 <p>
117 Napájení zajišťuje stabilizátor 7805 s&nbsp;ochrannou diodou. Pro napájení
118 je možno použít libovolný stejnosměrný zdroj o napětí v rozmezí 9 až 15V.
119 Celková spotřeba je cca 40mA. Větší část proudu teče do připojených
120 laserových ukazovátek optické závory, vlastní spotřeba je cca 15mA.
121 </p>
122  
123 <h2> Laserová optická závora </h2>
124  
125 <p>
126 Vzhledem k&nbsp;tomu, že se soutěže solárních robotů odehrávají při velmi
127 silném osvětlení bylo nutné použít pro optickou závoru dostatečně silného
128 zdroje světla. Při použití LED diody by bylo nutné použít pomocné optiky
129 a to by značně komplikovalo konstrukci. Proto byly použity jako
130 zdroje světla laserová ukazovátka. V&nbsp;současné době jsou již laserová
131 ukazovátka natolik levná, že stojí asi jako levnější lupa a navíc poskytují
132 velmi intenzivní úzký paprsek, který se poměrně málo rozbíhá. Není pak
133 problém asi se vzdáleností ani s&nbsp;okolním osvětlením.
134 </p>
135  
136 <p>
137 Na přijímací straně je použit fototranzistor umístěný v&nbsp;kousku měděné
138 trubky (stínění).
139 </p>
140  
141 <p>
142 Optická závora s&nbsp;laserem je schopna detekovat všechny objekty tlustší
143 než 1mm na vzdálenost několika metrů.
144 </p>
145  
146 <h3> Laserová dioda </h3>
147  
148 <p>
149 Samotná laserová dioda je neobyčejně choulostivá součástka, kterou lze
150 velmi snadno zničit:
151 </p>
152  
153 <ul>
154 <li> Příliš intenzivním generovaným světlem </li>
155 <li> Napětím v&nbsp;závěrném směru </li>
156 <li> Přehřátím </li>
157 </ul>
158  
159 <p>
160 <i>
161 Laserová dioda se zničí velmi rychle a stačí k&nbsp;tomu jediný impuls
162 statické elektřiny, proto pozor při pájení. Je lépe použít mikropáječku
163 místo oblíbené pistolové páječky. Kromě toho při přetížení se velmi
164 zkracuje životnost diody. Při příliš velkém proudu se dioda „vysvítí“
165 za pár desítek sekund. Patrně hlavním místem, kde dochází k&nbsp;poškození
166 je plocha, kde generované světlo vystupuje z&nbsp;čipu laserové diody.
167 Tato plocha je rozměru řádu setin až desetin milimetru a je pokryta
168 speciální vrstvou, která se chová jako polopropustné zrcadlo.
169 </i>
170 </p>
171  
172 <p>
173 Proto je vhodné použít už hotové laserové ukazovátko (které je navíc
174 levnější než samostatně koupená laserová dioda, o optice nemluvě).
175 Některá laserová ukazovátka mají v&nbsp;sobě ochranný obvod s&nbsp;tranzistory
176 ale jiná mají v&nbsp;sobě jen omezovací odpor a je tedy lepší na ochranu vůbec
177 nespoléhat. Z&nbsp;ukazovátka odstraníme tlačítko a vstup napájení (tam kde
178 byla připojena baterie, ne přímo na diodě) pro jistotu překleneme keramickým
179 kondenzátorem 100nF. Původní ochranné obvody nebo omezovací odpor
180 v&nbsp;ukazovátku ponecháme.
181 </p>
182  
183 <p>
184 Na desce časomíry je omezovací odpor a trimr, kterým se nastavuje proud
185 laserem. Proud je vhodné nastavit kousek nad úroveň, kdy dioda začne
186 laserovat. To se pozná podle toho, že při postupném zvyšování proudu dioda
187 zpočátku svítí jen velmi málo ale po překročení prahového proudu se při
188 dalším zvětšování proudu začne velmi rychle zvyšovat intenzita generovaného
189 světla. Pro běžné laserové diody z&nbsp;ukazovátek je prahový proud řádu
190 10 až 20mA.
191 </p>
192  
193 <p>
194 Prahový proud se mění s&nbsp;teplotou a dioda se obvykle nezničí proudem
195 ale příliš silným generovaným zářením. Proto doporučuji nastavit proud
196 na maximálně cca 1.5 násobek prahového proudu aby ani při změně teploty
197 nedošlo ke zničení laserové diody.
198 </p>
199  
200 <h3> Mechanická konstrukce závory </h3>
201  
202 <p>
203 Fotototranzistor opatrně připájíme na třípinový hřebínek a ten
204 i s&nbsp;diodou připájíme na konec měděné trubičky vhodného průměru. Já
205 jsem použil 5cm dlouhý kousek chladírenské trubičky o vnějším průměru 6mm.
206 Konec trubky ve opatřen zářezem (na šířku plochého pilníku) do kterého je
207 konektorový hřebínek zapájen. Konektor je k&nbsp;trubce ještě přilepen
208 kapkou rychlého epoxidového lepidla.
209 </p>
210  
211 <p>
212 Z&nbsp;laserového ukazovátka opatrně vykucháme vnitřek (v novějších
213 ukazovátkách je vnitřek vlepen do trubky ukazovátka), odstraníme
214 tlačítko, mikropáječkou připájíme ochranný kondenzátor a přívodní konektor.
215 Konektor opět přilepíme rychlým epoxidovým lepidlem aby byl mechanicky
216 dobře fixovaný a nakonec přes celé ukazovátko přetáhneme smšťovací bužírku
217 (laser má obvykle na kostře plus).
218 </p>
219  
220 <p>
221 Mechanické umístění a nasměrování čidel je již věcí uživatele. Jako
222 základnu lze použít kousek ocelové páskoviny ze spodní strany
223 opatřené třemi nožičkami. Lasery jsou na jedné straně nastavitelné pomocí
224 šroubu pro nasměrování ve svislém směru. Více napoví obrázky.
225 </p>
226  
227 <p>
228 <img width=291 height=189 src="Pictures/image002.jpg"
229 alt="Čidlo s fototranzistorem"> &nbsp;
230 <img width=324 height=189 src="Pictures/image003.jpg"
231 alt="Čidlo s fototranzistorem">
232 </p>
233  
234 <p>
235 <img width=290 height=189 src="Pictures/image004.jpg"
236 alt="Zdroj světla s laserem"> &nbsp;
237 <img width=272 height=189 src="Pictures/image005.jpg"
238 alt="Zdroj světla s laserem">
239 </p>
240  
241 <p>
242 Celá časomíra může být složena do cestovního balení. Kabely pro
243 fototranzistory je vhodné použít stíněné, pro lasery to není třeba.
244 </p>
245  
246 <p>
247 <img width=384 height=287 src="Pictures/image006.jpg"
248 alt="Cestovní balení časomíry">
249 </p>
250  
251 <h2> Mechanická konstrukce </h2>
252  
253 <p>
254 Časomíra je realizována na jednostranné desce plošného spoje a částečně
255 osazena SMD součástkami. Pod displejem jsou 2 drátové propojky a
256 přilepený piezo element.
257 </p>
258  
259 <p>
260 Programovací hřebínek J7 je zahnutý směrem k&nbsp;okraji desky, vypínač
261 SW0 rovněž.
262 </p>
263  
264 <p>
265 Stabilizátor a elektrolytický kondenzátor je osazen naležato.
266 </p>
267  
268 <p>
269 Displej je přišroubován čtyřmi šrouby M2.5 k&nbsp;desce. Pro vymezení
270 vzdálenosti displeje od plošného spoje se použijí distanční sloupky
271 dlouhé 5mm. Hřebínek displeje se pájí až po přišroubování displeje.
272 </p>
273  
274 <p>
275 Konektor pro připojení čidel je upravený takto:
276 </p>
277  
278 <ul>
279 <li> Na dvojice pinů 1-2, 11-12 a 19-20 jsou nasazeny a
280 připájeny juperové propojky </li>
281 <li> Dvojice pinů 7-8 je uštípnutá a slouží jako klíč pro
282 připojení laserů. </li>
283 </ul>
284  
285 <p>
286 Při programování procesoru musí být čidla neaktivní. Pokud nejsou čidla
287 připojená je nutné buď nastavit trimry P3 a P4 úplně vlevo nebo místo
288 čidel dát na vstupy zkratové propjky.
289 </p>
290  
291 <h2> Schéma zapojení </h2>
292  
293 <p>
294 Srdcem zařízení je procesor U3 PIC16F84. Tento konkrétní typ jsem zvolil
295 protože jsem jej měl v&nbsp;šuplíku ale po přeložení je možné použít
296 i jiný typ procesoru PIC v&nbsp;pouzdru s&nbsp;18 vývody. Procesor je
297 možné naprogramovat přímo v&nbsp;zapojení pomocí ISP konektoru J7 a
298 zresetovat tlačítkem SW4. Procesor běží na 4.0MHz.
299 </p>
300  
301 <p>
302 <img width=662 height=506 src="Pictures/image007.gif"
303 alt="Schéma procesorové části">
304 </p>
305  
306 <p>
307 Piezo element je přímo přilepený na plošný spoj pod LCD displejem.
308 Pod elementem je vhodné vyvrtat otvor skrz plošný spoj (pozor na
309 spoje) o průměru cca. 2mm a piezo element přilepíme prostřednictvím
310 mezikruží z&nbsp;oboustranně lepící samolepky na plošný spoj.
311 </p>
312  
313 <p>
314 Napájení zajišťuje stabilizátor U1 s&nbsp;ochrannou diodou D1, která
315 chrání časomíru před přepólováním.
316 </p>
317  
318 <p>
319 <img width=526 height=137 src="Pictures/image008.gif"
320 alt="Schéma zdrojové části">
321 </p>
322  
323 <p>
324 K&nbsp;procesoru je připojen dvouřádkový LCD displej U2 pro zobrazení
325 naměřených časů a piezo element (na konektor J6) pro akustickou
326 indikaci. Displej se kupuje na <a href="http://www.hw.cz/">www.hw.cz</a>
327 s&nbsp;označením SC1602A ale je možné přímo použít libovolný dvouřádkový
328 LCD modul, který bude na plošný spoj pasovat a bude používat „standardní“
329 Hitachi řadič. Kontrast se nastavuje trimrem P5.
330 </p>
331  
332 <p>
333 <img width=398 height=266 src="Pictures/image009.gif"
334 alt="Připojení displeje">
335 </p>
336  
337 <p>
338 Komunikaci s&nbsp;osobním počítačem probíhá prostřednictvím rozhraní RS232.
339 Napěťové úrovně převádí obvod U4 MAX232. Komunikace nevyužívá hardwarového
340 řízení toku dat.
341 </p>
342  
343 <p>
344 <img width=350 height=357 src="Pictures/image010.gif"
345 alt="Převodník pro RS232">
346 </p>
347  
348 <p>
349 Pro zjištění průjezdu robota startem a cílem je použita laserová závora
350 sestávající z&nbsp;laserového ukazovátka jako zdroje světla na jedné straně
351 a fototranzistoru na straně protější. Laserové ukazovátko je napájeno
352 z&nbsp;časomíry přes odpor R1+P1 a R2+P2 pro nastavení pracovního
353 proudu.
354 </p>
355  
356 <p>
357 Příjem signálu z&nbsp;fototranzistorů zajišťují zesilovače s&nbsp;tranzistory
358 Q1 a Q2. Trimry P3 a P4 slouží pro nastavení rozhodovací úrovně pro rozlišení
359 světla a tmy. Pro snadné nastavení slouží testovací režim při kterém časomíra
360 vydává tón po dobu přerušení jednoho z&nbsp;paprsků. Kondenzátor C4 a C5
361 slouží k&nbsp;omezení případného vstupujícího rušní.
362 </p>
363  
364 <p>
365 Časomíru je možné také ovládat ručně prostřednictvím tlačítek SW1 a SW2.
366 Tlačítko SW3 slouží pro spuštění testovacího režimu (testuje se jen při
367 zapnutí aby se nemohlo stát, že bude testovací režim spuštěn omylem).
368 </p>
369  
370 <p>
371 <img width=600 height=526 src="Pictures/image011.gif"
372 alt="Vstupní obvody">
373 </p>
374  
375 <h1> Osazení a oživení </h1>
376  
377 <h2> Osazení </h2>
378  
379 <p>
380 <img width=454 height=384 src="Pictures/image012.jpg"
381 alt="Osazení - strana součástek">
382 </p>
383  
384 <p>
385 <img width=454 height=363 src="Pictures/image013.jpg"
386 alt="Osazení - strana spojů">
387 </p>
388  
389 <table class="Soupiska">
390 <tr>
391 <th> Reference </th>
392 <th> Hodnota </th>
393 </tr>
394 <tr>
395 <th colspan="2"> Odpory </th>
396 </tr>
397 <tr>
398 <td> R1, R2, R3, R4, R6, R7, R14 </td>
399 <td> 100 </td>
400 </tr>
401 <tr>
402 <td> R10 </td>
403 <td> 1k </td>
404 </tr>
405 <tr>
406 <td> R5, R8, R9, R11, R12, R13 </td>
407 <td> 10k </td>
408 </tr>
409 <tr>
410 <th colspan="2"> Odporové trimry </th>
411 </tr>
412 <tr>
413 <td> P1, P2 </td>
414 <td> 250/PT10MVE250 </td>
415 </tr>
416 <tr>
417 <td> P3, P4, P5 </td>
418 <td> 10k/PT10MVK010 </td>
419 </tr>
420 <tr>
421 <th colspan="2"> Kondenzátory </th>
422 </tr>
423 <tr>
424 <td> C8, C9 </td>
425 <td> 22pF </td>
426 </tr>
427 <tr>
428 <td> C4, C5 </td>
429 <td> 33nF </td>
430 </tr>
431 <tr>
432 <td> C2, C3, C6, C7, C10, C11, C12, C13, C14 </td>
433 <td> 100nF </td>
434 </tr>
435 <tr>
436 <td> C1 </td>
437 <td> 1000uF/16V </td>
438 </tr>
439 <tr>
440 <th colspan="2"> Diody </th>
441 </tr>
442 <tr>
443 <td> D1 </td>
444 <td> 1N4007 </td>
445 </tr>
446 <tr>
447 <th colspan="2"> Tranzistory </th>
448 </tr>
449 <tr>
450 <td> Q1, Q2 </td>
451 <td> BC846SMD </td>
452 </tr>
453 <tr>
454 <th colspan="2"> Integrované obvody</th>
455 </tr>
456 <tr>
457 <td> U1 </td>
458 <td> 7805 </td>
459 </tr>
460 <tr>
461 <td> U2 </td>
462 <td> LCD_SC1602A </td>
463 </tr>
464 <tr>
465 <td> U3 </td>
466 <td> PIC16F84/SO </td>
467 </tr>
468 <tr>
469 <td> U4 </td>
470 <td> MAX232SMD (úzký) </td>
471 </tr>
472 <tr>
473 <th colspan="2"> Krystaly </th>
474 </tr>
475 <tr>
476 <td> X1 </td>
477 <td> QM4.0MHz </td>
478 </tr>
479 <tr>
480 <th colspan="2"> Mechanické součásti </th>
481 </tr>
482 <tr>
483 <td> J1 </td>
484 <td> K375A </td>
485 </tr>
486 <tr>
487 <td> J2 </td>
488 <td> JUMP2X10_90 </td>
489 </tr>
490 <tr>
491 <td> J3 </td>
492 <td> CANNON9M_90 </td>
493 </tr>
494 <tr>
495 <td> J6 </td>
496 <td> JUMP2 </td>
497 </tr>
498 <tr>
499 <td> J7 </td>
500 <td> JUMP6 </td>
501 </tr>
502 <tr>
503 <td> SW0 </td>
504 <td> P-B143 </td>
505 </tr>
506 <tr>
507 <td> SW1, SW2, SW3 </td>
508 <td> P-DT6BL </td>
509 </tr>
510 <tr>
511 <td> SW4 </td>
512 <td> P-B1720 </td>
513 </tr>
514 <tr>
515 <th colspan="2"> Konstrukční součásti </th>
516 </tr>
517 <tr>
518 <td> 5ks </td>
519 <td> JUMPER </td>
520 </tr>
521 <tr>
522 <td> 4ks </td>
523 <td> Šroub M2.5x8, válcová hlava </td>
524 </tr>
525 <tr>
526 <td> 4ks </td>
527 <td> Matice M2.5 </td>
528 </tr>
529 <tr>
530 <td> 4ks </td>
531 <td> Matice M3 </td>
532 </tr>
533 <tr>
534 <td> 4ks </td>
535 <td> Šroub M3x12, křížový, válcová hlava </td>
536 </tr>
537 <tr>
538 <td> 4ks </td>
539 <td> Podložka M3 </td>
540 </tr>
541 <tr>
542 <td> 4ks </td>
543 <td> Sloupek M3x5 </td>
544 </tr>
545 </table>
546  
547 <h2> Oživení a nastavení </h2>
548  
549 <p>
550 Nejprve kontrolujeme napájecí napětí za stabilizátorem (+5V). Po
551 naprogramování procesoru by měla časomíra ožít. Místo fototranzistorů
552 provizorně dáme propojky a otestujeme, zda časomíra reaguje na tlačítka
553 START a STOP a zda posílá data prostřednictvím rozhraní RS232.
554 </p>
555  
556 <p>
557 Nastavení čidel se provádí v&nbsp;testovacím režimu. Nejdříve nastavíme
558 (trimry P1 a P2) proud lasery kousek nad bod, kdy začínají laserovat
559 (od tohoto bodu se rychle zvětšuje svítivost se vzrůstajícím proudem).
560 Nastavujeme raději menší proud.
561 </p>
562  
563 <p>
564 Poté nasměrujeme lasery a čidla proti sobě a připojíme čidla
565 s&nbsp;elektronikou. Při zapnutí tržíme tlačítko TEST a tím přejdeme do
566 testovacího režimu, kdy časomíra vydává tón jakmile je paprsek přerušený.
567 Trimry P3 a P4 nastavují rozhodovací úroveň čidel. Správně nastavená čidla
568 reagují na předmět o tloušťce cca 1mm i při vzdálenosti čidel 5m od sebe.
569 </p>
570  
571 <p>
572 Po zresetování je časomíra připravena k&nbsp;činnosti.
573 </p>
574  
575 <h1> Programové vybavení </h1>
576  
577 <h2> Uživatelský popis </h2>
578  
579 <p>
580 Časomíra má jediný úkol. Při aktivaci čidla START spustit měření času
581 a při aktivaci čidla STOP zobrazit změřený čas a výsledek odeslat
582 nadřazenému počítači přes sériovou linku RS232 (rychlostí 9600Bd 8 bitů
583 bez parity a bez řízení přenosu). Kromě toho časomíra při každé aktivaci
584 čidla krátce pípne.
585 </p>
586  
587 <p>
588 Aby bylo možné snadno seřídit čidla má program ještě testovací režim,
589 při kterém vydává tón po celou dobu aktivace čidel. Do testovacího režimu
590 se vstupuje tehdy, pokud je stlačeno tlačítko TEST (SW3) v&nbsp;okamžiku
591 zapnutí časomíry. Testovací režim se ukončuje vypnutím časomíry.
592 </p>
593  
594 <h2> Jak program funguje vevnitř </h2>
595  
596 <p>
597 Program pro procesor PIC byl napsán v&nbsp;jazyce C a přeložen pomocí
598 překladače CCS (viz <a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>).
599 </p>
600  
601 <p>
602 Program je řízen přerušením od změny stavu portu B na který jsou připojena
603 čidla (a tlačítka). Stav programu je uložen ve stavové proměnné State_run
604 a jsou celkem 3 stavy:
605 </p>
606  
607 <ul>
608 <li> 0) stav klidu (čeká se na signál START)</li>
609 <li> 1) Stav běhu stopek (stopky běží a čeká se na signál STOP)</li>
610 <li> 2) Stav po ukončení běhu stopek (stopky změřily čas a obsluhuje se
611 zobrazení a přenos)</li>
612 </ul>
613  
614 <p>
615 V&nbsp;režimu běhu stopek se čas čítá na základě přerušení od časovače.
616 Perioda přerušení je 256us a čítač času je realizován tak, aby se právě
617 1x za hodinu protočil. Čas se průběžně zobrazuje v&nbsp;sekundách
618 a milisekundách.
619 </p>
620  
621 <p>
622 Při aktivaci signálu START nebo STOP se nastaví do proměnné Beep počet
623 půlperiod pro pípnutí. Vlastní pípnutí se provádí v&nbsp;obsluze
624 přerušení od časovače.
625 </p>
626  
627 <p>
628 Protože procedura pro zobrazení času je velmi dlouhá (obsahuje převody
629 čísel na řetězce a dělení) je tato procedura společná jak pro výpis
630 na displej tak i pro přenos přes sériovou linku. Na které výstupy
631 zobrazení půjde řídí stavová proměnná PutCharMode.
632 </p>
633  
634 <p>
635 Testovací režim nepoužívá přerušení, je to obyčejná smyčka opakovaného
636 čtení a generování pípání pomocí programově realizovaného zpoždění.
637 Do testovacího režimu se vstupuje pokud při zapnutí stlačeno tlačítko TEST,
638 testovací režim nelze ukončit jinak než vypnutím časomíry (resetem).
639 </p>
640  
641 <p>
642 Hlavní program provádí tyto činnosti:
643 </p>
644  
645 <ul>
646 <li> Inicializace LCD a výpis verze jak na LCD tak i na RS232 </li>
647 <li> Inicializace vstupů s&nbsp;stavových proměnných </li>
648 <li> Test a případné spuštění testovacího režimu </li>
649 <li> Inicializace časovače </li>
650 <li> Spuštění nekonečné hlavní smyčky </li>
651 <li>
652 <ul>
653 <li> Nulování čítače a stavové proměnné State_run </li>
654 <li> Povolení obsluhy přerušení </li>
655 <li> Čekání dokud nedojde k&nbsp;přechodu k&nbsp;jinému než klidovému stavu </li>
656 <li> Po dobu běhu průběžné opakované vypisování času </li>
657 <li> Po ukončení režimu běhu okamžité vypsání změřeného času </li>
658 <li> Pauza (v této době ještě zní pípnutí od signálu STOP) </li>
659 <li> Výpis změřeného času na RS232 </li>
660 </ul>
661 </li>
662 </ul>
663  
664 <p>
665 Program je bohatě komentovaný a je proto snadné se v&nbsp;něm orientovat.
666 Proto je podrobnější popis zbytečný.
667 </p>
668  
669 </div>
670  
671 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
672 <!-- ============== PATIČKA ============== -->
673 <div class="Footer">
674 <script type="text/javascript">
675 <!--
676 SetRelativePath("../../../../");
677 DrawFooter();
678 // -->
679 </script>
680 <noscript>
681 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
682 </noscript>
683 </div>
684 <!-- AUTOINCLUDE END -->
685  
686 </body>
687 </html>