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