Rev 331 Rev 381
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> MB01B </title> 5 <title> MB01B </title>
6 <meta name="keywords" content="stavebnice MLAB melodický zvonek"> 6 <meta name="keywords" content="stavebnice MLAB melodický zvonek">
7 <meta name="description" content="Projekt MLAB, Programovatelný melodický zvonek"> 7 <meta name="description" content="Projekt MLAB, Programovatelný melodický zvonek">
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="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">
11 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script> 12 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
12 <!-- AUTOINCLUDE END --> 13 <!-- AUTOINCLUDE END -->
13 </head> 14 </head>
14   15  
15 <body lang="cs"> 16 <body lang="cs">
16   17  
17 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> 18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
18 <!-- ============== HLAVICKA ============== --> 19 <!-- ============== HLAVICKA ============== -->
19 <div class="Header"> 20 <div class="Header">
20 <script type="text/javascript"> 21 <script type="text/javascript">
21 <!-- 22 <!--
22 SetRelativePath("../../../../"); 23 SetRelativePath("../../../../");
23 DrawHeader(); 24 DrawHeader();
24 // --> 25 // -->
25 </script> 26 </script>
26 <noscript> 27 <noscript>
27 <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>
28 </noscript> 29 </noscript>
29 </div> 30 </div>
30 <!-- AUTOINCLUDE END --> 31 <!-- AUTOINCLUDE END -->
31   32  
32 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> 33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
33 <!-- ============== MENU ============== --> 34 <!-- ============== MENU ============== -->
34 <div class="Menu"> 35 <div class="Menu">
35 <script type="text/javascript"> 36 <script type="text/javascript">
36 <!-- 37 <!--
37 SetRelativePath("../../../../"); 38 SetRelativePath("../../../../");
38 DrawMenu(); 39 DrawMenu();
39 // --> 40 // -->
40 </script> 41 </script>
41 <noscript> 42 <noscript>
42 <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>
43 </noscript> 44 </noscript>
44 </div> 45 </div>
45 <!-- AUTOINCLUDE END --> 46 <!-- AUTOINCLUDE END -->
46   47  
47 <!-- ============== TEXT ============== --> 48 <!-- ============== TEXT ============== -->
48 <div class="Text"> 49 <div class="Text">
49 <p class="Title"> 50 <p class="Title">
50 Melodický zvonek 51 Melodický zvonek
51 </p> 52 </p>
52 <p class=Autor> 53 <p class=Autor>
53 Milan Horkel 54 Milan Horkel
54 </p> 55 </p>
55 <p class="Subtitle"> 56 <p class="Subtitle">
56 Melodický zvonek MB01 používá pro generování hudebních 57 Melodický zvonek MB01 používá pro generování hudebních
57 tónů procesor PIC16F819 a umožňuje snadné přeprogramování melodií. Zvonek je 58 tónů procesor PIC16F819 a umožňuje snadné přeprogramování melodií. Zvonek je
58 možno napájet z&nbsp;baterie, protože v&nbsp;klidu neodebírá prakticky žádný 59 možno napájet z&nbsp;baterie, protože v&nbsp;klidu neodebírá prakticky žádný
59 proud. Na výstup je možné připojit reproduktor. 60 proud. Na výstup je možné připojit reproduktor.
60 </p> 61 </p>
61 <p class="Subtitle"> 62 <p class="Subtitle">
62 <img width=290 height=235 src="Pictures/image001.jpg" 63 <img width=290 height=235 src="Pictures/image001.jpg"
63 alt="Obrázek melodického zvonku"> 64 alt="Obrázek melodického zvonku">
64 </p> 65 </p>
65 <p> 66 <p>
66 <a href="../MB01B.cs.pdf"><img class="NoBorder" 67 <a href="../MB01B.cs.pdf"><img class="NoBorder"
67 src="../../../../Web/PIC/FileIco_PDF.ico" 68 src="../../../../Web/PIC/FileIco_PDF.ico"
68 alt="Acrobat">&nbsp;PDF verze</a> 69 alt="Acrobat">&nbsp;PDF verze</a>
69 </p> 70 </p>
70   71  
71 <h1> Technické parametry </h1> 72 <h1> Technické parametry </h1>
72   73  
73 <table> 74 <table>
74 <tr> 75 <tr>
75 <th> Parametr </th> 76 <th> Parametr </th>
76 <th> Hodnota </th> 77 <th> Hodnota </th>
77 <th> Poznámka </th> 78 <th> Poznámka </th>
78 </tr> 79 </tr>
79 <tr> 80 <tr>
80 <td> Napájení </td> 81 <td> Napájení </td>
81 <td> 9V </td> 82 <td> 9V </td>
82 <td> Asi od 4V, maximum 12V </td> 83 <td> Asi od 4V, maximum 12V </td>
83 </tr> 84 </tr>
84 <tr> 85 <tr>
85 <td> Spotřeba v klidu </td> 86 <td> Spotřeba v klidu </td>
86 <td> ≈0 </td> 87 <td> ≈0 </td>
87 <td> Dáno zbytkovým proudem tranzistorů Q2 a Q3 </td> 88 <td> Dáno zbytkovým proudem tranzistorů Q2 a Q3 </td>
88 </tr> 89 </tr>
89 <tr> 90 <tr>
90 <td> Spotřeba při běhu (potichu) </td> 91 <td> Spotřeba při běhu (potichu) </td>
91 <td> 20mA / 30mA </td> 92 <td> 20mA / 30mA </td>
92 <td> Při 9V / 12V </td> 93 <td> Při 9V / 12V </td>
93 </tr> 94 </tr>
94 <tr> 95 <tr>
95 <td> Spotřeba maximálně (nahlas) </td> 96 <td> Spotřeba maximálně (nahlas) </td>
96 <td> 150mA </td> 97 <td> 150mA </td>
97 <td> Při 12V </td> 98 <td> Při 12V </td>
98 </tr> 99 </tr>
99 <tr> 100 <tr>
100 <td> Počet melodií </td> 101 <td> Počet melodií </td>
101 <td> Max 15 </td> 102 <td> Max 15 </td>
102 <td> Všechny možné kombinace 4 tlačítek </td> 103 <td> Všechny možné kombinace 4 tlačítek </td>
103 </tr> 104 </tr>
104 <tr> 105 <tr>
105 <td> Délka skladeb celkem </td> 106 <td> Délka skladeb celkem </td>
106 <td> 512 </td> 107 <td> 512 </td>
107 <td> Počítají se noty, mezery a změny parametrů (například tempa) </td> 108 <td> Počítají se noty, mezery a změny parametrů (například tempa) </td>
108 </tr> 109 </tr>
109 <tr> 110 <tr>
110 <td> Spouštění skladeb </td> 111 <td> Spouštění skladeb </td>
111 <td> 4 tlačítka </td> 112 <td> 4 tlačítka </td>
112 <td> Skladby od páté výše se spouštějí stiskem více tlačítek najednou </td> 113 <td> Skladby od páté výše se spouštějí stiskem více tlačítek najednou </td>
113 </tr> 114 </tr>
114 <tr> 115 <tr>
115 <td> Rozměry </td> 116 <td> Rozměry </td>
116 <td> 61x71x20mm </td> 117 <td> 61x71x20mm </td>
117 <td> Bez přečnívajícího konektoru a šroubů </td> 118 <td> Bez přečnívajícího konektoru a šroubů </td>
118 </tr> 119 </tr>
119 </table> 120 </table>
120   121  
121 <h1> Popis konstrukce </h1> 122 <h1> Popis konstrukce </h1>
122   123  
123 <h2> Slovo úvodem </h2> 124 <h2> Slovo úvodem </h2>
124   125  
125 <p> 126 <p>
126 Cílem návrhu tohoto melodického zvonku bylo navrhnout moderní řešení, 127 Cílem návrhu tohoto melodického zvonku bylo navrhnout moderní řešení,
127 se kterým i méně vybavený amatér může něco dále dělat. Díky pokroku 128 se kterým i méně vybavený amatér může něco dále dělat. Díky pokroku
128 v&nbsp;technologii výroby integrovaných obvodů se v&nbsp;poslední době 129 v&nbsp;technologii výroby integrovaných obvodů se v&nbsp;poslední době
129 začínají objevovat velmi zajímavé mikrořadiče (jednočipové mikropočítače) 130 začínají objevovat velmi zajímavé mikrořadiče (jednočipové mikropočítače)
130 za velmi rozumnou cenu. Zde byl použit jeden z&nbsp;nich, jmenuje se 131 za velmi rozumnou cenu. Zde byl použit jeden z&nbsp;nich, jmenuje se
131 PIC16F819 a vyrábí jej firma MICROCHIP. 132 PIC16F819 a vyrábí jej firma MICROCHIP.
132 </p> 133 </p>
133   134  
134 <p> 135 <p>
135 Procesor je poměrně rychlý (5 miliónů instrukcí za sekundu), má malou 136 Procesor je poměrně rychlý (5 miliónů instrukcí za sekundu), má malou
136 spotřebu (cca 2mA za plného běhu) a funguje v širokém rozsahu napájení 137 spotřebu (cca 2mA za plného běhu) a funguje v širokém rozsahu napájení
137 (od 2V do 5.5V). Je tedy velmi vhodný pro zařízení napájené z&nbsp;baterie. 138 (od 2V do 5.5V). Je tedy velmi vhodný pro zařízení napájené z&nbsp;baterie.
138 Kromě toho má FLASH paměť programu (2048 slov po 14 bitech), kterou je 139 Kromě toho má FLASH paměť programu (2048 slov po 14 bitech), kterou je
139 možné mnohokrát přeprogramovat. Procesor může tuto paměť FLASH sám 140 možné mnohokrát přeprogramovat. Procesor může tuto paměť FLASH sám
140 přeprogramovat. 141 přeprogramovat.
141 </p> 142 </p>
142   143  
143 <p> 144 <p>
144 Část paměti programu je vyhrazena pro uložení melodií a je tak možné 145 Část paměti programu je vyhrazena pro uložení melodií a je tak možné
145 dodatečně melodie měnit. Není k&nbsp;tomu potřeba žádný speciální 146 dodatečně melodie měnit. Není k&nbsp;tomu potřeba žádný speciální
146 programátor, stačí připojit obyčejné PC. Nové definice skladeb se 147 programátor, stačí připojit obyčejné PC. Nové definice skladeb se
147 přenášejí do melodického zvonku prostřednictvím sériové linky RS232. 148 přenášejí do melodického zvonku prostřednictvím sériové linky RS232.
148 Aby nemohlo dojít k&nbsp;nechtěnému smazání programu, je část paměti 149 Aby nemohlo dojít k&nbsp;nechtěnému smazání programu, je část paměti
149 FLASH procesoru uzamčena, aby ji procesor nemohl přepsat. 150 FLASH procesoru uzamčena, aby ji procesor nemohl přepsat.
150 </p> 151 </p>
151   152  
152 <h2> Zapojení melodického zvonku </h2> 153 <h2> Zapojení melodického zvonku </h2>
153   154  
154 <p> 155 <p>
155 <img width=486 height=888 src="Pictures/image003.gif" 156 <img width=486 height=888 src="Pictures/image003.gif"
156 alt=""> 157 alt="">
157 </p> 158 </p>
158   159  
159 <h3> Procesor a obvody jeho napájení</h3> 160 <h3> Procesor a obvody jeho napájení</h3>
160   161  
161 <p> 162 <p>
162 Srdcem zvonku je procesor U1. Časování je řízeno krystalem X1. Aby bylo 163 Srdcem zvonku je procesor U1. Časování je řízeno krystalem X1. Aby bylo
163 možno procesor naprogramovat přímo v&nbsp;zapojení, je zde programovací 164 možno procesor naprogramovat přímo v&nbsp;zapojení, je zde programovací
164 konektor J6, který slouží pro naprogramování programu. 165 konektor J6, který slouží pro naprogramování programu.
165 V&nbsp;běžném provozu ani při přeprogramovávání melodií již není třeba. 166 V&nbsp;běžném provozu ani při přeprogramovávání melodií již není třeba.
166 </p> 167 </p>
167   168  
168 <p> 169 <p>
169 Zvonek začíná hrát po stisku některého tlačítka (nebo více najednou). 170 Zvonek začíná hrát po stisku některého tlačítka (nebo více najednou).
170 Při stlačení tlačítka se přes diody D3 až D6 přivede zemní potenciál 171 Při stlačení tlačítka se přes diody D3 až D6 přivede zemní potenciál
171 na vstupy procesoru. Vstupní nožičky procesoru jsou opatřeny ochrannými 172 na vstupy procesoru. Vstupní nožičky procesoru jsou opatřeny ochrannými
172 diodami (jsou uvnitř procesoru) a přes tyto diody dojde k&nbsp;připojení 173 diodami (jsou uvnitř procesoru) a přes tyto diody dojde k&nbsp;připojení
173 zemního potenciálu i signálu GND_PIC. Tím dojde k&nbsp;tomu, že procesor 174 zemního potenciálu i signálu GND_PIC. Tím dojde k&nbsp;tomu, že procesor
174 je napájen (přes odpor R1) a jeho program se rozběhne. Protože procesor 175 je napájen (přes odpor R1) a jeho program se rozběhne. Protože procesor
175 snese maximálně 5.5V, je velikost napájecího napětí mezi vývody GND a VDD 176 snese maximálně 5.5V, je velikost napájecího napětí mezi vývody GND a VDD
176 procesoru omezeno Zenerovou diodou D2 na cca 5V. 177 procesoru omezeno Zenerovou diodou D2 na cca 5V.
177 </p> 178 </p>
178   179  
179 <p> 180 <p>
180 Po rozběhu programu se nejdříve aktivuje signál POWER_ON# (do stavu L) 181 Po rozběhu programu se nejdříve aktivuje signál POWER_ON# (do stavu L)
181 a přes Q1 a Q2 se připojí GND_PIC na zem. Po skončení melodie se signál 182 a přes Q1 a Q2 se připojí GND_PIC na zem. Po skončení melodie se signál
182 POWER_ON# deaktivuje (přejde do třetího stavu) a procesor tak sám sobě 183 POWER_ON# deaktivuje (přejde do třetího stavu) a procesor tak sám sobě
183 vypne napájení. Tím je zajištěna prakticky nulová klidová spotřeba. 184 vypne napájení. Tím je zajištěna prakticky nulová klidová spotřeba.
184 </p> 185 </p>
185   186  
186 <p> 187 <p>
187 Na vývodu RB3 procesoru generuje program výstupní signál (ať už přímo 188 Na vývodu RB3 procesoru generuje program výstupní signál (ať už přímo
188 digitálně nebo pomocí PWM) a na vstupu RB1 očekává sériová data 189 digitálně nebo pomocí PWM) a na vstupu RB1 očekává sériová data
189 z&nbsp;počítače při přeprogramovávání melodií. Přestože RS232 signály jsou 190 z&nbsp;počítače při přeprogramovávání melodií. Přestože RS232 signály jsou
190 v&nbsp;rozsahu +/- 5 až +/-15V, je možné tyto signály připojit přímo 191 v&nbsp;rozsahu +/- 5 až +/-15V, je možné tyto signály připojit přímo
191 ke vstupu pouze přes omezovací odpor R7. Ochranné diody na vstupu procesoru 192 ke vstupu pouze přes omezovací odpor R7. Ochranné diody na vstupu procesoru
192 ochrání vstupní tranzistory před napětím nad a pod napájecím napětím 193 ochrání vstupní tranzistory před napětím nad a pod napájecím napětím
193 procesoru. Odpor R8 zajišťuje definovanou úroveň na vstupu, pokud není 194 procesoru. Odpor R8 zajišťuje definovanou úroveň na vstupu, pokud není
194 nic připojeno. 195 nic připojeno.
195 </p> 196 </p>
196   197  
197 <p> 198 <p>
198 Propojka PGM&nbsp;MODE (J5) slouží k&nbsp;vynucenému zapnutí napájení 199 Propojka PGM&nbsp;MODE (J5) slouží k&nbsp;vynucenému zapnutí napájení
199 v&nbsp;době programování nových melodií i v&nbsp;době programování 200 v&nbsp;době programování nových melodií i v&nbsp;době programování
200 programu do procesoru přes ISP konektor (J6) . Program před vlastním 201 programu do procesoru přes ISP konektor (J6) . Program před vlastním
201 programováním paměti FLASH kontroluje, že je tato propojka nasunuta, 202 programováním paměti FLASH kontroluje, že je tato propojka nasunuta,
202 a je tak zajištěno, že ani při vybité baterii nemůže prakticky dojít 203 a je tak zajištěno, že ani při vybité baterii nemůže prakticky dojít
203 ke smazání melodie. Ke smazání programu nemůže dojít nikdy, protože tato 204 ke smazání melodie. Ke smazání programu nemůže dojít nikdy, protože tato
204 část paměti programu je chráněna nastavením ochranných bitů konfiguračního 205 část paměti programu je chráněna nastavením ochranných bitů konfiguračního
205 slova a procesor sám sobě tuto paměť nemůže přepsat. 206 slova a procesor sám sobě tuto paměť nemůže přepsat.
206 </p> 207 </p>
207   208  
208 <h3> NF Zesilovač </h3> 209 <h3> NF Zesilovač </h3>
209   210  
210 <p> 211 <p>
211 Jako koncový zesilovač byl použit obvod LM386 v&nbsp;klasickém zapojení. 212 Jako koncový zesilovač byl použit obvod LM386 v&nbsp;klasickém zapojení.
212 Jeho napájení je spínáno tranzistorem Q3 jen po dobu hraní melodie. 213 Jeho napájení je spínáno tranzistorem Q3 jen po dobu hraní melodie.
213 Tranzistor Q3 je buzen vývodem RA4 procesoru PIC. 214 Tranzistor Q3 je buzen vývodem RA4 procesoru PIC.
214 </p> 215 </p>
215   216  
216 <h2> Mechanická konstrukce </h2> 217 <h2> Mechanická konstrukce </h2>
217   218  
218 <p> 219 <p>
219 Melodický zvonek je sestaven na jednostranném plošném spoji se&nbsp;čtyřmi 220 Melodický zvonek je sestaven na jednostranném plošném spoji se&nbsp;čtyřmi
220 upevňovacími otvory v&nbsp;rozích. Podél kratší strany jsou 4 tlačítka 221 upevňovacími otvory v&nbsp;rozích. Podél kratší strany jsou 4 tlačítka
221 pro spouštění melodií. Ke konektoru J3 je možné připojit vnější tlačítka. 222 pro spouštění melodií. Ke konektoru J3 je možné připojit vnější tlačítka.
222 Místo odporového trimru P1 je možné připojit (logaritmický) potenciometr 223 Místo odporového trimru P1 je možné připojit (logaritmický) potenciometr
223 jako regulátor hlasitosti. 224 jako regulátor hlasitosti.
224 </p> 225 </p>
225   226  
226 <h2> Osazení a oživení </h2> 227 <h2> Osazení a oživení </h2>
227   228  
228 <h3> Osazení </h3> 229 <h3> Osazení </h3>
229   230  
230 <p> 231 <p>
231 Při osazování je třeba dodržet polarity diod, tranzistorů a elektrolytických 232 Při osazování je třeba dodržet polarity diod, tranzistorů a elektrolytických
232 kondenzátorů. Pokud jsou použity funkční součástky a jsou správně osazeny, 233 kondenzátorů. Pokud jsou použity funkční součástky a jsou správně osazeny,
233 mělo by zařízení fungovat na první pokus. Podmínkou je použití naprogramovaného 234 mělo by zařízení fungovat na první pokus. Podmínkou je použití naprogramovaného
234 procesoru. 235 procesoru.
235 </p> 236 </p>
236   237  
237 <h3> Oživení </h3> 238 <h3> Oživení </h3>
238   239  
239 <p> 240 <p>
240 Nejprve zkontrolujeme polaritu ochranné diody D1 a vizuálně zkontrolujeme 241 Nejprve zkontrolujeme polaritu ochranné diody D1 a vizuálně zkontrolujeme
241 zejména zkraty. Procesor i zesilovač můžeme zasunout do patic. Pokud si 242 zejména zkraty. Procesor i zesilovač můžeme zasunout do patic. Pokud si
242 troufáme, můžeme je připájet přímo do desky. 243 troufáme, můžeme je připájet přímo do desky.
243 </p> 244 </p>
244   245  
245 <p> 246 <p>
246 Pokud máme procesor předem naprogramovaný, je oživení snazší, protože by 247 Pokud máme procesor předem naprogramovaný, je oživení snazší, protože by
247 zvonek měl rovnou začít fungovat. Nejprve připojíme zdroj o napětí cca 5V 248 zvonek měl rovnou začít fungovat. Nejprve připojíme zdroj o napětí cca 5V
248 s&nbsp;omezením proudu (asi na 100mA). Ujistíme se, že <b>není</b> 249 s&nbsp;omezením proudu (asi na 100mA). Ujistíme se, že <b>není</b>
249 nasunuta propojka na J5. V&nbsp;klidu by zvonek neměl odebírat prakticky 250 nasunuta propojka na J5. V&nbsp;klidu by zvonek neměl odebírat prakticky
250 žádný proud. Po stisku tlačítka by měl zvonek hrát některou 251 žádný proud. Po stisku tlačítka by měl zvonek hrát některou
251 z&nbsp;předprogramovaných melodií. Pokud hraje, postupně zvyšujeme napájecí 252 z&nbsp;předprogramovaných melodií. Pokud hraje, postupně zvyšujeme napájecí
252 napětí až na cca 10V a přitom kontrolujeme, zda napájecí napětí procesoru 253 napětí až na cca 10V a přitom kontrolujeme, zda napájecí napětí procesoru
253 (nejsnáze se měří na Zenerově diodě D2) nepřekročí 5.5V. 254 (nejsnáze se měří na Zenerově diodě D2) nepřekročí 5.5V.
254 </p> 255 </p>
255   256  
256 <p> 257 <p>
257 Pokud nehraje je třeba zkontrolovat toto: 258 Pokud nehraje je třeba zkontrolovat toto:
258 </p> 259 </p>
259   260  
260 <ul> 261 <ul>
261 <li> napájení na procesoru při stisku tlačítka (dioda D2) – cca 3 až 5V, </li> 262 <li> napájení na procesoru při stisku tlačítka (dioda D2) – cca 3 až 5V, </li>
262 <li> zda kmitá oscilátor procesoru – logickou sondou na vývodu CLKO procesoru, </li> 263 <li> zda kmitá oscilátor procesoru – logickou sondou na vývodu CLKO procesoru, </li>
263 <li> zda fungují tlačítka – napětí na RB4 a RB7 klesá k&nbsp;nule při stisku tlačítka, </li> 264 <li> zda fungují tlačítka – napětí na RB4 a RB7 klesá k&nbsp;nule při stisku tlačítka, </li>
264 <li> zda spínají tranzistory Q1 a Q2 – při nasunuté propojce na J5, </li> 265 <li> zda spínají tranzistory Q1 a Q2 – při nasunuté propojce na J5, </li>
265 <li> zda procesor generuje zvuk - na RB3 telefonním sluchátkem nebo piezoelementem proti zemi, </li> 266 <li> zda procesor generuje zvuk - na RB3 telefonním sluchátkem nebo piezoelementem proti zemi, </li>
266 <li> zda spíná Q3 napětí pro zesilovač U2. </li> 267 <li> zda spíná Q3 napětí pro zesilovač U2. </li>
267 </ul> 268 </ul>
268   269  
269 <p> 270 <p>
270 Po skončení skladby by se zvonek měl opět vypnout a neměl by odebírat žádný proud. 271 Po skončení skladby by se zvonek měl opět vypnout a neměl by odebírat žádný proud.
271 </p> 272 </p>
272   273  
273 <p> 274 <p>
274 Pokud procesor nemáme nahraný, osadíme jej do zvonku, <b>nasuneme</b> 275 Pokud procesor nemáme nahraný, osadíme jej do zvonku, <b>nasuneme</b>
275 propojku na J5 a zkontrolujeme při postupném zvyšování napájecího napětí, 276 propojku na J5 a zkontrolujeme při postupném zvyšování napájecího napětí,
276 zda na procesoru (D2) je napětí cca 5V. Pokud ano, je možno ke konektoru J6 277 zda na procesoru (D2) je napětí cca 5V. Pokud ano, je možno ke konektoru J6
277 připojit programátor a nahrát do procesoru program. Propojku J5 opět vyjmeme. 278 připojit programátor a nahrát do procesoru program. Propojku J5 opět vyjmeme.
278 Zbytek oživování je stejný. 279 Zbytek oživování je stejný.
279 </p> 280 </p>
280   281  
281 <p> 282 <p>
282 <img width=432 height=346 src="Pictures/image002.jpg" 283 <img width=432 height=346 src="Pictures/image002.jpg"
283 alt="Osazovák"> 284 alt="Osazovák">
284 </p> 285 </p>
285   286  
286 <table class="Soupiska"> 287 <table class="Soupiska">
287 <tr> 288 <tr>
288 <th> Reference </th> 289 <th> Reference </th>
289 <th> Hodnota </th> 290 <th> Hodnota </th>
290 <th> Reference </th> 291 <th> Reference </th>
291 <th> Hodnota </th> 292 <th> Hodnota </th>
292 </tr> 293 </tr>
293 <tr> 294 <tr>
294 <th colspan="2"> Odpory </th> 295 <th colspan="2"> Odpory </th>
295 <th colspan="2"> Polovodiče a krystaly </th> 296 <th colspan="2"> Polovodiče a krystaly </th>
296 </tr> 297 </tr>
297 <tr> 298 <tr>
298 <td> R15 </td> 299 <td> R15 </td>
299 <td> 10 </td> 300 <td> 10 </td>
300 <td> D1 </td> 301 <td> D1 </td>
301 <td> 1N4005 </td> 302 <td> 1N4005 </td>
302 </tr> 303 </tr>
303 <tr> 304 <tr>
304 <td> R4,R1 </td> 305 <td> R4,R1 </td>
305 <td> 680 </td> 306 <td> 680 </td>
306 <td> D3,D4,D5,D6 </td> 307 <td> D3,D4,D5,D6 </td>
307 <td> 1N4148 </td> 308 <td> 1N4148 </td>
308 </tr> 309 </tr>
309 <tr> 310 <tr>
310 <td> R11 </td> 311 <td> R11 </td>
311 <td> 2k2 </td> 312 <td> 2k2 </td>
312 <td> D2 </td> 313 <td> D2 </td>
313 <td> BZX83V005.1 </td> 314 <td> BZX83V005.1 </td>
314 </tr> 315 </tr>
315 <tr> 316 <tr>
316 <td> R2,R3,R5,R6,R9,R10,R13,R14 </td> 317 <td> R2,R3,R5,R6,R9,R10,R13,R14 </td>
317 <td> 10k </td> 318 <td> 10k </td>
318 <td> Q1 </td> 319 <td> Q1 </td>
319 <td> BC327 </td> 320 <td> BC327 </td>
320 </tr> 321 </tr>
321 <tr> 322 <tr>
322 <td> R7,R12 </td> 323 <td> R7,R12 </td>
323 <td> 27k </td> 324 <td> 27k </td>
324 <td> Q2 </td> 325 <td> Q2 </td>
325 <td> BC337 </td> 326 <td> BC337 </td>
326 </tr> 327 </tr>
327 <tr> 328 <tr>
328 <td> R8 </td> 329 <td> R8 </td>
329 <td> 100k </td> 330 <td> 100k </td>
330 <td> Q3 </td> 331 <td> Q3 </td>
331 <td> BC640 </td> 332 <td> BC640 </td>
332 </tr> 333 </tr>
333 <tr> 334 <tr>
334 <th colspan="2"> Odporové trimry </th> 335 <th colspan="2"> Odporové trimry </th>
335 <td> U1 </td> 336 <td> U1 </td>
336 <td> PIC16F819-I/P </td> 337 <td> PIC16F819-I/P </td>
337 </tr> 338 </tr>
338 <tr> 339 <tr>
339 <td> P1 </td> 340 <td> P1 </td>
340 <td> 10k </td> 341 <td> 10k </td>
341 <td> U2 </td> 342 <td> U2 </td>
342 <td> LM386 </td> 343 <td> LM386 </td>
343 </tr> 344 </tr>
344 <tr> 345 <tr>
345 <th colspan="2"> Kondenzátory </th> 346 <th colspan="2"> Kondenzátory </th>
346 <td> X1 </td> 347 <td> X1 </td>
347 <td> 20MHz </td> 348 <td> 20MHz </td>
348 </tr> 349 </tr>
349 <tr> 350 <tr>
350 <td> C4,C5 </td> 351 <td> C4,C5 </td>
351 <td> 22pF </td> 352 <td> 22pF </td>
352 <th colspan="2"> Mechanické součásti </th> 353 <th colspan="2"> Mechanické součásti </th>
353 </tr> 354 </tr>
354 <tr> 355 <tr>
355 <td> C14 </td> 356 <td> C14 </td>
356 <td> 4n7 </td> 357 <td> 4n7 </td>
357 <td> SW1,SW2,SW3,SW4 </td> 358 <td> SW1,SW2,SW3,SW4 </td>
358 <td> P-B1720 </td> 359 <td> P-B1720 </td>
359 </tr> 360 </tr>
360 <tr> 361 <tr>
361 <td> C3,C6,C7,C8,C9 </td> 362 <td> C3,C6,C7,C8,C9 </td>
362 <td> 10nF </td> 363 <td> 10nF </td>
363 <td> J1,J2 </td> 364 <td> J1,J2 </td>
364 <td> JUMP3 </td> 365 <td> JUMP3 </td>
365 </tr> 366 </tr>
366 <tr> 367 <tr>
367 <td> C15,C16 </td> 368 <td> C15,C16 </td>
368 <td> 33nF </td> 369 <td> 33nF </td>
369 <td> J3 </td> 370 <td> J3 </td>
370 <td> JUMP5 </td> 371 <td> JUMP5 </td>
371 </tr> 372 </tr>
372 <tr> 373 <tr>
373 <td> C1,C2,C10 </td> 374 <td> C1,C2,C10 </td>
374 <td> 100nF </td> 375 <td> 100nF </td>
375 <td> J5 </td> 376 <td> J5 </td>
376 <td> JUMP2 </td> 377 <td> JUMP2 </td>
377 </tr> 378 </tr>
378 <tr> 379 <tr>
379 <td> C13 </td> 380 <td> C13 </td>
380 <td> 1M/63V </td> 381 <td> 1M/63V </td>
381 <td> J6 </td> 382 <td> J6 </td>
382 <td> PIC_ISP </td> 383 <td> PIC_ISP </td>
383 </tr> 384 </tr>
384 <tr> 385 <tr>
385 <td> C12 </td> 386 <td> C12 </td>
386 <td> 47uF/16V </td> 387 <td> 47uF/16V </td>
387 <td> J4 </td> 388 <td> J4 </td>
388 <td> DB9M_90 </td> 389 <td> DB9M_90 </td>
389 </tr> 390 </tr>
390 <tr> 391 <tr>
391 <td> C11,C17 </td> 392 <td> C11,C17 </td>
392 <td> 330uF/16V </td> 393 <td> 330uF/16V </td>
393 <td> </td> 394 <td> </td>
394 <td> </td> 395 <td> </td>
395 </tr> 396 </tr>
396 </table> 397 </table>
397   398  
398 <h1> Trocha hudební teorie </h1> 399 <h1> Trocha hudební teorie </h1>
399   400  
400 <p> 401 <p>
401 Aby hudba zněla libozvučně (příjemně), je třeba, aby používané tóny 402 Aby hudba zněla libozvučně (příjemně), je třeba, aby používané tóny
402 ve stupnicích splňovaly podmínku, že jejich frekvence mají (malý) 403 ve stupnicích splňovaly podmínku, že jejich frekvence mají (malý)
403 společný násobek. Například dvojnásobek jednoho tónu aby byl 404 společný násobek. Například dvojnásobek jednoho tónu aby byl
404 trojnásobkem jiného tónu. Takových stupnic lze skonstruovat mnoho. 405 trojnásobkem jiného tónu. Takových stupnic lze skonstruovat mnoho.
405 Aby bylo možné na klavír (nebo podobný nástroj, který umí vyrábět 406 Aby bylo možné na klavír (nebo podobný nástroj, který umí vyrábět
406 jen určité konkrétní tóny) hrát skladby komponované v&nbsp;různých 407 jen určité konkrétní tóny) hrát skladby komponované v&nbsp;různých
407 stupnicích bez přelaďování nástroje, používá se tzv. temperované ladění. 408 stupnicích bez přelaďování nástroje, používá se tzv. temperované ladění.
408 Temperované ladění není ideální, jedná se o kompromis hřešící na to, 409 Temperované ladění není ideální, jedná se o kompromis hřešící na to,
409 že lidský sluch není dokonalý. 410 že lidský sluch není dokonalý.
410 </p> 411 </p>
411   412  
412 <p> 413 <p>
413 Temperované ladění spočívá v&nbsp;tom, že se oktáva rozdělí na 12 stejných 414 Temperované ladění spočívá v&nbsp;tom, že se oktáva rozdělí na 12 stejných
414 dílů, které mají geometrický odstup frekvencí tónů. Oktáva zahrnuje frekvence 415 dílů, které mají geometrický odstup frekvencí tónů. Oktáva zahrnuje frekvence
415 v&nbsp;rozsahu 1:2 a je v&nbsp;ní celkem 7 tónů a 5 půltónů. 416 v&nbsp;rozsahu 1:2 a je v&nbsp;ní celkem 7 tónů a 5 půltónů.
416 Z&nbsp;toho vyplývá, že poměr sousedních tónů a půltónů je vždy stejný a je 417 Z&nbsp;toho vyplývá, že poměr sousedních tónů a půltónů je vždy stejný a je
417 roven 2<sup>1/12</sup>, tedy přibližně 1:1.06 . 418 roven 2<sup>1/12</sup>, tedy přibližně 1:1.06 .
418 </p> 419 </p>
419   420  
420 <p> 421 <p>
421 Následující tabulka uvádí pro jednotlivé tóny jejich frekvence. 422 Následující tabulka uvádí pro jednotlivé tóny jejich frekvence.
422 Vychází se z frekvence komorního&nbsp;A, která je 440Hz. Tóny o 423 Vychází se z frekvence komorního&nbsp;A, která je 440Hz. Tóny o
423 oktávu výš mají frekvence dvakrát vyšší, a naopak tóny o oktávu níž mají 424 oktávu výš mají frekvence dvakrát vyšší, a naopak tóny o oktávu níž mají
424 frekvence poloviční. 425 frekvence poloviční.
425 </p> 426 </p>
426   427  
427 <table> 428 <table>
428 <tr> 429 <tr>
429 <th> ↓ Tón </th> 430 <th> ↓ Tón </th>
430 <th colspan="8" class="Center"> Frekvence [Hz]</th> 431 <th colspan="8" class="Center"> Frekvence [Hz]</th>
431 </tr> 432 </tr>
432 <tr> 433 <tr>
433 <th> Oktáva →</th> 434 <th> Oktáva →</th>
434 <th class="Center"> 0 </th> 435 <th class="Center"> 0 </th>
435 <th class="Center"> 1 </th> 436 <th class="Center"> 1 </th>
436 <th class="Center"> 2 </th> 437 <th class="Center"> 2 </th>
437 <th class="Center"> 3 </th> 438 <th class="Center"> 3 </th>
438 <th class="Center"> 4 </th> 439 <th class="Center"> 4 </th>
439 <th class="Center"> 5 </th> 440 <th class="Center"> 5 </th>
440 <th class="Center"> 6 </th> 441 <th class="Center"> 6 </th>
441 <th class="Center"> 7 </th> 442 <th class="Center"> 7 </th>
442 </tr> 443 </tr>
443 <tr> 444 <tr>
444 <th> C </th> 445 <th> C </th>
445 <td> 32,70 </td> 446 <td> 32,70 </td>
446 <td> 65,41 </td> 447 <td> 65,41 </td>
447 <td> 130,8 </td> 448 <td> 130,8 </td>
448 <td> 261,6 </td> 449 <td> 261,6 </td>
449 <td> 523,3 </td> 450 <td> 523,3 </td>
450 <td> 1046,5 </td> 451 <td> 1046,5 </td>
451 <td> 2093,0 </td> 452 <td> 2093,0 </td>
452 <td> 4186,0 </td> 453 <td> 4186,0 </td>
453 </tr> 454 </tr>
454 <tr> 455 <tr>
455 <th> Cis </th> 456 <th> Cis </th>
456 <td> 34,65 </td> 457 <td> 34,65 </td>
457 <td> 69,30 </td> 458 <td> 69,30 </td>
458 <td> 138,6 </td> 459 <td> 138,6 </td>
459 <td> 277,2 </td> 460 <td> 277,2 </td>
460 <td> 554,4 </td> 461 <td> 554,4 </td>
461 <td> 1108,7 </td> 462 <td> 1108,7 </td>
462 <td> 2217,5 </td> 463 <td> 2217,5 </td>
463 <td> 4434,9 </td> 464 <td> 4434,9 </td>
464 </tr> 465 </tr>
465 <tr> 466 <tr>
466 <th> D </th> 467 <th> D </th>
467 <td> 36,71 </td> 468 <td> 36,71 </td>
468 <td> 73,42 </td> 469 <td> 73,42 </td>
469 <td> 146,8 </td> 470 <td> 146,8 </td>
470 <td> 293,7 </td> 471 <td> 293,7 </td>
471 <td> 587,3 </td> 472 <td> 587,3 </td>
472 <td> 1174,7 </td> 473 <td> 1174,7 </td>
473 <td> 2349,3 </td> 474 <td> 2349,3 </td>
474 <td> 4698,6 </td> 475 <td> 4698,6 </td>
475 </tr> 476 </tr>
476 <tr> 477 <tr>
477 <th> Dis </th> 478 <th> Dis </th>
478 <td> 38,89 </td> 479 <td> 38,89 </td>
479 <td> 77,78 </td> 480 <td> 77,78 </td>
480 <td> 155,6 </td> 481 <td> 155,6 </td>
481 <td> 311,1 </td> 482 <td> 311,1 </td>
482 <td> 622,3 </td> 483 <td> 622,3 </td>
483 <td> 1244,5 </td> 484 <td> 1244,5 </td>
484 <td> 2489,0 </td> 485 <td> 2489,0 </td>
485 <td> 4978,0 </td> 486 <td> 4978,0 </td>
486 </tr> 487 </tr>
487 <tr> 488 <tr>
488 <th> E </th> 489 <th> E </th>
489 <td> 41,20 </td> 490 <td> 41,20 </td>
490 <td> 82,41 </td> 491 <td> 82,41 </td>
491 <td> 164,8 </td> 492 <td> 164,8 </td>
492 <td> 329,6 </td> 493 <td> 329,6 </td>
493 <td> 659,3 </td> 494 <td> 659,3 </td>
494 <td> 1318,5 </td> 495 <td> 1318,5 </td>
495 <td> 2637,0 </td> 496 <td> 2637,0 </td>
496 <td> 5274,0 </td> 497 <td> 5274,0 </td>
497 </tr> 498 </tr>
498 <tr> 499 <tr>
499 <th> F </th> 500 <th> F </th>
500 <td> 43,65 </td> 501 <td> 43,65 </td>
501 <td> 87,31 </td> 502 <td> 87,31 </td>
502 <td> 174,6 </td> 503 <td> 174,6 </td>
503 <td> 349,2 </td> 504 <td> 349,2 </td>
504 <td> 698,5 </td> 505 <td> 698,5 </td>
505 <td> 1396,9 </td> 506 <td> 1396,9 </td>
506 <td> 2793,8 </td> 507 <td> 2793,8 </td>
507 <td> 5587,7 </td> 508 <td> 5587,7 </td>
508 </tr> 509 </tr>
509 <tr> 510 <tr>
510 <th> Fis </th> 511 <th> Fis </th>
511 <td> 46,25 </td> 512 <td> 46,25 </td>
512 <td> 92,50 </td> 513 <td> 92,50 </td>
513 <td> 185,0 </td> 514 <td> 185,0 </td>
514 <td> 370,0 </td> 515 <td> 370,0 </td>
515 <td> 740,0 </td> 516 <td> 740,0 </td>
516 <td> 1480,0 </td> 517 <td> 1480,0 </td>
517 <td> 2960,0 </td> 518 <td> 2960,0 </td>
518 <td> 5919,9 </td> 519 <td> 5919,9 </td>
519 </tr> 520 </tr>
520 <tr> 521 <tr>
521 <th> G </th> 522 <th> G </th>
522 <td> 49,00 </td> 523 <td> 49,00 </td>
523 <td> 98,00 </td> 524 <td> 98,00 </td>
524 <td> 196,0 </td> 525 <td> 196,0 </td>
525 <td> 392,0 </td> 526 <td> 392,0 </td>
526 <td> 784,0 </td> 527 <td> 784,0 </td>
527 <td> 1568,0 </td> 528 <td> 1568,0 </td>
528 <td> 3136,0 </td> 529 <td> 3136,0 </td>
529 <td> 6271,9 </td> 530 <td> 6271,9 </td>
530 </tr> 531 </tr>
531 <tr> 532 <tr>
532 <th> Gis </th> 533 <th> Gis </th>
533 <td> 51,91 </td> 534 <td> 51,91 </td>
534 <td> 103,83 </td> 535 <td> 103,83 </td>
535 <td> 207,7 </td> 536 <td> 207,7 </td>
536 <td> 415,3 </td> 537 <td> 415,3 </td>
537 <td> 830,6 </td> 538 <td> 830,6 </td>
538 <td> 1661,2 </td> 539 <td> 1661,2 </td>
539 <td> 3322,4 </td> 540 <td> 3322,4 </td>
540 <td> 6644,9 </td> 541 <td> 6644,9 </td>
541 </tr> 542 </tr>
542 <tr> 543 <tr>
543 <th> A </th> 544 <th> A </th>
544 <td> 55 </td> 545 <td> 55 </td>
545 <td> 110 </td> 546 <td> 110 </td>
546 <td> 220 </td> 547 <td> 220 </td>
547 <td> <b>440</b> </td> 548 <td> <b>440</b> </td>
548 <td> 880 </td> 549 <td> 880 </td>
549 <td> 1760 </td> 550 <td> 1760 </td>
550 <td> 3520 </td> 551 <td> 3520 </td>
551 <td> 7040 </td> 552 <td> 7040 </td>
552 </tr> 553 </tr>
553 <tr> 554 <tr>
554 <th> Ais </th> 555 <th> Ais </th>
555 <td> 58,27 </td> 556 <td> 58,27 </td>
556 <td> 116,54 </td> 557 <td> 116,54 </td>
557 <td> 233,1 </td> 558 <td> 233,1 </td>
558 <td> 466,2 </td> 559 <td> 466,2 </td>
559 <td> 932,3 </td> 560 <td> 932,3 </td>
560 <td> 1864,7 </td> 561 <td> 1864,7 </td>
561 <td> 3729,3 </td> 562 <td> 3729,3 </td>
562 <td> 7458,6 </td> 563 <td> 7458,6 </td>
563 </tr> 564 </tr>
564 <tr> 565 <tr>
565 <th> H </th> 566 <th> H </th>
566 <td> 61,74 </td> 567 <td> 61,74 </td>
567 <td> 123,47 </td> 568 <td> 123,47 </td>
568 <td> 246,9 </td> 569 <td> 246,9 </td>
569 <td> 493,9 </td> 570 <td> 493,9 </td>
570 <td> 987,8 </td> 571 <td> 987,8 </td>
571 <td> 1975,5 </td> 572 <td> 1975,5 </td>
572 <td> 3951,1 </td> 573 <td> 3951,1 </td>
573 <td> 7902,1 </td> 574 <td> 7902,1 </td>
574 </tr> 575 </tr>
575 <tr style='color:gray'> 576 <tr style='color:gray'>
576 <th> ( C ) </th> 577 <th> ( C ) </th>
577 <td> 65,41 </td> 578 <td> 65,41 </td>
578 <td> 130,81 </td> 579 <td> 130,81 </td>
579 <td> 261,6 </td> 580 <td> 261,6 </td>
580 <td> 523,3 </td> 581 <td> 523,3 </td>
581 <td> 1046,5 </td> 582 <td> 1046,5 </td>
582 <td> 2093,0 </td> 583 <td> 2093,0 </td>
583 <td> 4186,0 </td> 584 <td> 4186,0 </td>
584 <td> 8372,0 </td> 585 <td> 8372,0 </td>
585 </tr> 586 </tr>
586 </table> 587 </table>
587   588  
588 <h1> Programové vybavení </h1> 589 <h1> Programové vybavení </h1>
589   590  
590 <h2> Uživatelský návod </h2> 591 <h2> Uživatelský návod </h2>
591   592  
592 <h3> Přehrávání skladeb </h3> 593 <h3> Přehrávání skladeb </h3>
593   594  
594 <p> 595 <p>
595 Při přehrávání není na J5 propojka. Hlasitost se nastavuje trimrem P1. 596 Při přehrávání není na J5 propojka. Hlasitost se nastavuje trimrem P1.
596 </p> 597 </p>
597   598  
598 <p> 599 <p>
599 Melodický zvonek začne hrát stiskem libovolného tlačítka (tlačítek). 600 Melodický zvonek začne hrát stiskem libovolného tlačítka (tlačítek).
600 Přestože jsou na desce jen 4 tlačítka, je možné do zvonku naprogramovat 601 Přestože jsou na desce jen 4 tlačítka, je možné do zvonku naprogramovat
601 až 15 skladeb. První čtyři jsou spuštěny přímo při stlačení jednoho 602 až 15 skladeb. První čtyři jsou spuštěny přímo při stlačení jednoho
602 ze čtyř tlačítek, pro aktivaci dalších skladeb je nutné stisknout 603 ze čtyř tlačítek, pro aktivaci dalších skladeb je nutné stisknout
603 několik tlačítek najednou dle následující tabulky. 604 několik tlačítek najednou dle následující tabulky.
604 </p> 605 </p>
605   606  
606 <table> 607 <table>
607 <tr> 608 <tr>
608 <th> Číslo skladby </th> 609 <th> Číslo skladby </th>
609 <th> Kombinace tlačítek </th> 610 <th> Kombinace tlačítek </th>
610 <th> Číslo skladby </th> 611 <th> Číslo skladby </th>
611 <th> Kombinace tlačítek </th> 612 <th> Kombinace tlačítek </th>
612 </tr> 613 </tr>
613 <tr> 614 <tr>
614 <td> 1 </td> 615 <td> 1 </td>
615 <td> •&nbsp;o&nbsp;o&nbsp;o </td> 616 <td> •&nbsp;o&nbsp;o&nbsp;o </td>
616 <td> 9 </td> 617 <td> 9 </td>
617 <td> o&nbsp;•&nbsp;o&nbsp;• </td> 618 <td> o&nbsp;•&nbsp;o&nbsp;• </td>
618 </tr> 619 </tr>
619 <tr> 620 <tr>
620 <td> 2 </td> 621 <td> 2 </td>
621 <td> o&nbsp;•&nbsp;o&nbsp;o </td> 622 <td> o&nbsp;•&nbsp;o&nbsp;o </td>
622 <td> 10 </td> 623 <td> 10 </td>
623 <td> o&nbsp;o&nbsp;•&nbsp;• </td> 624 <td> o&nbsp;o&nbsp;•&nbsp;• </td>
624 </tr> 625 </tr>
625 <tr> 626 <tr>
626 <td> 3 </td> 627 <td> 3 </td>
627 <td> o&nbsp;o&nbsp;•&nbsp;o </td> 628 <td> o&nbsp;o&nbsp;•&nbsp;o </td>
628 <td> 11 </td> 629 <td> 11 </td>
629 <td> •&nbsp;•&nbsp;•&nbsp;o </td> 630 <td> •&nbsp;•&nbsp;•&nbsp;o </td>
630 </tr> 631 </tr>
631 <tr> 632 <tr>
632 <td> 4 </td> 633 <td> 4 </td>
633 <td> o&nbsp;o&nbsp;o&nbsp;• </td> 634 <td> o&nbsp;o&nbsp;o&nbsp;• </td>
634 <td> 12 </td> 635 <td> 12 </td>
635 <td> •&nbsp;•&nbsp;o&nbsp;• </td> 636 <td> •&nbsp;•&nbsp;o&nbsp;• </td>
636 </tr> 637 </tr>
637 <tr> 638 <tr>
638 <td> 5 </td> 639 <td> 5 </td>
639 <td> •&nbsp;•&nbsp;o&nbsp;o </td> 640 <td> •&nbsp;•&nbsp;o&nbsp;o </td>
640 <td> 13 </td> 641 <td> 13 </td>
641 <td> •&nbsp;o&nbsp;•&nbsp;• </td> 642 <td> •&nbsp;o&nbsp;•&nbsp;• </td>
642 </tr> 643 </tr>
643 <tr> 644 <tr>
644 <td> 6 </td> 645 <td> 6 </td>
645 <td> •&nbsp;o&nbsp;•&nbsp;o </td> 646 <td> •&nbsp;o&nbsp;•&nbsp;o </td>
646 <td> 14 </td> 647 <td> 14 </td>
647 <td> o&nbsp;•&nbsp;•&nbsp;• </td> 648 <td> o&nbsp;•&nbsp;•&nbsp;• </td>
648 </tr> 649 </tr>
649 <tr> 650 <tr>
650 <td> 7 </td> 651 <td> 7 </td>
651 <td> •&nbsp;o&nbsp;o&nbsp;• </td> 652 <td> •&nbsp;o&nbsp;o&nbsp;• </td>
652 <td> 15 </td> 653 <td> 15 </td>
653 <td> •&nbsp;•&nbsp;•&nbsp;• </td> 654 <td> •&nbsp;•&nbsp;•&nbsp;• </td>
654 </tr> 655 </tr>
655 <tr> 656 <tr>
656 <td> 8 </td> 657 <td> 8 </td>
657 <td> o&nbsp;•&nbsp;•&nbsp;o </td> 658 <td> o&nbsp;•&nbsp;•&nbsp;o </td>
658 <td colspan="2"> •&nbsp;znamená&nbsp;stisknuto, o&nbsp;znamená&nbsp;v&nbsp;klidu </td> 659 <td colspan="2"> •&nbsp;znamená&nbsp;stisknuto, o&nbsp;znamená&nbsp;v&nbsp;klidu </td>
659 </tr> 660 </tr>
660 </table> 661 </table>
661   662  
662 <h3> Programování skladeb </h3> 663 <h3> Programování skladeb </h3>
663   664  
664 <p> 665 <p>
665 Při programování se používá propojka na J5 a definice skladeb se přivádí 666 Při programování se používá propojka na J5 a definice skladeb se přivádí
666 z&nbsp;počítače ze sériové linky na konektor J4. Při rozběhu otestuje 667 z&nbsp;počítače ze sériové linky na konektor J4. Při rozběhu otestuje
667 program, zda je na J5 propojka a zda je připojen počítač ke konektoru J4. 668 program, zda je na J5 propojka a zda je připojen počítač ke konektoru J4.
668 Pokud ano, přejde do režimu programování. To se projeví zacvrdlikáním. Aby 669 Pokud ano, přejde do režimu programování. To se projeví zacvrdlikáním. Aby
669 se program správně spustil při připojení napájení, musí být napájení 670 se program správně spustil při připojení napájení, musí být napájení
670 odpojené alespoň 10 sekund. Pokud je nasazena propojka na J5 a nedojde 671 odpojené alespoň 10 sekund. Pokud je nasazena propojka na J5 a nedojde
671 ke správnému zresetování procesoru, může dojít k&nbsp;poškození obsahu 672 ke správnému zresetování procesoru, může dojít k&nbsp;poškození obsahu
672 paměti skladeb a skladby bude třeba znovu nahrát. 673 paměti skladeb a skladby bude třeba znovu nahrát.
673 </p> 674 </p>
674   675  
675 <p> 676 <p>
676 Postup pro přechod do programovacího režimu: 677 Postup pro přechod do programovacího režimu:
677 </p> 678 </p>
678   679  
679 <ul> 680 <ul>
680 <li> Odpojíme baterii a počkáme alespoň 10 sekund </li> 681 <li> Odpojíme baterii a počkáme alespoň 10 sekund </li>
681 <li> Připojíme kabel RS232 k&nbsp;počítači </li> 682 <li> Připojíme kabel RS232 k&nbsp;počítači </li>
682 <li> Připojíme baterii </li> 683 <li> Připojíme baterii </li>
683 <li> Nasadíme propojku J5 </li> 684 <li> Nasadíme propojku J5 </li>
684 <li> Stiskneme některé tlačítko a mělo by se ozvat zacvrdlikání</li> 685 <li> Stiskneme některé tlačítko a mělo by se ozvat zacvrdlikání</li>
685 </ul> 686 </ul>
686   687  
687 <p> 688 <p>
688 Pro přenos dat do zvonku je možné použít téměř libovolný terminálový program. 689 Pro přenos dat do zvonku je možné použít téměř libovolný terminálový program.
689 Parametry přenosu dat do zvonku jsou 9600Bd, 8bitů, 1stopbit, žádná parita. 690 Parametry přenosu dat do zvonku jsou 9600Bd, 8bitů, 1stopbit, žádná parita.
690 Řízení přenosu se nepoužívá. Protože data procesor zapisuje do své paměti 691 Řízení přenosu se nepoužívá. Protože data procesor zapisuje do své paměti
691 programu, nemůže číst další data, než dokončí zápis předchozích. Proto 692 programu, nemůže číst další data, než dokončí zápis předchozích. Proto
692 je nutné nastavit časovou prodlevu mezi řádky na cca 100ms. 693 je nutné nastavit časovou prodlevu mezi řádky na cca 100ms.
693 Přenos je jen jednosměrný, zvonek neumí odesílat žádné informace sériovou 694 Přenos je jen jednosměrný, zvonek neumí odesílat žádné informace sériovou
694 linkou směrem k&nbsp;počítači. Má pouze propojené signály RX a TX tak, aby 695 linkou směrem k&nbsp;počítači. Má pouze propojené signály RX a TX tak, aby
695 znaky odesílané do zvonku byly zobrazované na displeji terminálu. 696 znaky odesílané do zvonku byly zobrazované na displeji terminálu.
696 </p> 697 </p>
697   698  
698 <p> 699 <p>
699 Pro propojení s&nbsp;počítačem se používá nulmodemový kabel (tedy křížený, 700 Pro propojení s&nbsp;počítačem se používá nulmodemový kabel (tedy křížený,
700 spojení RX-TX, TX-RX). 701 spojení RX-TX, TX-RX).
701 </p> 702 </p>
702   703  
703 <p> 704 <p>
704 V&nbsp;prostředí Windows 98 je k&nbsp;dispozici program Hyperterminál 705 V&nbsp;prostředí Windows 98 je k&nbsp;dispozici program Hyperterminál
705 (Start/Programy/Příslušenství/Komunikace/Hyperterminál). Pokud není, 706 (Start/Programy/Příslušenství/Komunikace/Hyperterminál). Pokud není,
706 znamená to, že nebyl nainstalován, a je možné nainstalovat jej dodatečně 707 znamená to, že nebyl nainstalován, a je možné nainstalovat jej dodatečně
707 nebo použít nějaký jiný terminálový program. Hyperterminál nás na úvod 708 nebo použít nějaký jiný terminálový program. Hyperterminál nás na úvod
708 vyzve k&nbsp;nastavení základních komunikačních parametrů (9600Bd, 8, 709 vyzve k&nbsp;nastavení základních komunikačních parametrů (9600Bd, 8,
709 žádná, 1, žádné). Dále je třeba nastavit 710 žádná, 1, žádné). Dále je třeba nastavit
710 (Soubor/Vlastnosti/Nastavení/Nastavení ASCII) 711 (Soubor/Vlastnosti/Nastavení/Nastavení ASCII)
711 zpoždění řádků 100ms. 712 zpoždění řádků 100ms.
712 </p> 713 </p>
713   714  
714 <p> 715 <p>
715 V&nbsp;této chvíli bychom měli vidět znaky psané na klávesnici v&nbsp;okně 716 V&nbsp;této chvíli bychom měli vidět znaky psané na klávesnici v&nbsp;okně
716 terminálu. Pokud je zvonek v&nbsp;režimu programování, měl by krátce pípnout 717 terminálu. Pokud je zvonek v&nbsp;režimu programování, měl by krátce pípnout
717 při každém stisku odřádkování. Znamená to, že reaguje na posílaná data. 718 při každém stisku odřádkování. Znamená to, že reaguje na posílaná data.
718 Nyní již nic nebrání ručnímu ovládání. 719 Nyní již nic nebrání ručnímu ovládání.
719 </p> 720 </p>
720   721  
721 <p> 722 <p>
722 Větší množství dat (například celou melodii) je vhodné připravit 723 Větší množství dat (například celou melodii) je vhodné připravit
723 do samostatného souboru a ten pak přes schránku vložit do terminálu 724 do samostatného souboru a ten pak přes schránku vložit do terminálu
724 (u Hyperterminálu pravé tlačítko, funkce Vložit k&nbsp;hostiteli). Většina 725 (u Hyperterminálu pravé tlačítko, funkce Vložit k&nbsp;hostiteli). Většina
725 terminálových programů umí i přímo odeslat textový soubor protistraně, ale 726 terminálových programů umí i přímo odeslat textový soubor protistraně, ale
726 Hyperterminál to neumí. 727 Hyperterminál to neumí.
727 </p> 728 </p>
728   729  
729 <h3> Příkazy a formát dat pro programování skladeb </h3> 730 <h3> Příkazy a formát dat pro programování skladeb </h3>
730   731  
731 <p> 732 <p>
732 Procesor vždy nejprve převezme celou řádku a poté se ji snaží zpracovat. 733 Procesor vždy nejprve převezme celou řádku a poté se ji snaží zpracovat.
733 Pokud řádce nerozumí, pípne odlišně. Z řádky se uvažuje jen prvních 40 znaků. 734 Pokud řádce nerozumí, pípne odlišně. Z řádky se uvažuje jen prvních 40 znaků.
734 Text za „//“ je komentář. Komentář může být libovolně dlouhý. 735 Text za „//“ je komentář. Komentář může být libovolně dlouhý.
735 </p> 736 </p>
736   737  
737 <p> 738 <p>
738 Klíčová slova a jejich význam je v&nbsp;následující tabulce. Parametry jsou 739 Klíčová slova a jejich význam je v&nbsp;následující tabulce. Parametry jsou
739 malá přirozená čísla v&nbsp;uvedeném rozsahu. Pokud je zadáno číslo větší, 740 malá přirozená čísla v&nbsp;uvedeném rozsahu. Pokud je zadáno číslo větší,
740 zvonek  použije jen odpovídající spodní bity čísla. 741 zvonek  použije jen odpovídající spodní bity čísla.
741 </p> 742 </p>
742   743  
743 <table> 744 <table>
744 <tr> 745 <tr>
745 <th> Klíčová slova a&nbsp;parametry </th> 746 <th> Klíčová slova a&nbsp;parametry </th>
746 <th> Meze </th> 747 <th> Meze </th>
747 <th> Význam </th> 748 <th> Význam </th>
748 </tr> 749 </tr>
749 <tr> 750 <tr>
750 <td> <code>PLAY <b>n</b></code> </td> 751 <td> <code>PLAY <b>n</b></code> </td>
751 <td> <code><b>n</b>: 1 .. 15</code> </td> 752 <td> <code><b>n</b>: 1 .. 15</code> </td>
752 <td> Zahraj skladbu <code><b>n</b></code> </td> 753 <td> Zahraj skladbu <code><b>n</b></code> </td>
753 </tr> 754 </tr>
754 <tr> 755 <tr>
755 <td> <code>ERASE</code> </td> 756 <td> <code>ERASE</code> </td>
756 <td> </td> 757 <td> </td>
757 <td> Smaž všechny skladby </td> 758 <td> Smaž všechny skladby </td>
758 </tr> 759 </tr>
759 <tr> 760 <tr>
760 <td> <code>BEGIN <b>n</b></code> </td> 761 <td> <code>BEGIN <b>n</b></code> </td>
761 <td> <code><b>n</b>: 0 .. 7</code> </td> 762 <td> <code><b>n</b>: 0 .. 7</code> </td>
762 <td> Začátek definice skladby; číslo udává posunutí skladby o udaný počet 763 <td> Začátek definice skladby; číslo udává posunutí skladby o udaný počet
763 oktáv nahoru </td> 764 oktáv nahoru </td>
764 </tr> 765 </tr>
765 <tr> 766 <tr>
766 <td> <code>TEST <b>n</b></code> </td> 767 <td> <code>TEST <b>n</b></code> </td>
767 <td> <code><b>n</b>: 0 .. 7</code> </td> 768 <td> <code><b>n</b>: 0 .. 7</code> </td>
768 <td> Jako <code>BEGIN</code>, ale následující noty nejsou programovány 769 <td> Jako <code>BEGIN</code>, ale následující noty nejsou programovány
769 do paměti, ale přehrávány </td> 770 do paměti, ale přehrávány </td>
770 </tr> 771 </tr>
771 <tr> 772 <tr>
772 <td> <code>TEMPO <b>n</b></code> </td> 773 <td> <code>TEMPO <b>n</b></code> </td>
773 <td> <code><b>n</b>: 1 .. 2047</code> </td> 774 <td> <code><b>n</b>: 1 .. 2047</code> </td>
774 <td> Délka nejkratší noty v&nbsp;ms; není-li použito, je nastaveno na 100ms; 775 <td> Délka nejkratší noty v&nbsp;ms; není-li použito, je nastaveno na 100ms;
775 může se použít vícekrát v&nbsp;jedné skladbě </td> 776 může se použít vícekrát v&nbsp;jedné skladbě </td>
776 </tr> 777 </tr>
777 <tr> 778 <tr>
778 <td> <code>PAUSE <b>n</b></code> </td> 779 <td> <code>PAUSE <b>n</b></code> </td>
779 <td> <code><b>n</b>: 1 .. 2047</code> </td> 780 <td> <code><b>n</b>: 1 .. 2047</code> </td>
780 <td> Délka prodlevy mezi notami; není-li použito, je nastaveno na 100ms; 781 <td> Délka prodlevy mezi notami; není-li použito, je nastaveno na 100ms;
781 může se použít vícekrát v&nbsp;jedné skladbě </td> 782 může se použít vícekrát v&nbsp;jedné skladbě </td>
782 </tr> 783 </tr>
783 <tr> 784 <tr>
784 <td> <code>[<b>a</b>]<b> C</b> [<b>b</b>]</code> </td> 785 <td> <code>[<b>a</b>]<b> C</b> [<b>b</b>]</code> </td>
785 <td> <code><b>a</b>: 0 .. 7<br></code> 786 <td> <code><b>a</b>: 0 .. 7<br></code>
786 <code><b>C</b>: C, Cis, D, Dis, E, F, Fis, <br></code> 787 <code><b>C</b>: C, Cis, D, Dis, E, F, Fis, <br></code>
787 <code> G, Gis, A, Ais, H, Space<br></code> 788 <code> G, Gis, A, Ais, H, Space<br></code>
788 <code><b>b</b>: 1 .. 63</code> </td> 789 <code><b>b</b>: 1 .. 63</code> </td>
789 <td> Číslo oktávy (sečítá se s&nbsp;parametrem u <code>BEGIN</code>); není-li 790 <td> Číslo oktávy (sečítá se s&nbsp;parametrem u <code>BEGIN</code>); není-li
790 uvedeno, použije se poslední hodnota<br> 791 uvedeno, použije se poslední hodnota<br>
791 Nota <code><b>C</b></code> v&nbsp;oktávě <code><b>a</b></code> o délce 792 Nota <code><b>C</b></code> v&nbsp;oktávě <code><b>a</b></code> o délce
792 <code><b>b</b></code>; Space je němá nota (mezera)<br> 793 <code><b>b</b></code>; Space je němá nota (mezera)<br>
793 Délka je v&nbsp;násobcích parametru <code>TEMPO</code>, není-li uvedena, je 1 </td> 794 Délka je v&nbsp;násobcích parametru <code>TEMPO</code>, není-li uvedena, je 1 </td>
794 </tr> 795 </tr>
795 <tr> 796 <tr>
796 <td> <code>END</code> </td> 797 <td> <code>END</code> </td>
797 <td> </td> 798 <td> </td>
798 <td> Konec skladby, další noty již budou pouze přehrávány </td> 799 <td> Konec skladby, další noty již budou pouze přehrávány </td>
799 </tr> 800 </tr>
800 <tr> 801 <tr>
801 <td> / text </td> 802 <td> / text </td>
802 <td> </td> 803 <td> </td>
803 <td> Komentář; vše za znakem / do konce řádky se ignoruje </td> 804 <td> Komentář; vše za znakem / do konce řádky se ignoruje </td>
804 </tr> 805 </tr>
805 <tr> 806 <tr>
806 <td colspan=3> <i>Znaky <code>[</code> a <code>]</code> znamenají volitelný parametr</i> </td> 807 <td colspan=3> <i>Znaky <code>[</code> a <code>]</code> znamenají volitelný parametr</i> </td>
807 </tr> 808 </tr>
808 </table> 809 </table>
809   810  
810 <h2> Program </h2> 811 <h2> Program </h2>
811   812  
812 <p> 813 <p>
813 Program melodického zvonku je napsaný v&nbsp;jazyce C firmy CCS. 814 Program melodického zvonku je napsaný v&nbsp;jazyce C firmy CCS.
814 Demoverze překladače je možné stáhnout z&nbsp;webu na adresa 815 Demoverze překladače je možné stáhnout z&nbsp;webu na adresa
815 <a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>. 816 <a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>.
816 Demoverze podporuje jen vybrané procesory (obvykle několik typů) 817 Demoverze podporuje jen vybrané procesory (obvykle několik typů)
817 a umožňuje napsat program v&nbsp;omezeném rozsahu (do 2048 slov). 818 a umožňuje napsat program v&nbsp;omezeném rozsahu (do 2048 slov).
818 </p> 819 </p>
819   820  
820 <p> 821 <p>
821 Program je bohatě komentovaný  a dostupný, je tedy snadné se s ním seznámit. 822 Program je bohatě komentovaný  a dostupný, je tedy snadné se s ním seznámit.
822 Vzhledem k&nbsp;omezeným zdrojům použitého procesoru používá program v&nbsp;hojné 823 Vzhledem k&nbsp;omezeným zdrojům použitého procesoru používá program v&nbsp;hojné
823 míře globálních proměnných, protože to vede na kód kratší asi o 10%. 824 míře globálních proměnných, protože to vede na kód kratší asi o 10%.
824 Některé programové konstrukce také vypadají na první pohled nelogicky, 825 Některé programové konstrukce také vypadají na první pohled nelogicky,
825 ale jsou voleny s&nbsp;ohledem na&nbsp;dosažení minimální délky výsledného 826 ale jsou voleny s&nbsp;ohledem na&nbsp;dosažení minimální délky výsledného
826 kódu. Je třeba si uvědomit, že použitý překladač jazyka C patří k&nbsp;těm 827 kódu. Je třeba si uvědomit, že použitý překladač jazyka C patří k&nbsp;těm
827 nejlevnějším, a proto neumí generovat příliš optimalizovaný kód. 828 nejlevnějším, a proto neumí generovat příliš optimalizovaný kód.
828 </p> 829 </p>
829   830  
830 <h3> Hlavní program a základní procedury </h3> 831 <h3> Hlavní program a základní procedury </h3>
831   832  
832 <h4>main()</h4> 833 <h4>main()</h4>
833   834  
834 <p> 835 <p>
835 Na začátku se hlavní program rozhoduje podle přítomnosti propojky na J5 836 Na začátku se hlavní program rozhoduje podle přítomnosti propojky na J5
836 a podle přítomnosti klidového signálu na RS232, zda má přejít do režimu 837 a podle přítomnosti klidového signálu na RS232, zda má přejít do režimu
837 programování skladeb. Pokud ano, spustí se procedura Download(). 838 programování skladeb. Pokud ano, spustí se procedura Download().
838 </p> 839 </p>
839   840  
840 <p> 841 <p>
841 Pokud není v programovacím režimu, zapíná procesor napájení sobě a zesilovači 842 Pokud není v programovacím režimu, zapíná procesor napájení sobě a zesilovači
842 LM386 a po krátké prodlevě načítá stav tlačítek. Pak volá proceduru <code>Play()</code>, 843 LM386 a po krátké prodlevě načítá stav tlačítek. Pak volá proceduru <code>Play()</code>,
843 která na základě čísla skladby v&nbsp;proměnné <code>CisloSkladby</code> 844 která na základě čísla skladby v&nbsp;proměnné <code>CisloSkladby</code>
844 přehraje požadovanou skladbu. 845 přehraje požadovanou skladbu.
845 </p> 846 </p>
846   847  
847 <p> 848 <p>
848 Následuje přechod do vypnutého stavu. 849 Následuje přechod do vypnutého stavu.
849 </p> 850 </p>
850   851  
851 <h4>Download()</h4> 852 <h4>Download()</h4>
852   853  
853 <p> 854 <p>
854 Tato procedura načítá nejprve celou řádku z&nbsp;RS232. Znaky mezera, čárka 855 Tato procedura načítá nejprve celou řádku z&nbsp;RS232. Znaky mezera, čárka
855 a všechny řídící znaky kromě <code>CR</code> (odřádkování) a <code>BS</code> 856 a všechny řídící znaky kromě <code>CR</code> (odřádkování) a <code>BS</code>
856 (znak zpět) se chápou jako oddělovač (mezera). Znak <code>BS</code> umožňuje 857 (znak zpět) se chápou jako oddělovač (mezera). Znak <code>BS</code> umožňuje
857 návrat o 1 znak zpět. Znaky za znakem lomeno se&nbsp;ignorují stejně, jako 858 návrat o 1 znak zpět. Znaky za znakem lomeno se&nbsp;ignorují stejně, jako
858 znaky za maximální délkou řádky. 859 znaky za maximální délkou řádky.
859 </p> 860 </p>
860   861  
861 <p> 862 <p>
862 Po stisku <code>CR</code> se postupně zpracuje celá řádka. Hledají se 863 Po stisku <code>CR</code> se postupně zpracuje celá řádka. Hledají se
863 v&nbsp;ní klíčová slova (procedura <code>Word()</code>) a&nbsp;číselné parametry 864 v&nbsp;ní klíčová slova (procedura <code>Word()</code>) a&nbsp;číselné parametry
864 (procedura <code>Number()</code>). Vyskytne-li se chybné slovo, dojde 865 (procedura <code>Number()</code>). Vyskytne-li se chybné slovo, dojde
865 k&nbsp;nastavení příznaku <code>Error</code> a na konci řádky místo krátkého 866 k&nbsp;nastavení příznaku <code>Error</code> a na konci řádky místo krátkého
866 pípnutí dojde k&nbsp;chybovému pípnutí. 867 pípnutí dojde k&nbsp;chybovému pípnutí.
867 </p> 868 </p>
868   869  
869 <p> 870 <p>
870 Klíčová slova, tak jak jsou na řádce, se ihned vykonávají. Tedy noty hrají, 871 Klíčová slova, tak jak jsou na řádce, se ihned vykonávají. Tedy noty hrají,
871 slova <code>TEMPO</code>, <code>PAUSE</code>, <code>PLAY</code>, <code>ERASE</code> 872 slova <code>TEMPO</code>, <code>PAUSE</code>, <code>PLAY</code>, <code>ERASE</code>
872 a <code>TEST</code> dělají přímo to, co dělat mají. Tato vlastnost 873 a <code>TEST</code> dělají přímo to, co dělat mají. Tato vlastnost
873 slouží k&nbsp;testování melodií či jejich úryvků aniž by se musely zapisovat 874 slouží k&nbsp;testování melodií či jejich úryvků aniž by se musely zapisovat
874 do paměti FLASH. 875 do paměti FLASH.
875 </p> 876 </p>
876   877  
877 <p> 878 <p>
878 Po slovu <code>BEGIN</code> se přejde do režimu záznamu do paměti a od 879 Po slovu <code>BEGIN</code> se přejde do režimu záznamu do paměti a od
879 tohoto okamžiku se vše zaznamenává do paměti. Tento režim končí slovem <code>END</code> 880 tohoto okamžiku se vše zaznamenává do paměti. Tento režim končí slovem <code>END</code>
880 (ale také slovy <code>ERASE</code>, <code>TEST</code> nebo <code>PLAY</code>). 881 (ale také slovy <code>ERASE</code>, <code>TEST</code> nebo <code>PLAY</code>).
881 </p> 882 </p>
882   883  
883 <p> 884 <p>
884 Pokud se během zpracování řádky odehrála alespoň jedna nota, nedojde na konci 885 Pokud se během zpracování řádky odehrála alespoň jedna nota, nedojde na konci
885 řádky k&nbsp;pípnutí (pokud ovšem nebyla někde na řádce chyba). 886 řádky k&nbsp;pípnutí (pokud ovšem nebyla někde na řádce chyba).
886 </p> 887 </p>
887   888  
888 <h4> Play(), PlayData(), Find()</h4> 889 <h4> Play(), PlayData(), Find()</h4>
889   890  
890 <p> 891 <p>
891 Tyto procedury slouží k&nbsp;přehrání celé skladby, jedné noty a k&nbsp;nalezení 892 Tyto procedury slouží k&nbsp;přehrání celé skladby, jedné noty a k&nbsp;nalezení
892 začátku zadaného čísla skladby. 893 začátku zadaného čísla skladby.
893 </p> 894 </p>
894   895  
895 <h4> WriteDataInc(), WriteData, ReadData(), Erase() </h4> 896 <h4> WriteDataInc(), WriteData, ReadData(), Erase() </h4>
896   897  
897 <p> 898 <p>
898 Tyto procedury slouží k&nbsp;zápisu, čtení a k&nbsp;mazání paměti skladeb. 899 Tyto procedury slouží k&nbsp;zápisu, čtení a k&nbsp;mazání paměti skladeb.
899 K&nbsp;zápisu nebo ke smazání může dojít jen pokud je nasazena propojka na J5. 900 K&nbsp;zápisu nebo ke smazání může dojít jen pokud je nasazena propojka na J5.
900 </p> 901 </p>
901   902  
902 <h4> SpecBeep()</h4> 903 <h4> SpecBeep()</h4>
903   904  
904 <p> 905 <p>
905 Tato procedura slouží k&nbsp;pípnutí dle parametru v&nbsp;proměnných 906 Tato procedura slouží k&nbsp;pípnutí dle parametru v&nbsp;proměnných
906 <code>Beep</code> a <code>Error</code>. 907 <code>Beep</code> a <code>Error</code>.
907 </p> 908 </p>
908   909  
909 <h3> Knihovna pro generování zvuků <code>Sound_t1.c</code> </h3> 910 <h3> Knihovna pro generování zvuků <code>Sound_t1.c</code> </h3>
910   911  
911 <p> 912 <p>
912 Tato knihovna používá časovač T1 spolu s&nbsp;jednotkou CCP1 ke generování 913 Tato knihovna používá časovač T1 spolu s&nbsp;jednotkou CCP1 ke generování
913 přerušení dle požadované půlperiody hraného tónu. V&nbsp;přerušovací rutině 914 přerušení dle požadované půlperiody hraného tónu. V&nbsp;přerušovací rutině
914 <code>IntCCP1()</code> se pak ovládá výstupní port. 915 <code>IntCCP1()</code> se pak ovládá výstupní port.
915 </p> 916 </p>
916   917  
917 <p> 918 <p>
918 Délka tónu se odměřuje pomocí přetečení časovače T0. Přetečení se zjišťuje 919 Délka tónu se odměřuje pomocí přetečení časovače T0. Přetečení se zjišťuje
919 čtením příznaku T0IF, přerušení se zde nepoužívá. 920 čtením příznaku T0IF, přerušení se zde nepoužívá.
920 </p> 921 </p>
921   922  
922 <h3> Definice skladeb <code>Data.c</code> </h3> 923 <h3> Definice skladeb <code>Data.c</code> </h3>
923   924  
924 <p> 925 <p>
925 Skladby se ukládají v&nbsp;poslední čtvrtině paměti FLASH a kódují se dle 926 Skladby se ukládají v&nbsp;poslední čtvrtině paměti FLASH a kódují se dle
926 následující tabulky. 927 následující tabulky.
927 </p> 928 </p>
928   929  
929 <table> 930 <table>
930 <tr> 931 <tr>
931 <th> Slovo </th> 932 <th> Slovo </th>
932 <th> Kód </th> 933 <th> Kód </th>
933 <th> Poznámka </th> 934 <th> Poznámka </th>
934 </tr> 935 </tr>
935 <tr> 936 <tr>
936 <td> <code>BEGIN n</code> </td> 937 <td> <code>BEGIN n</code> </td>
937 <td> <code>1 0   0 n n n   n n n n   n n n n</code> </td> 938 <td> <code>1 0   0 n n n   n n n n   n n n n</code> </td>
938 <td> Začátek skladby a posunutí oktávy not skladby o <code><b>n</b></code> </td> 939 <td> Začátek skladby a posunutí oktávy not skladby o <code><b>n</b></code> </td>
939 </tr> 940 </tr>
940 <tr> 941 <tr>
941 <td> <code>TEMPO n</code> </td> 942 <td> <code>TEMPO n</code> </td>
942 <td> <code>1 0   1 n n n   n n n n   n n n n</code> </td> 943 <td> <code>1 0   1 n n n   n n n n   n n n n</code> </td>
943 <td> Změna tempa na <code><b>n</b></code> milisekund </td> 944 <td> Změna tempa na <code><b>n</b></code> milisekund </td>
944 </tr> 945 </tr>
945 <tr> 946 <tr>
946 <td> <code>PAUSE n</code> </td> 947 <td> <code>PAUSE n</code> </td>
947 <td> <code>1 1   0 n n n   n n n n   n n n n</code> </td> 948 <td> <code>1 1   0 n n n   n n n n   n n n n</code> </td>
948 <td> Změna mezery mezi notami na <code><b>n</b></code> milisekund </td> 949 <td> Změna mezery mezi notami na <code><b>n</b></code> milisekund </td>
949 </tr> 950 </tr>
950 <tr> 951 <tr>
951 <td> <code>o n d</code> </td> 952 <td> <code>o n d</code> </td>
952 <td> <code>0 d   d d d d   d o o o   n n n n</code> </td> 953 <td> <code>0 d   d d d d   d o o o   n n n n</code> </td>
953 <td> Nota <code><b>n</b></code> v&nbsp;oktávě <code><b>o</b></code> délky <code><b>d</b></code> </td> 954 <td> Nota <code><b>n</b></code> v&nbsp;oktávě <code><b>o</b></code> délky <code><b>d</b></code> </td>
954 </tr> 955 </tr>
955 <tr> 956 <tr>
956 <td> <code>END</code> </td> 957 <td> <code>END</code> </td>
957 <td> <code>1 1   1 1 1 1   1 1 1 1   1 1 1 1</code> </td> 958 <td> <code>1 1   1 1 1 1   1 1 1 1   1 1 1 1</code> </td>
958 <td> Konec skladeb, prázdná paměť </td> 959 <td> Konec skladeb, prázdná paměť </td>
959 </tr> 960 </tr>
960 </table> 961 </table>
961   962  
962 <p> 963 <p>
963 Aby se dalo použít stejného souboru s&nbsp;definicí skladby jak pro začlenění 964 Aby se dalo použít stejného souboru s&nbsp;definicí skladby jak pro začlenění
964 skladby do firmwaru tak i pro programování přes RS232, jsou v&nbsp;souboru 965 skladby do firmwaru tak i pro programování přes RS232, jsou v&nbsp;souboru
965 <code>Data.c</code> nadefinována makra, která toto umožňují. Definice 966 <code>Data.c</code> nadefinována makra, která toto umožňují. Definice
966 skladby, která má být začleněna do firmwaru musí, používat čárky jako 967 skladby, která má být začleněna do firmwaru musí, používat čárky jako
967 oddělovače jednotlivých položek a číselné parametry není možné vynechávat. 968 oddělovače jednotlivých položek a číselné parametry není možné vynechávat.
968 Příklady skladeb napoví vše. 969 Příklady skladeb napoví vše.
969 </p> 970 </p>
970   971  
971 </div> 972 </div>
972   973  
973 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 974 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
974 <!-- ============== PATIČKA ============== --> 975 <!-- ============== PATIČKA ============== -->
975 <div class="Footer"> 976 <div class="Footer">
976 <script type="text/javascript"> 977 <script type="text/javascript">
977 <!-- 978 <!--
978 SetRelativePath("../../../../"); 979 SetRelativePath("../../../../");
979 DrawFooter(); 980 DrawFooter();
980 // --> 981 // -->
981 </script> 982 </script>
982 <noscript> 983 <noscript>
983 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 984 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
984 </noscript> 985 </noscript>
985 </div> 986 </div>
986 <!-- AUTOINCLUDE END --> 987 <!-- AUTOINCLUDE END -->
987   988  
988 </body> 989 </body>
989 </html> 990 </html>