Elektronika, ukázky pro STM8S103F3, plus programování v assembleru. |
|
Ukázka řízení modulu radiopříjímače TEA5767 přes sběrnici i2c.
Zde je modul ovládán pomocí infračerveného čidla, ale určitě není problém
to předělat na ovládání pomocí několika tlačítek. V ukázce níže je ovládání zapnutí/vypnutí a pomocí šipek ladění vpřed/zpět, a to hrubě a jemně.
Výstup z modulu rádia je sluchátkový a modul nedisponuje žádným řízením hlasitosti.
Předpokládá se připojení (stereo) zesilovače, s potenciometry.
Propojení modulů je velmi jednoduché, kromě napájení; infračidlo potřebuje jediný datový vodič a i2c dva (scl, sda). K napájení použijte
konektor mikro USB, který je na desce mikrokontroléru. Infra i modul TDA5767 je napájen z pinu 3,3V.
4 × (Frf + Fif) 4 x (98.2 + 0.225)
PLL = ----------------- například pro 98.2 MHz: ------------------- = 12 015 (0x2EEF)
Fref 0.032768
Frf = požadovaná frekvence (v MHz)
Fif = mezifrekvence, obvykle 225 kHz (0.225 MHz) Fref = referenční krok ladění, 32.768 kHz (0.032768 MHz) výsledek se zaokrouhlí na celé číslo rutina pro zápis, v registru "Y" je PLL pro kmitočet rozhlasové stanice (ladění)
rutina pro čtení
Modul TEA5767 nebsahuje žádné i2c registry, prostě se na sběrnici přímo odešle pět bajtů a zase se z ní může číst. Tím se celá komunikace zjednodušuje. Význam jednotlvých bajtů je popsán v datasheetu TEA5767 Vlastní program i s infra ovladačem a řízením TDA5767 zabírá 692 bajtů. V úspornosti je assembler prostě nepřekonatelný :-) všeobecné informace
Všechny zde uváděné zdrojáky mají stejnou strukturu, jsou vytvořeny podle stejné šablony.
Na prvním řádku každého zdrojáku musí být direktiva stm8/, jinak překlad skončí chybou.
Program má inicializační část (SETUP), kde je nastaven vrchol zásobníku, je vynulována paměť ram, nastaví se rychlost CPU a proběhne základní nastavení použitého hardware,
například UART, CPI, I2C, GPIO, atd. Vyhrazené piny pro UART, SPI, I2C a analogy jsou v této tabulce:
V nekonečné smyčce (LOOP) se pak provádi samotná činnost. Úplně na konci je tabulka vektorů přerušení v segmentu vectit s popisy, které zařízení může přerušení vyvolat. U modulů, které jsem v rámci svých možností odladil a otestoval, jsem vytvořil prográmek, který lze formou copy-paste vytáhnout (buď celý, nebo pouze potřebné kusy kódu) a použít jej v nějaké Vaší aplikaci. Zkopírovat se musí potřebný kód, proměnné v paměti a deklarace konstant (equ).
Na stránkách výrobce ST Microelectronics je ke stažení vývojové prostředí ST Visual develop, utilita
ST Visual Programmer
a dále jsou zde velmí podrobné manuály v PDF (v angličtině) odledně popisu mikrokontroléru a jeho instrukčního souboru.
Dúležité upozornění: Zde presentovaný modul mikrokontroléru má výstupy 5V, 3V3 a GND. Na výstupu 5V ve skutečnosti není 5 voltů, ale vstupní napětí, kterým celý tento modul napájíte, buď přes piny +/-, nebo přes konektor mikroUSB, což může být 4.5 - 15V. Buďte opatrní, co k tomu pinu (5V) připojíte, připojovaný modul můžete tímto zničit. Doporučuji modul napájet výhradně z 5V zdroje. | ||||||||||||||||
|
Elektronika, ukázky pro Arduino a STM8, plus programování v Delphi (Lazarusu).
Všechna zapojení modulů v ukázkách (viz elektrická schémata) pracují s velmi malým napětím 3.3V až 12V a neobsahují návod na napájecí zdroj. Pokud se rozhodnete některé z těchto
zařízení postavit, důrazně doporučuji používat zdroje s výstupním napětím maximálně 12V, podle schválených norem platných v ČR. Autor návodů za případné škody nepřebírá žádnou odpovědnost.
tyto stránky jsou provozovány jako hobby, bez reklam a bez sběru osobních dat (c) 2026 iisivak.xf.cz
|