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