logo

zpět na hlavní menu

úvod download časovač osc časovač k Minolta A200 odpájení SMD stavíme Biprog úprava magnetofonu kond. mikrofon různé měřící doplňky plošné spoje různé zdroje oprava TV ovladače LED baterka LED světlo ke kolu grafy a vzorce antény vysílač AM různé

fotky

stavba domečku

mail:
info@vaelektronik.cz
pozadí

Zde si můžete ztáhnout:


Dva programy z dávných dob, kdy jsem občas něco napsal v Q-basicu pod DOSem.

Pod Windows XP jsem měl problém programy spustit, kupodivu pod Windows 7 se při spuštění objeví dosovské okno a programy tam běží. Jen je potřeba nastavit velikost toho okna.

Program pro optimalizaci odporových děličů hledá pro zadaný dělicí poměr takové hodnoty odporů z řady E24, které nejvíce vyhovují zadanému dělicímu poměru. K tomu využívá nerovnoměrného kroku hodnot v řadě. Po zadání dvou napětí program nabízí ty hodnoty rezistorů, které se požadovanému poměru nejvíce blíží. Z nich je možné vybírat např. podle požadovaného odporu celého děliče.

Program vypočítá podle zadaného poměru "vzdálenost" obou hodnot odporů v řadě E24 a nabízí všechny dělící poměry, které tuto vzdálenost mají. Např. pro dělící poměr 1:1.5 to bude 1 a 1.5, ale i 1.1 a 1.6, 2.2 a 1.8 atd. Pokud se rozhodneme pro jinou vzdálenost mezi hodnotami v řadě, můžeme ji zvyšovat a snižovat. Program nám opět nabídne všech 24 kombinací s vyčíslením skutečného dělícího poměru a odchylky od zadaného poměru.

Původní program (psaný v Q basicu a chodící pod dosem) je ke stažení zde. program dělič

Protože zdrojový text jsem kdysi uveřejnil v PE, našel se i takový dobrák, co to přepsal do "lidštější" podoby pod windows. Program pana Juraje Líšky je např. u pana Belzy.

Podobný program, ale mnohem chytřejší (počítá i zatížený dělič a kombinace odporů), najdete u pana Tomáše Tichého.

Program pro minimalizaci příkonu procesoru AT89C2051 hledá optimální kmitočet krystalu, který dává při zadané průměrné výpočetní rychlosti minimální spotřebu. Optimalizace je vhodná především u zařízení s bateriovým napájením. Optimalizace předpokládá pravidelné střídání aktivního režimu a režimu IDL. Procesor nedosáhne minimální spotřebu při maximálním využití výpočetní rychlosti a nízkém kmitočtu krystalu, ale při rychlejším taktování a pravidelném střídání aktivního režimu a úsporného režimu IDL. Údaje o závislosti spotřeby na kmitočtu a napájecím napětí byly získány měřením na několika kusech procesorů z různých výrobních sérií. V pozdějších verzích datasheetu už tyto údaje výrobce uváděl.

Program je ke stažení zde, zase chodí pod DOSem. program příkon

Další programy už pro procesory 51 - nebo ani ty už za chvíli nebudou?

Komunikace procesorů řady 51 po jednom drátu je určena k předávání menšího množství dat mezi dvěma procesory řady 51 v případě, že není k dispozici volný sériový kanál. Typické použití je pro přenos proměnných u víceprocesorových systémů. Program využívá obousměrné vlastnosti portů procesorů řady 51. Procesory musí být spojeny přímo, bez oddělovacích stupňů. Přenos předpokládá pevnou délku přenášených dat a základní verze programu je napsána pro jednosměrný přenos. Tento přenos je použit také v modulu DCF-S1.

Přenos je synchronní a je časován pouze délkou (počtem strojových cyklů) instrukcí. Přenos jednoho bitu trvá 5 strojových cyklů a mezera mezi bajty je prodloužena o dalších 5 strojových cyklů. Podmínkou použití programu je stejný kmitočet krystalů obou procesorů. Program je též možné přidáním zpoždění upravit pro krystal s násobkem kmitočtu druhého procesoru. Program není bez úprav použitelný pro procesory s menším počtem strojových cyklů některých instrukcí. Pro usnadnění dalšího vývoje jsou v přijímacím programu zabudována chybová hlášení přenášená přes ACC. Přenášená data jsou proti chybám chráněna kontrolním součtem.

Vysílací program a přijímací program je ke stažení zde. program komunikace 51

Test obsazení paměti RAM je krátký prográmek vhodný v případě, kdy si nejsme jisti nároky programu na velikost paměti RAM. U procesorů řady 51 je někdy obtížně odhadnutelná maximální velikost stacku. Při zapnutí procesoru je nutné celou paměť zaplnit nulami. To však C-compilery větinou dělají. Program po spuštění zjistí nejnižší adresu s nulovou hodnotou a předpokládá, že toto je konec používané oblasti RAM. Zjištěná adresa je po návratu v ACC.

Program je ke stažení zde. program paměť 51

Čtení teplotního čidla SMT160-30-92 procesorem AT89C2051 pokud má být přesné, není zas tak jednoduché, jak by se mohlo na první pohled zdát. Pro přesné určení začátku a konce periody čidla je nutné použít přerušení. Nejrychlejší odezva na přerušení je v případě, že se procesor nachází ve stavu IDL a není nutné tedy čekat, a se nějaká instrukce dokončí. První prováděnou instrukcí v přeruení musí být sputění/zastavení obou časovačů. Jeden z časovačů pracuje jako hradlovaný vstupem INT a druhý měří celou dobu periody. Protože přerušení je aktivováno sestupnou hranou a hradlovaný časovač měří čas při úrovni H na vstupu INT, není měření zkresleno dobou odezvy na přerušení. Druhý čítač sice začne o dva strojové cykly později, ale též o 2 cykly později skončí a perioda je opět změřena přesně.
Dosažitelná přesnost měření závisí na počtu period časovače za periodu čidla. Nejhorší případ nastane při maximálním kmitočtu čidla 4 KHz a minimálním kmitočtu krystalu např. 2,4 MHz. Časovač načítá kmitočet 200 KHz a na jednu periodu čidla vychází 50 period čítače. Při závislosti čidla 0,0047 periody na stupeň vychází 0,235 dílku na stupeň, nebo 4,26 stupně na dílek. Při tom v důsledku nesynchronního chodu teplotního čidla s časovačem je nutné počítat s "čítačovým" efektem, kdy první a poslední měřená perioda není zachycena celá a údaj se mění o +/- jeden dílek. Pro zvýšení přesnosti je nutné zvětit počet měřených period čidla a kmitočet krystalu. Při 12 periodách čidla a s krystalem 11.059 MHz vychází ji 13 dílků na stupeň. Musíme vak počítat s větší kvantizační chybou, protože časovač měřící čas úrovně H čidla se za dobu měření spustí a zastaví 12x.

Po provedeném výpočtu dostaneme údaj, který se neustále mění. Proto je vhodné měření zprůměrovat z více hodnot a do výstupu zařadit malou hysterezi. Potom je údaj teploměru zcela stabilní.

Program vzhledem k toleranci čidel +/- 0,7 stupně ještě čte dvě propojky, kterými lze zavádět korekci +/- 0,5 stupně. Program byl zkoušen pro kmitočty krystalů od 3,6864 do 19,6608 MHz. Kmitočet čidla byl cca 2 KHz. Při minimálním kmitočtu krystalu ukazoval teploměr o 1 stupeň více, linearita testována nebyla.
Program je zde. program teploměr 51

DCF čítač - program a dokumentace

Čítač je synchronizovaný normálovým kmitočtem DCF77. Měří kmitočet i kmitočtovou odchylku od dříve změřeného kmitočtu a má 8 místný LED displej. Vzhledem k vyššímu max. vstupnímu kmitočtu má čítač aktivní sondu s výstupem impedančně přizpůsobeným k šňůře. Při použití děličových sond se příslušný dělící poměr nastaví propojkami v konektoru sondy.

Podrobný popis, plná verze programu a hotový přístroj je v komerční části stránky.

Je též k dispozici volně šiřitelná verze programu čítače bez přijímače DCF. Omezená verze programu je společně s dokumentací ke ztažení zde.
program čítač 51
Plošné spoje a schemata jsou ve formě bitmap, rozlišení plošných spojů je 300 dpi.

generátor synchronizovaný na DCF - dokumentace

Generátor je synchronizovaný normálovým kmitočtem DCF77. Může mít 15 nebo 19,6608 MHz. Generátor dosahuje přesnost 0,1 ppm.

Program a nabídka hotového přístroje je v komerční části stránky.

Dokumentace je ke ztažení zde.
program čítač 51
Plošné spoje a schemata jsou ve formě bitmap, rozlišení plošných spojů je 300 dpi.