Neregistrovaný, ale o to známější uživatel fóra Hannibal (známý z tématu o emulátoru EMA51, mikro fotbalu, MCU modulu, Sféry, Helleny-51 (single-board computer), postupu pro crack a LED kostky) byl tak hodný a zaslal mi hotovou konstrukci zvukového generátoru.
Aplikace je mimo jiné výborná demonstrace toho, co všechno dokáže archaický mikrokontrolér AT89C2051 a kolik zvuku se vejde do 2K FLASH.
SOUND GENERATOR V1.00 - Zvukový generátor 1.00
Autorom tejto šikovnej aplikácie bol ing. Markus Stephanopulos z ASYAsoftware, chéma zapojenia pochádza ešte z r.1999 a stiahol som to kedysi z ich internetových stránok. Ide v podstate o jednoduché zapojenie, generujúce rôzne zvuky, ktorých bolo 25. Boli si však dosť podobné – viz. tabuľka pri schéme (napr. alert1,2 a 3 alebo birdie1,2 a 3… atd), co mi pripadalo ako zbytočnosť. Keďže k tomu nebol k dispozícii žiadny autorov súbor (napísaný v ASM alebo C), ale len skompilovaný výpis programu v intel-hex, odmazal som vzhľadom na dobrú znalosť „zdrojáku“ rady-51 pomocou emulátoru EMA-51 zvyšok a vybral som len 12 najlepších. V programe tým pádom vznikli prázdne „FFH“ mapy – tak som previedol niečo ako defragmentáciu (popresúval jednotlivé časti, poprepisoval skoky…), a získal som súvislú – prázdnu časť do ktorej sa vošla rutina, prehrávajúca skladby a tri pesničky, ktoré sa mi páčili. Pôvodné názvy zvukov a názvy mnou pridaných melódií sú v tabuľke na obr.1.
Schéma zapojenia (obr.1) je veľmi jednoduchá, zvládne ju každý začiatočník. Tlačidlom prehrávame zvuk, ktorý si zvolíme kombináciou H / L úrovní na vstupoch označených číslami „1 - 4“. Vstupy označené písmenami „A - B“ určujú, koľkokrát sa má vybraný zvuk / skladba prehrať. Tlačidlo reaguje až na uvolnenie. Zapojenie pracuje od 3V (2,7V) do 6V, ja som vlastný vyrobený prototyp (obr.2) napájal z 5V stabilizátora LM7805. Tranzistor vyhovuje akýkoľvek P-N-P, v mojom prípade to bol zo starých dosiek plošných spojov vyprostený KFY18. V pôvodnej schéme je uvedená hodnota repráka až 75 ohmů - vyriešil som to spojením odporu 68ohm / 0,25W so 4ohm reproduktorom a tranzistor bol i pri dlhšom hraní úplne studený, takže to bolo značne (až zbytočne) predimenzované.
Kvalita zvuku (hlavne pri skladbách) je dosť ostrá, pretože MCU nedokáže produkovať sínusovky, ale zvuk je tvorený impulzami rôznej hustoty, ktorými MCU vytvára zvuky. Ich kvalitu je možné ešte upraviť pripojením 33n – 100n kondenzátora paralelne k reproduktoru. V prípade použitia zapojenia ako melodický zonček doporučujem nahradiť tlačidlo optočlenom, aby sa eliminovalo rušenie indukujúce sa do drátov. Súbor „ukazky.mp3“ obsahuje zostrih zvukov z generátoru nahrávaných mikrofónom notebooku a súbor Sound_Generator_v1.00.HEX program pre AT89c2051.
Príjemnú zábavu!
sound_generator_v1_00-stavebna_dokumentacia.pdf (243 KB)
sound_generator_v1_00-ukazky_zvuku.mp3 (2.21 MB)
sound_generator_v1_00-program.hex (5.65 KB)