Rev 3235 Rev 3255
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="StyleSheet" href="../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
11 <link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico"> 11 <link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico">
12 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script> 12 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
13 <!-- AUTOINCLUDE END --> 13 <!-- AUTOINCLUDE END -->
14 </head> 14 </head>
15   15  
16 <body lang="cs"> 16 <body lang="cs">
17   17  
18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --> 18 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
19 <!-- ============== HLAVICKA ============== --> 19 <!-- ============== HLAVICKA ============== -->
20 <div class="Header"> 20 <div class="Header">
21 <script type="text/javascript"> 21 <script type="text/javascript">
22 <!-- 22 <!--
23 SetRelativePath("../../../../"); 23 SetRelativePath("../../../../");
24 DrawHeader(); 24 DrawHeader();
25 // --> 25 // -->
26 </script> 26 </script>
27 <noscript> 27 <noscript>
28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p> 28 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
29 </noscript> 29 </noscript>
30 </div> 30 </div>
31 <!-- AUTOINCLUDE END --> 31 <!-- AUTOINCLUDE END -->
32   32  
33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --> 33 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== --> 34 <!-- ============== MENU ============== -->
35 <div class="Menu"> 35 <div class="Menu">
36 <script type="text/javascript"> 36 <script type="text/javascript">
37 <!-- 37 <!--
38 SetRelativePath("../../../../"); 38 SetRelativePath("../../../../");
39 DrawMenu(); 39 DrawMenu();
40 // --> 40 // -->
41 </script> 41 </script>
42 <noscript> 42 <noscript>
43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p> 43 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
44 </noscript> 44 </noscript>
45 </div> 45 </div>
46 <!-- AUTOINCLUDE END --> 46 <!-- AUTOINCLUDE END -->
47   47  
48 <!-- ============== TEXT ============== --> 48 <!-- ============== TEXT ============== -->
49 <div class="Text"> 49 <div class="Text">
50 <p class="Title"> 50 <p class="Title">
51 Melodický zvonek 51 Melodický zvonek
52 </p> 52 </p>
53 <p class=Autor> 53 <p class=Autor>
54 Milan Horkel 54 Milan Horkel
55 </p> 55 </p>
56 <p class="Subtitle"> 56 <p class="Subtitle">
57 Melodický zvonek MB01 používá pro generování hudebních 57 Melodický zvonek MB01 používá pro generování hudebních
58 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
59 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ý
60 proud. Na výstup je možné připojit reproduktor. 60 proud. Na výstup je možné připojit reproduktor.
61 </p> 61 </p>
62 <p class="Subtitle"> 62 <p class="Subtitle">
63 <img width=290 height=235 src="Pictures/image001.jpg" 63 <img width=290 height=235 src="Pictures/image001.jpg"
64 alt="Obrázek melodického zvonku"> 64 alt="Obrázek melodického zvonku">
65 </p> 65 </p>
66 <p> 66 <p>
67 <a href="../MB01B.cs.pdf"><img class="NoBorder" 67 <a href="../MB01B.cs.pdf"><img class="NoBorder"
68 src="../../../../Web/PIC/FileIco_PDF.ico" 68 src="../../../../Web/PIC/FileIco_PDF.ico"
69 alt="Acrobat">&nbsp;PDF verze</a> 69 alt="Acrobat">&nbsp;PDF verze</a>
70 </p> 70 </p>
71   71  
72 <h1> Technické parametry </h1> 72 <h1> Technické parametry </h1>
73   73  
74 <table> 74 <table>
75 <tr> 75 <tr>
76 <th> Parametr </th> 76 <th> Parametr </th>
77 <th> Hodnota </th> 77 <th> Hodnota </th>
78 <th> Poznámka </th> 78 <th> Poznámka </th>
79 </tr> 79 </tr>
80 <tr> 80 <tr>
81 <td> Napájení </td> 81 <td> Napájení </td>
82 <td> 9V </td> 82 <td> 9V </td>
83 <td> Asi od 4V, maximum 12V </td> 83 <td> Asi od 4V, maximum 12V </td>
84 </tr> 84 </tr>
85 <tr> 85 <tr>
86 <td> Spotřeba v klidu </td> 86 <td> Spotřeba v klidu </td>
87 <td> ≈0 </td> 87 <td> ≈0 </td>
88 <td> Dáno zbytkovým proudem tranzistorů Q2 a Q3 </td> 88 <td> Dáno zbytkovým proudem tranzistorů Q2 a Q3 </td>
89 </tr> 89 </tr>
90 <tr> 90 <tr>
91 <td> Spotřeba při běhu (potichu) </td> 91 <td> Spotřeba při běhu (potichu) </td>
92 <td> 20mA / 30mA </td> 92 <td> 20mA / 30mA </td>
93 <td> Při 9V / 12V </td> 93 <td> Při 9V / 12V </td>
94 </tr> 94 </tr>
95 <tr> 95 <tr>
96 <td> Spotřeba maximálně (nahlas) </td> 96 <td> Spotřeba maximálně (nahlas) </td>
97 <td> 150mA </td> 97 <td> 150mA </td>
98 <td> Při 12V </td> 98 <td> Při 12V </td>
99 </tr> 99 </tr>
100 <tr> 100 <tr>
101 <td> Počet melodií </td> 101 <td> Počet melodií </td>
102 <td> Max 15 </td> 102 <td> Max 15 </td>
103 <td> Všechny možné kombinace 4 tlačítek </td> 103 <td> Všechny možné kombinace 4 tlačítek </td>
104 </tr> 104 </tr>
105 <tr> 105 <tr>
106 <td> Délka skladeb celkem </td> 106 <td> Délka skladeb celkem </td>
107 <td> 512 </td> 107 <td> 512 </td>
108 <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>
109 </tr> 109 </tr>
110 <tr> 110 <tr>
111 <td> Spouštění skladeb </td> 111 <td> Spouštění skladeb </td>
112 <td> 4 tlačítka </td> 112 <td> 4 tlačítka </td>
113 <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>
114 </tr> 114 </tr>
115 <tr> 115 <tr>
116 <td> Rozměry </td> 116 <td> Rozměry </td>
117 <td> 61x71x20mm </td> 117 <td> 61x71x20mm </td>
118 <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>
119 </tr> 119 </tr>
120 </table> 120 </table>
121   121  
122 <h1> Popis konstrukce </h1> 122 <h1> Popis konstrukce </h1>
123   123  
124 <h2> Slovo úvodem </h2> 124 <h2> Slovo úvodem </h2>
125   125  
126 <p> 126 <p>
127 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í,
128 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
129 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ě
130 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)
131 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
132 PIC16F819 a vyrábí jej firma MICROCHIP. 132 PIC16F819 a vyrábí jej firma MICROCHIP.
133 </p> 133 </p>
134   134  
135 <p> 135 <p>
136 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
137 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í
138 (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.
139 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
140 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
141 přeprogramovat. 141 přeprogramovat.
142 </p> 142 </p>
143   143  
144 <p> 144 <p>
145 Čá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é
146 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í
147 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
148 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.
149 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
150 FLASH procesoru uzamčena, aby ji procesor nemohl přepsat. 150 FLASH procesoru uzamčena, aby ji procesor nemohl přepsat.
151 </p> 151 </p>
152   152  
153 <h2> Zapojení melodického zvonku </h2> 153 <h2> Zapojení melodického zvonku </h2>
154   154  
155 <p> 155 <p>
156 <img width=486 height=888 src="Pictures/image003.gif" 156 <img width=486 height=888 src="Pictures/image003.gif"
157 alt=""> 157 alt="">
158 </p> 158 </p>
159   159  
160 <h3> Procesor a obvody jeho napájení</h3> 160 <h3> Procesor a obvody jeho napájení</h3>
161   161  
162 <p> 162 <p>
163 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
164 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í
165 konektor J6, který slouží pro naprogramování programu. 165 konektor J6, který slouží pro naprogramování programu.
166 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.
167 </p> 167 </p>
168   168  
169 <p> 169 <p>
170 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).
171 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
172 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
173 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í
174 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
175 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
176 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
177 procesoru omezeno Zenerovou diodou D2 na cca 5V. 177 procesoru omezeno Zenerovou diodou D2 na cca 5V.
178 </p> 178 </p>
179   179  
180 <p> 180 <p>
181 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)
182 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
183 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ě
184 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.
185 </p> 185 </p>
186   186  
187 <p> 187 <p>
188 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
189 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
190 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
191 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
192 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
193 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
194 procesoru. Odpor R8 zajišťuje definovanou úroveň na vstupu, pokud není 194 procesoru. Odpor R8 zajišťuje definovanou úroveň na vstupu, pokud není
195 nic připojeno. 195 nic připojeno.
196 </p> 196 </p>
197   197  
198 <p> 198 <p>
199 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í
200 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í
201 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
202 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,
203 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
204 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
205 čá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
206 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.
207 </p> 207 </p>
208   208  
209 <h3> NF Zesilovač </h3> 209 <h3> NF Zesilovač </h3>
210   210  
211 <p> 211 <p>
212 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í.
213 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.
214 Tranzistor Q3 je buzen vývodem RA4 procesoru PIC. 214 Tranzistor Q3 je buzen vývodem RA4 procesoru PIC.
215 </p> 215 </p>
216   216  
217 <h2> Mechanická konstrukce </h2> 217 <h2> Mechanická konstrukce </h2>
218   218  
219 <p> 219 <p>
220 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
221 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
222 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.
223 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
224 jako regulátor hlasitosti. 224 jako regulátor hlasitosti.
225 </p> 225 </p>
226   226  
227 <h2> Osazení a oživení </h2> 227 <h2> Osazení a oživení </h2>
228   228  
229 <h3> Osazení </h3> 229 <h3> Osazení </h3>
230   230  
231 <p> 231 <p>
232 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
233 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,
234 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
235 procesoru. 235 procesoru.
236 </p> 236 </p>
237   237  
238 <h3> Oživení </h3> 238 <h3> Oživení </h3>
239   239  
240 <p> 240 <p>
241 Nejprve zkontrolujeme polaritu ochranné diody D1 a vizuálně zkontrolujeme 241 Nejprve zkontrolujeme polaritu ochranné diody D1 a vizuálně zkontrolujeme
242 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
243 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.
244 </p> 244 </p>
245   245  
246 <p> 246 <p>
247 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
248 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
249 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>
250 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
251 žá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
252 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í
253 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
254 (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.
255 </p> 255 </p>
256   256  
257 <p> 257 <p>
258 Pokud nehraje je třeba zkontrolovat toto: 258 Pokud nehraje je třeba zkontrolovat toto:
259 </p> 259 </p>
260   260  
261 <ul> 261 <ul>
262 <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>
263 <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>
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 fungují tlačítka – napětí na RB4 a RB7 klesá k&nbsp;nule při stisku tlačítka, </li>
265 <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>
266 <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>
267 <li> zda spíná Q3 napětí pro zesilovač U2. </li> 267 <li> zda spíná Q3 napětí pro zesilovač U2. </li>
268 </ul> 268 </ul>
269   269  
270 <p> 270 <p>
271 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.
272 </p> 272 </p>
273   273  
274 <p> 274 <p>
275 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>
276 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í,
277 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
278 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.
279 Zbytek oživování je stejný. 279 Zbytek oživování je stejný.
280 </p> 280 </p>
281   281  
282 <p> 282 <p>
283 <img width=432 height=346 src="Pictures/image002.jpg" 283 <img width=432 height=346 src="Pictures/image002.jpg"
284 alt="Osazovák"> 284 alt="Osazovák">
285 </p> 285 </p>
286   286  
287 <table class="Soupiska"> 287 <table class="Soupiska">
288 <tr> 288 <tr>
289 <th> Reference </th> 289 <th> Reference </th>
290 <th> Hodnota </th> 290 <th> Hodnota </th>
291 <th> Reference </th> 291 <th> Reference </th>
292 <th> Hodnota </th> 292 <th> Hodnota </th>
293 </tr> 293 </tr>
294 <tr> 294 <tr>
295 <th colspan="2"> Odpory </th> 295 <th colspan="2"> Odpory </th>
296 <th colspan="2"> Polovodiče a krystaly </th> 296 <th colspan="2"> Polovodiče a krystaly </th>
297 </tr> 297 </tr>
298 <tr> 298 <tr>
299 <td> R15 </td> 299 <td> R15 </td>
300 <td> 10 </td> 300 <td> 10 </td>
301 <td> D1 </td> 301 <td> D1 </td>
302 <td> 1N4005 </td> 302 <td> 1N4005 </td>
303 </tr> 303 </tr>
304 <tr> 304 <tr>
305 <td> R4,R1 </td> 305 <td> R4,R1 </td>
306 <td> 680 </td> 306 <td> 680 </td>
307 <td> D3,D4,D5,D6 </td> 307 <td> D3,D4,D5,D6 </td>
308 <td> 1N4148 </td> 308 <td> 1N4148 </td>
309 </tr> 309 </tr>
310 <tr> 310 <tr>
311 <td> R11 </td> 311 <td> R11 </td>
312 <td> 2k2 </td> 312 <td> 2k2 </td>
313 <td> D2 </td> 313 <td> D2 </td>
314 <td> BZX83V005.1 </td> 314 <td> BZX83V005.1 </td>
315 </tr> 315 </tr>
316 <tr> 316 <tr>
317 <td> R2,R3,R5,R6,R9,R10,R13,R14 </td> 317 <td> R2,R3,R5,R6,R9,R10,R13,R14 </td>
318 <td> 10k </td> 318 <td> 10k </td>
319 <td> Q1 </td> 319 <td> Q1 </td>
320 <td> BC327 </td> 320 <td> BC327 </td>
321 </tr> 321 </tr>
322 <tr> 322 <tr>
323 <td> R7,R12 </td> 323 <td> R7,R12 </td>
324 <td> 27k </td> 324 <td> 27k </td>
325 <td> Q2 </td> 325 <td> Q2 </td>
326 <td> BC337 </td> 326 <td> BC337 </td>
327 </tr> 327 </tr>
328 <tr> 328 <tr>
329 <td> R8 </td> 329 <td> R8 </td>
330 <td> 100k </td> 330 <td> 100k </td>
331 <td> Q3 </td> 331 <td> Q3 </td>
332 <td> BC640 </td> 332 <td> BC640 </td>
333 </tr> 333 </tr>
334 <tr> 334 <tr>
335 <th colspan="2"> Odporové trimry </th> 335 <th colspan="2"> Odporové trimry </th>
336 <td> U1 </td> 336 <td> U1 </td>
337 <td> PIC16F819-I/P </td> 337 <td> PIC16F819-I/P </td>
338 </tr> 338 </tr>
339 <tr> 339 <tr>
340 <td> P1 </td> 340 <td> P1 </td>
341 <td> 10k </td> 341 <td> 10k </td>
342 <td> U2 </td> 342 <td> U2 </td>
343 <td> LM386 </td> 343 <td> LM386 </td>
344 </tr> 344 </tr>
345 <tr> 345 <tr>
346 <th colspan="2"> Kondenzátory </th> 346 <th colspan="2"> Kondenzátory </th>
347 <td> X1 </td> 347 <td> X1 </td>
348 <td> 20MHz </td> 348 <td> 20MHz </td>
349 </tr> 349 </tr>
350 <tr> 350 <tr>
351 <td> C4,C5 </td> 351 <td> C4,C5 </td>
352 <td> 22pF </td> 352 <td> 22pF </td>
353 <th colspan="2"> Mechanické součásti </th> 353 <th colspan="2"> Mechanické součásti </th>
354 </tr> 354 </tr>
355 <tr> 355 <tr>
356 <td> C14 </td> 356 <td> C14 </td>
357 <td> 4n7 </td> 357 <td> 4n7 </td>
358 <td> SW1,SW2,SW3,SW4 </td> 358 <td> SW1,SW2,SW3,SW4 </td>
359 <td> P-B1720 </td> 359 <td> P-B1720 </td>
360 </tr> 360 </tr>
361 <tr> 361 <tr>
362 <td> C3,C6,C7,C8,C9 </td> 362 <td> C3,C6,C7,C8,C9 </td>
363 <td> 10nF </td> 363 <td> 10nF </td>
364 <td> J1,J2 </td> 364 <td> J1,J2 </td>
365 <td> JUMP3 </td> 365 <td> JUMP3 </td>
366 </tr> 366 </tr>
367 <tr> 367 <tr>
368 <td> C15,C16 </td> 368 <td> C15,C16 </td>
369 <td> 33nF </td> 369 <td> 33nF </td>
370 <td> J3 </td> 370 <td> J3 </td>
371 <td> JUMP5 </td> 371 <td> JUMP5 </td>
372 </tr> 372 </tr>
373 <tr> 373 <tr>
374 <td> C1,C2,C10 </td> 374 <td> C1,C2,C10 </td>
375 <td> 100nF </td> 375 <td> 100nF </td>
376 <td> J5 </td> 376 <td> J5 </td>
377 <td> JUMP2 </td> 377 <td> JUMP2 </td>
378 </tr> 378 </tr>
379 <tr> 379 <tr>
380 <td> C13 </td> 380 <td> C13 </td>
381 <td> 1M/63V </td> 381 <td> 1M/63V </td>
382 <td> J6 </td> 382 <td> J6 </td>
383 <td> PIC_ISP </td> 383 <td> PIC_ISP </td>
384 </tr> 384 </tr>
385 <tr> 385 <tr>
386 <td> C12 </td> 386 <td> C12 </td>
387 <td> 47uF/16V </td> 387 <td> 47uF/16V </td>
388 <td> J4 </td> 388 <td> J4 </td>
389 <td> DB9M_90 </td> 389 <td> DB9M_90 </td>
390 </tr> 390 </tr>
391 <tr> 391 <tr>
392 <td> C11,C17 </td> 392 <td> C11,C17 </td>
393 <td> 330uF/16V </td> 393 <td> 330uF/16V </td>
394 <td> </td> 394 <td> </td>
395 <td> </td> 395 <td> </td>
396 </tr> 396 </tr>
397 </table> 397 </table>
398   398  
399 <h1> Trocha hudební teorie </h1> 399 <h1> Trocha hudební teorie </h1>
400   400  
401 <p> 401 <p>
402 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
403 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ý)
404 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
405 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.
406 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
407 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
408 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í.
409 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,
410 že lidský sluch není dokonalý. 410 že lidský sluch není dokonalý.
411 </p> 411 </p>
412   412  
413 <p> 413 <p>
414 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
415 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
416 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ů.
417 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
418 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 .
419 </p> 419 </p>
420   420  
421 <p> 421 <p>
422 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.
423 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
424 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í
425 frekvence poloviční. 425 frekvence poloviční.
426 </p> 426 </p>
427   427  
428 <table> 428 <table>
429 <tr> 429 <tr>
430 <th> ↓ Tón </th> 430 <th> ↓ Tón </th>
431 <th colspan="8" class="Center"> Frekvence [Hz]</th> 431 <th colspan="8" class="Center"> Frekvence [Hz]</th>
432 </tr> 432 </tr>
433 <tr> 433 <tr>
434 <th> Oktáva →</th> 434 <th> Oktáva →</th>
435 <th class="Center"> 0 </th> 435 <th class="Center"> 0 </th>
436 <th class="Center"> 1 </th> 436 <th class="Center"> 1 </th>
437 <th class="Center"> 2 </th> 437 <th class="Center"> 2 </th>
438 <th class="Center"> 3 </th> 438 <th class="Center"> 3 </th>
439 <th class="Center"> 4 </th> 439 <th class="Center"> 4 </th>
440 <th class="Center"> 5 </th> 440 <th class="Center"> 5 </th>
441 <th class="Center"> 6 </th> 441 <th class="Center"> 6 </th>
442 <th class="Center"> 7 </th> 442 <th class="Center"> 7 </th>
443 </tr> 443 </tr>
444 <tr> 444 <tr>
445 <th> C </th> 445 <th> C </th>
446 <td> 32,70 </td> 446 <td> 32,70 </td>
447 <td> 65,41 </td> 447 <td> 65,41 </td>
448 <td> 130,8 </td> 448 <td> 130,8 </td>
449 <td> 261,6 </td> 449 <td> 261,6 </td>
450 <td> 523,3 </td> 450 <td> 523,3 </td>
451 <td> 1046,5 </td> 451 <td> 1046,5 </td>
452 <td> 2093,0 </td> 452 <td> 2093,0 </td>
453 <td> 4186,0 </td> 453 <td> 4186,0 </td>
454 </tr> 454 </tr>
455 <tr> 455 <tr>
456 <th> Cis </th> 456 <th> Cis </th>
457 <td> 34,65 </td> 457 <td> 34,65 </td>
458 <td> 69,30 </td> 458 <td> 69,30 </td>
459 <td> 138,6 </td> 459 <td> 138,6 </td>
460 <td> 277,2 </td> 460 <td> 277,2 </td>
461 <td> 554,4 </td> 461 <td> 554,4 </td>
462 <td> 1108,7 </td> 462 <td> 1108,7 </td>
463 <td> 2217,5 </td> 463 <td> 2217,5 </td>
464 <td> 4434,9 </td> 464 <td> 4434,9 </td>
465 </tr> 465 </tr>
466 <tr> 466 <tr>
467 <th> D </th> 467 <th> D </th>
468 <td> 36,71 </td> 468 <td> 36,71 </td>
469 <td> 73,42 </td> 469 <td> 73,42 </td>
470 <td> 146,8 </td> 470 <td> 146,8 </td>
471 <td> 293,7 </td> 471 <td> 293,7 </td>
472 <td> 587,3 </td> 472 <td> 587,3 </td>
473 <td> 1174,7 </td> 473 <td> 1174,7 </td>
474 <td> 2349,3 </td> 474 <td> 2349,3 </td>
475 <td> 4698,6 </td> 475 <td> 4698,6 </td>
476 </tr> 476 </tr>
477 <tr> 477 <tr>
478 <th> Dis </th> 478 <th> Dis </th>
479 <td> 38,89 </td> 479 <td> 38,89 </td>
480 <td> 77,78 </td> 480 <td> 77,78 </td>
481 <td> 155,6 </td> 481 <td> 155,6 </td>
482 <td> 311,1 </td> 482 <td> 311,1 </td>
483 <td> 622,3 </td> 483 <td> 622,3 </td>
484 <td> 1244,5 </td> 484 <td> 1244,5 </td>
485 <td> 2489,0 </td> 485 <td> 2489,0 </td>
486 <td> 4978,0 </td> 486 <td> 4978,0 </td>
487 </tr> 487 </tr>
488 <tr> 488 <tr>
489 <th> E </th> 489 <th> E </th>
490 <td> 41,20 </td> 490 <td> 41,20 </td>
491 <td> 82,41 </td> 491 <td> 82,41 </td>
492 <td> 164,8 </td> 492 <td> 164,8 </td>
493 <td> 329,6 </td> 493 <td> 329,6 </td>
494 <td> 659,3 </td> 494 <td> 659,3 </td>
495 <td> 1318,5 </td> 495 <td> 1318,5 </td>
496 <td> 2637,0 </td> 496 <td> 2637,0 </td>
497 <td> 5274,0 </td> 497 <td> 5274,0 </td>
498 </tr> 498 </tr>
499 <tr> 499 <tr>
500 <th> F </th> 500 <th> F </th>
501 <td> 43,65 </td> 501 <td> 43,65 </td>
502 <td> 87,31 </td> 502 <td> 87,31 </td>
503 <td> 174,6 </td> 503 <td> 174,6 </td>
504 <td> 349,2 </td> 504 <td> 349,2 </td>
505 <td> 698,5 </td> 505 <td> 698,5 </td>
506 <td> 1396,9 </td> 506 <td> 1396,9 </td>
507 <td> 2793,8 </td> 507 <td> 2793,8 </td>
508 <td> 5587,7 </td> 508 <td> 5587,7 </td>
509 </tr> 509 </tr>
510 <tr> 510 <tr>
511 <th> Fis </th> 511 <th> Fis </th>
512 <td> 46,25 </td> 512 <td> 46,25 </td>
513 <td> 92,50 </td> 513 <td> 92,50 </td>
514 <td> 185,0 </td> 514 <td> 185,0 </td>
515 <td> 370,0 </td> 515 <td> 370,0 </td>
516 <td> 740,0 </td> 516 <td> 740,0 </td>
517 <td> 1480,0 </td> 517 <td> 1480,0 </td>
518 <td> 2960,0 </td> 518 <td> 2960,0 </td>
519 <td> 5919,9 </td> 519 <td> 5919,9 </td>
520 </tr> 520 </tr>
521 <tr> 521 <tr>
522 <th> G </th> 522 <th> G </th>
523 <td> 49,00 </td> 523 <td> 49,00 </td>
524 <td> 98,00 </td> 524 <td> 98,00 </td>
525 <td> 196,0 </td> 525 <td> 196,0 </td>
526 <td> 392,0 </td> 526 <td> 392,0 </td>
527 <td> 784,0 </td> 527 <td> 784,0 </td>
528 <td> 1568,0 </td> 528 <td> 1568,0 </td>
529 <td> 3136,0 </td> 529 <td> 3136,0 </td>
530 <td> 6271,9 </td> 530 <td> 6271,9 </td>
531 </tr> 531 </tr>
532 <tr> 532 <tr>
533 <th> Gis </th> 533 <th> Gis </th>
534 <td> 51,91 </td> 534 <td> 51,91 </td>
535 <td> 103,83 </td> 535 <td> 103,83 </td>
536 <td> 207,7 </td> 536 <td> 207,7 </td>
537 <td> 415,3 </td> 537 <td> 415,3 </td>
538 <td> 830,6 </td> 538 <td> 830,6 </td>
539 <td> 1661,2 </td> 539 <td> 1661,2 </td>
540 <td> 3322,4 </td> 540 <td> 3322,4 </td>
541 <td> 6644,9 </td> 541 <td> 6644,9 </td>
542 </tr> 542 </tr>
543 <tr> 543 <tr>
544 <th> A </th> 544 <th> A </th>
545 <td> 55 </td> 545 <td> 55 </td>
546 <td> 110 </td> 546 <td> 110 </td>
547 <td> 220 </td> 547 <td> 220 </td>
548 <td> <b>440</b> </td> 548 <td> <b>440</b> </td>
549 <td> 880 </td> 549 <td> 880 </td>
550 <td> 1760 </td> 550 <td> 1760 </td>
551 <td> 3520 </td> 551 <td> 3520 </td>
552 <td> 7040 </td> 552 <td> 7040 </td>
553 </tr> 553 </tr>
554 <tr> 554 <tr>
555 <th> Ais </th> 555 <th> Ais </th>
556 <td> 58,27 </td> 556 <td> 58,27 </td>
557 <td> 116,54 </td> 557 <td> 116,54 </td>
558 <td> 233,1 </td> 558 <td> 233,1 </td>
559 <td> 466,2 </td> 559 <td> 466,2 </td>
560 <td> 932,3 </td> 560 <td> 932,3 </td>
561 <td> 1864,7 </td> 561 <td> 1864,7 </td>
562 <td> 3729,3 </td> 562 <td> 3729,3 </td>
563 <td> 7458,6 </td> 563 <td> 7458,6 </td>
564 </tr> 564 </tr>
565 <tr> 565 <tr>
566 <th> H </th> 566 <th> H </th>
567 <td> 61,74 </td> 567 <td> 61,74 </td>
568 <td> 123,47 </td> 568 <td> 123,47 </td>
569 <td> 246,9 </td> 569 <td> 246,9 </td>
570 <td> 493,9 </td> 570 <td> 493,9 </td>
571 <td> 987,8 </td> 571 <td> 987,8 </td>
572 <td> 1975,5 </td> 572 <td> 1975,5 </td>
573 <td> 3951,1 </td> 573 <td> 3951,1 </td>
574 <td> 7902,1 </td> 574 <td> 7902,1 </td>
575 </tr> 575 </tr>
576 <tr style='color:gray'> 576 <tr style='color:gray'>
577 <th> ( C ) </th> 577 <th> ( C ) </th>
578 <td> 65,41 </td> 578 <td> 65,41 </td>
579 <td> 130,81 </td> 579 <td> 130,81 </td>
580 <td> 261,6 </td> 580 <td> 261,6 </td>
581 <td> 523,3 </td> 581 <td> 523,3 </td>
582 <td> 1046,5 </td> 582 <td> 1046,5 </td>
583 <td> 2093,0 </td> 583 <td> 2093,0 </td>
584 <td> 4186,0 </td> 584 <td> 4186,0 </td>
585 <td> 8372,0 </td> 585 <td> 8372,0 </td>
586 </tr> 586 </tr>
587 </table> 587 </table>
588   588  
589 <h1> Programové vybavení </h1> 589 <h1> Programové vybavení </h1>
590   590  
591 <h2> Uživatelský návod </h2> 591 <h2> Uživatelský návod </h2>
592   592  
593 <h3> Přehrávání skladeb </h3> 593 <h3> Přehrávání skladeb </h3>
594   594  
595 <p> 595 <p>
596 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.
597 </p> 597 </p>
598   598  
599 <p> 599 <p>
600 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).
601 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
602 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
603 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
604 několik tlačítek najednou dle následující tabulky. 604 několik tlačítek najednou dle následující tabulky.
605 </p> 605 </p>
606   606  
607 <table> 607 <table>
608 <tr> 608 <tr>
609 <th> Číslo skladby </th> 609 <th> Číslo skladby </th>
610 <th> Kombinace tlačítek </th> 610 <th> Kombinace tlačítek </th>
611 <th> Číslo skladby </th> 611 <th> Číslo skladby </th>
612 <th> Kombinace tlačítek </th> 612 <th> Kombinace tlačítek </th>
613 </tr> 613 </tr>
614 <tr> 614 <tr>
615 <td> 1 </td> 615 <td> 1 </td>
616 <td> •&nbsp;o&nbsp;o&nbsp;o </td> 616 <td> •&nbsp;o&nbsp;o&nbsp;o </td>
617 <td> 9 </td> 617 <td> 9 </td>
618 <td> o&nbsp;•&nbsp;o&nbsp;• </td> 618 <td> o&nbsp;•&nbsp;o&nbsp;• </td>
619 </tr> 619 </tr>
620 <tr> 620 <tr>
621 <td> 2 </td> 621 <td> 2 </td>
622 <td> o&nbsp;•&nbsp;o&nbsp;o </td> 622 <td> o&nbsp;•&nbsp;o&nbsp;o </td>
623 <td> 10 </td> 623 <td> 10 </td>
624 <td> o&nbsp;o&nbsp;•&nbsp;• </td> 624 <td> o&nbsp;o&nbsp;•&nbsp;• </td>
625 </tr> 625 </tr>
626 <tr> 626 <tr>
627 <td> 3 </td> 627 <td> 3 </td>
628 <td> o&nbsp;o&nbsp;•&nbsp;o </td> 628 <td> o&nbsp;o&nbsp;•&nbsp;o </td>
629 <td> 11 </td> 629 <td> 11 </td>
630 <td> •&nbsp;•&nbsp;•&nbsp;o </td> 630 <td> •&nbsp;•&nbsp;•&nbsp;o </td>
631 </tr> 631 </tr>
632 <tr> 632 <tr>
633 <td> 4 </td> 633 <td> 4 </td>
634 <td> o&nbsp;o&nbsp;o&nbsp;• </td> 634 <td> o&nbsp;o&nbsp;o&nbsp;• </td>
635 <td> 12 </td> 635 <td> 12 </td>
636 <td> •&nbsp;•&nbsp;o&nbsp;• </td> 636 <td> •&nbsp;•&nbsp;o&nbsp;• </td>
637 </tr> 637 </tr>
638 <tr> 638 <tr>
639 <td> 5 </td> 639 <td> 5 </td>
640 <td> •&nbsp;•&nbsp;o&nbsp;o </td> 640 <td> •&nbsp;•&nbsp;o&nbsp;o </td>
641 <td> 13 </td> 641 <td> 13 </td>
642 <td> •&nbsp;o&nbsp;•&nbsp;• </td> 642 <td> •&nbsp;o&nbsp;•&nbsp;• </td>
643 </tr> 643 </tr>
644 <tr> 644 <tr>
645 <td> 6 </td> 645 <td> 6 </td>
646 <td> •&nbsp;o&nbsp;•&nbsp;o </td> 646 <td> •&nbsp;o&nbsp;•&nbsp;o </td>
647 <td> 14 </td> 647 <td> 14 </td>
648 <td> o&nbsp;•&nbsp;•&nbsp;• </td> 648 <td> o&nbsp;•&nbsp;•&nbsp;• </td>
649 </tr> 649 </tr>
650 <tr> 650 <tr>
651 <td> 7 </td> 651 <td> 7 </td>
652 <td> •&nbsp;o&nbsp;o&nbsp;• </td> 652 <td> •&nbsp;o&nbsp;o&nbsp;• </td>
653 <td> 15 </td> 653 <td> 15 </td>
654 <td> •&nbsp;•&nbsp;•&nbsp;• </td> 654 <td> •&nbsp;•&nbsp;•&nbsp;• </td>
655 </tr> 655 </tr>
656 <tr> 656 <tr>
657 <td> 8 </td> 657 <td> 8 </td>
658 <td> o&nbsp;•&nbsp;•&nbsp;o </td> 658 <td> o&nbsp;•&nbsp;•&nbsp;o </td>
659 <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>
660 </tr> 660 </tr>
661 </table> 661 </table>
662   662  
663 <h3> Programování skladeb </h3> 663 <h3> Programování skladeb </h3>
664   664  
665 <p> 665 <p>
666 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í
667 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
668 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.
669 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
670 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í
671 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
672 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
673 paměti skladeb a skladby bude třeba znovu nahrát. 673 paměti skladeb a skladby bude třeba znovu nahrát.
674 </p> 674 </p>
675   675  
676 <p> 676 <p>
677 Postup pro přechod do programovacího režimu: 677 Postup pro přechod do programovacího režimu:
678 </p> 678 </p>
679   679  
680 <ul> 680 <ul>
681 <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>
682 <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>
683 <li> Připojíme baterii </li> 683 <li> Připojíme baterii </li>
684 <li> Nasadíme propojku J5 </li> 684 <li> Nasadíme propojku J5 </li>
685 <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>
686 </ul> 686 </ul>
687   687  
688 <p> 688 <p>
689 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.
690 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.
691 Ří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
692 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
693 je nutné nastavit časovou prodlevu mezi řádky na cca 100ms. 693 je nutné nastavit časovou prodlevu mezi řádky na cca 100ms.
694 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
695 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
696 znaky odesílané do zvonku byly zobrazované na displeji terminálu. 696 znaky odesílané do zvonku byly zobrazované na displeji terminálu.
697 </p> 697 </p>
698   698  
699 <p> 699 <p>
700 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ý,
701 spojení RX-TX, TX-RX). 701 spojení RX-TX, TX-RX).
702 </p> 702 </p>
703   703  
704 <p> 704 <p>
705 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
706 (Start/Programy/Příslušenství/Komunikace/Hyperterminál). Pokud není, 706 (Start/Programy/Příslušenství/Komunikace/Hyperterminál). Pokud není,
707 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ě
708 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
709 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,
710 žádná, 1, žádné). Dále je třeba nastavit 710 žádná, 1, žádné). Dále je třeba nastavit
711 (Soubor/Vlastnosti/Nastavení/Nastavení ASCII) 711 (Soubor/Vlastnosti/Nastavení/Nastavení ASCII)
712 zpoždění řádků 100ms. 712 zpoždění řádků 100ms.
713 </p> 713 </p>
714   714  
715 <p> 715 <p>
716 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ě
717 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
718 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.
719 Nyní již nic nebrání ručnímu ovládání. 719 Nyní již nic nebrání ručnímu ovládání.
720 </p> 720 </p>
721   721  
722 <p> 722 <p>
723 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
724 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
725 (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
726 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
727 Hyperterminál to neumí. 727 Hyperterminál to neumí.
728 </p> 728 </p>
729   729  
730 <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>
731   731  
732 <p> 732 <p>
733 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.
734 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ů.
735 Text za „//“ je komentář. Komentář může být libovolně dlouhý. 735 Text za „//“ je komentář. Komentář může být libovolně dlouhý.
736 </p> 736 </p>
737   737  
738 <p> 738 <p>
739 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
740 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ší,
741 zvonek  použije jen odpovídající spodní bity čísla. 741 zvonek  použije jen odpovídající spodní bity čísla.
742 </p> 742 </p>
743   743  
744 <table> 744 <table>
745 <tr> 745 <tr>
746 <th> Klíčová slova a&nbsp;parametry </th> 746 <th> Klíčová slova a&nbsp;parametry </th>
747 <th> Meze </th> 747 <th> Meze </th>
748 <th> Význam </th> 748 <th> Význam </th>
749 </tr> 749 </tr>
750 <tr> 750 <tr>
751 <td> <code>PLAY <b>n</b></code> </td> 751 <td> <code>PLAY <b>n</b></code> </td>
752 <td> <code><b>n</b>: 1 .. 15</code> </td> 752 <td> <code><b>n</b>: 1 .. 15</code> </td>
753 <td> Zahraj skladbu <code><b>n</b></code> </td> 753 <td> Zahraj skladbu <code><b>n</b></code> </td>
754 </tr> 754 </tr>
755 <tr> 755 <tr>
756 <td> <code>ERASE</code> </td> 756 <td> <code>ERASE</code> </td>
757 <td> </td> 757 <td> </td>
758 <td> Smaž všechny skladby </td> 758 <td> Smaž všechny skladby </td>
759 </tr> 759 </tr>
760 <tr> 760 <tr>
761 <td> <code>BEGIN <b>n</b></code> </td> 761 <td> <code>BEGIN <b>n</b></code> </td>
762 <td> <code><b>n</b>: 0 .. 7</code> </td> 762 <td> <code><b>n</b>: 0 .. 7</code> </td>
763 <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
764 oktáv nahoru </td> 764 oktáv nahoru </td>
765 </tr> 765 </tr>
766 <tr> 766 <tr>
767 <td> <code>TEST <b>n</b></code> </td> 767 <td> <code>TEST <b>n</b></code> </td>
768 <td> <code><b>n</b>: 0 .. 7</code> </td> 768 <td> <code><b>n</b>: 0 .. 7</code> </td>
769 <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
770 do paměti, ale přehrávány </td> 770 do paměti, ale přehrávány </td>
771 </tr> 771 </tr>
772 <tr> 772 <tr>
773 <td> <code>TEMPO <b>n</b></code> </td> 773 <td> <code>TEMPO <b>n</b></code> </td>
774 <td> <code><b>n</b>: 1 .. 2047</code> </td> 774 <td> <code><b>n</b>: 1 .. 2047</code> </td>
775 <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;
776 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>
777 </tr> 777 </tr>
778 <tr> 778 <tr>
779 <td> <code>PAUSE <b>n</b></code> </td> 779 <td> <code>PAUSE <b>n</b></code> </td>
780 <td> <code><b>n</b>: 1 .. 2047</code> </td> 780 <td> <code><b>n</b>: 1 .. 2047</code> </td>
781 <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;
782 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>
783 </tr> 783 </tr>
784 <tr> 784 <tr>
785 <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>
786 <td> <code><b>a</b>: 0 .. 7<br></code> 786 <td> <code><b>a</b>: 0 .. 7<br></code>
787 <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>
788 <code> G, Gis, A, Ais, H, Space<br></code> 788 <code> G, Gis, A, Ais, H, Space<br></code>
789 <code><b>b</b>: 1 .. 63</code> </td> 789 <code><b>b</b>: 1 .. 63</code> </td>
790 <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
791 uvedeno, použije se poslední hodnota<br> 791 uvedeno, použije se poslední hodnota<br>
792 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
793 <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>
794 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>
795 </tr> 795 </tr>
796 <tr> 796 <tr>
797 <td> <code>END</code> </td> 797 <td> <code>END</code> </td>
798 <td> </td> 798 <td> </td>
799 <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>
800 </tr> 800 </tr>
801 <tr> 801 <tr>
802 <td> / text </td> 802 <td> / text </td>
803 <td> </td> 803 <td> </td>
804 <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>
805 </tr> 805 </tr>
806 <tr> 806 <tr>
807 <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>
808 </tr> 808 </tr>
809 </table> 809 </table>
810   810  
811 <h2> Program </h2> 811 <h2> Program </h2>
812   812  
813 <p> 813 <p>
814 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.
815 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
816 <a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>. 816 <a href="http://www.ccsinfo.com/">http://www.ccsinfo.com</a>.
817 Demoverze podporuje jen vybrané procesory (obvykle několik typů) 817 Demoverze podporuje jen vybrané procesory (obvykle několik typů)
818 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).
819 </p> 819 </p>
820   820  
821 <p> 821 <p>
822 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.
823 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é
824 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%.
825 Některé programové konstrukce také vypadají na první pohled nelogicky, 825 Některé programové konstrukce také vypadají na první pohled nelogicky,
826 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
827 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
828 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.
829 </p> 829 </p>
830   830  
831 <h3> Hlavní program a základní procedury </h3> 831 <h3> Hlavní program a základní procedury </h3>
832   832  
833 <h4>main()</h4> 833 <h4>main()</h4>
834   834  
835 <p> 835 <p>
836 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
837 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
838 programování skladeb. Pokud ano, spustí se procedura Download(). 838 programování skladeb. Pokud ano, spustí se procedura Download().
839 </p> 839 </p>
840   840  
841 <p> 841 <p>
842 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
843 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>,
844 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>
845 přehraje požadovanou skladbu. 845 přehraje požadovanou skladbu.
846 </p> 846 </p>
847   847  
848 <p> 848 <p>
849 Následuje přechod do vypnutého stavu. 849 Následuje přechod do vypnutého stavu.
850 </p> 850 </p>
851   851  
852 <h4>Download()</h4> 852 <h4>Download()</h4>
853   853  
854 <p> 854 <p>
855 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
856 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>
857 (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
858 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
859 znaky za maximální délkou řádky. 859 znaky za maximální délkou řádky.
860 </p> 860 </p>
861   861  
862 <p> 862 <p>
863 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
864 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
865 (procedura <code>Number()</code>). Vyskytne-li se chybné slovo, dojde 865 (procedura <code>Number()</code>). Vyskytne-li se chybné slovo, dojde
866 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
867 pípnutí dojde k&nbsp;chybovému pípnutí. 867 pípnutí dojde k&nbsp;chybovému pípnutí.
868 </p> 868 </p>
869   869  
870 <p> 870 <p>
871 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í,
872 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>
873 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
874 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
875 do paměti FLASH. 875 do paměti FLASH.
876 </p> 876 </p>
877   877  
878 <p> 878 <p>
879 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
880 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>
881 (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>).
882 </p> 882 </p>
883   883  
884 <p> 884 <p>
885 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
886 řá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).
887 </p> 887 </p>
888   888  
889 <h4> Play(), PlayData(), Find()</h4> 889 <h4> Play(), PlayData(), Find()</h4>
890   890  
891 <p> 891 <p>
892 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í
893 začátku zadaného čísla skladby. 893 začátku zadaného čísla skladby.
894 </p> 894 </p>
895   895  
896 <h4> WriteDataInc(), WriteData, ReadData(), Erase() </h4> 896 <h4> WriteDataInc(), WriteData, ReadData(), Erase() </h4>
897   897  
898 <p> 898 <p>
899 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.
900 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.
901 </p> 901 </p>
902   902  
903 <h4> SpecBeep()</h4> 903 <h4> SpecBeep()</h4>
904   904  
905 <p> 905 <p>
906 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
907 <code>Beep</code> a <code>Error</code>. 907 <code>Beep</code> a <code>Error</code>.
908 </p> 908 </p>
909   909  
910 <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>
911   911  
912 <p> 912 <p>
913 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í
914 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ě
915 <code>IntCCP1()</code> se pak ovládá výstupní port. 915 <code>IntCCP1()</code> se pak ovládá výstupní port.
916 </p> 916 </p>
917   917  
918 <p> 918 <p>
919 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
920 č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á.
921 </p> 921 </p>
922   922  
923 <h3> Definice skladeb <code>Data.c</code> </h3> 923 <h3> Definice skladeb <code>Data.c</code> </h3>
924   924  
925 <p> 925 <p>
926 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
927 následující tabulky. 927 následující tabulky.
928 </p> 928 </p>
929   929  
930 <table> 930 <table>
931 <tr> 931 <tr>
932 <th> Slovo </th> 932 <th> Slovo </th>
933 <th> Kód </th> 933 <th> Kód </th>
934 <th> Poznámka </th> 934 <th> Poznámka </th>
935 </tr> 935 </tr>
936 <tr> 936 <tr>
937 <td> <code>BEGIN n</code> </td> 937 <td> <code>BEGIN n</code> </td>
938 <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>
939 <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>
940 </tr> 940 </tr>
941 <tr> 941 <tr>
942 <td> <code>TEMPO n</code> </td> 942 <td> <code>TEMPO n</code> </td>
943 <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>
944 <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>
945 </tr> 945 </tr>
946 <tr> 946 <tr>
947 <td> <code>PAUSE n</code> </td> 947 <td> <code>PAUSE n</code> </td>
948 <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>
949 <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>
950 </tr> 950 </tr>
951 <tr> 951 <tr>
952 <td> <code>o n d</code> </td> 952 <td> <code>o n d</code> </td>
953 <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>
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 <td> Nota <code><b>n</b></code> v&nbsp;oktávě <code><b>o</b></code> délky <code><b>d</b></code> </td>
955 </tr> 955 </tr>
956 <tr> 956 <tr>
957 <td> <code>END</code> </td> 957 <td> <code>END</code> </td>
958 <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>
959 <td> Konec skladeb, prázdná paměť </td> 959 <td> Konec skladeb, prázdná paměť </td>
960 </tr> 960 </tr>
961 </table> 961 </table>
962   962  
963 <p> 963 <p>
964 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í
965 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
966 <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
967 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
968 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.
969 Příklady skladeb napoví vše. 969 Příklady skladeb napoví vše.
970 </p> 970 </p>
971   971  
972 </div> 972 </div>
973   973  
974 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --> 974 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
975 <!-- ============== PATIČKA ============== --> 975 <!-- ============== PATIČKA ============== -->
976 <div class="Footer"> 976 <div class="Footer">
977 <script type="text/javascript"> 977 <script type="text/javascript">
978 <!-- 978 <!--
979 SetRelativePath("../../../../"); 979 SetRelativePath("../../../../");
980 DrawFooter(); 980 DrawFooter();
981 // --> 981 // -->
982 </script> 982 </script>
983 <noscript> 983 <noscript>
984 <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>
985 </noscript> 985 </noscript>
986 </div> 986 </div>
987 <!-- AUTOINCLUDE END --> 987 <!-- AUTOINCLUDE END -->
988   988  
989 </body> 989 </body>
990 </html> 990 </html>