měřič pulsů s 12F675
Moderátor: Moderátoři
-
Fafejt
měřič pulsů s 12F675
řešil bych to asi tak že bych zapnul časovač kterej by mě po 1 minutě vyvolával přerušení. a mezi tim bych počítal otáčky pomocí přerušení na někerym pinu, po té minutě co se mi vyvolá přerušení od časovače bych zjistil kolik se těch otáček napočítalo. když by to pokleslo pod uřčitou hranici tak sepnu rele.
-
Fafejt
-
Fafejt
Nevím jak nastavit oředděličku timeru aby měly tu správnou frekvenci.
Když nastane přerušení např. hlavní smyčka bude vykonávat nějaký kód,nejprve se vykoná ta část kódu v přerušení ? Vrátí se to zpět do místa kódu hlavní smyčky ze kterého to vyskočilo ? (jsem začátečník)
a když nastane nějaký příznak pro přerušení tak se dokončí poslední vykonávaná instrukce, uloží se návratová adresa a provede se skok na adresu 0004h kde začíná vektor prerušení. až si obsloužíte přerušení tak vymažete příznak a zadáte budto return pro návrat na návratovou adresu ale pak si v programu musíte někde zapnout globální přerušení a nebo se vrátit pomocí retfie což je jakoby return na poslední návratovou adresu akorát že se automaticky povolí globální přerušení.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Atlan píše:co tak inpulzami nabijat kondik a merat napatie na nom. Pouzitim komparatora vyhodnotit pokles otacok
To len tak na okraj
Alebo spustit casovac a ak pretecie tak bol prekroceny cas otacky tj rychlost sa zmensila.
Taky by se k tomu přes procesor dalo připojit PC, nejlépe čtyři jádra a JehoVisty a nějakou malou 100MB aplikací to hlídat a všechno odesílat do Mrkvosoftu....
Ten procesor se nabízí, prográmek je triviální, ale klasickej převodník f/U a komparátor má taky svoje výhody...
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
-
Fafejt
Pro někoho je to triviální záležitost,někdo na to kouká jak divoký prase.Pro mě je to horší,protože mi chybí část znalostí a hlavně zkušenosti s programováním MCU.
Zkusím se s tím nějak poprat...
Fafejt píše:Zkusím se s tím nějak poprat...
Však už jsi to vyřešil. Buď budeš měřit čas mezi impulzy nebo budeš měřit počet impulzů za čas. Od toho se právě odvodilo Časovač/Čítač.
Jak nastavit předděličku najdeš v datasheetu. Pokud budeš mít zálohované důležité registry Status, Wreg, apod., tak se netřeba bát,
že by při návratu z přerušení program selhal. To je celkem jednoduchý program. Ani by nebylo třeba nějakého přerušení.
-
Fafejt
Banda píše:Však už jsi to vyřešil. Buď budeš měřit čas mezi impulzy nebo budeš měřit počet impulzů za čas. Od toho se právě odvodilo Časovač/Čítač.
Jak nastavit předděličku najdeš v datasheetu. Pokud budeš mít zálohované důležité registry Status, Wreg, apod., tak se netřeba bát,
že by při návratu z přerušení program selhal. To je celkem jednoduchý program. Ani by nebylo třeba nějakého přerušení.
Možná teoreticky,ale to je málo.Neni mi jasný,proč ukládat ty důležitý registry.Má to vliv na správnej návrat při přerušení ? Chystám se to psát v MikroPascalu.Impulsy od indukčního snímače jsou dost úzký ,nevím jestli by to program stíhal v hlavní smyčce -proto to ext. přerušení.
CH.
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Pokud si je ze zásobníku nevyzvedneš všechny tak, jak jsi je tam uložil, vrátí se ti program někam jinam, než bys to čekal a budeš (někdy hodiny) přemýšlet, proč se to zbláznilo...
Překladače z vyšších jazyků to většinou dělají automaticky, až na to, že zálohují kde co....
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]