PIC p16F877A-měření analogového napětí na AN0/1 včetně sleep

Dobrý den mám problém s projektem muže mi někdo poradit prosím.Programujeme v MPlabu.

a) Pokud je na vstupu AN1 napětí větší něž 1,5 V, svítí LED1. Program musí využívat SLEEP
režim v době měření analogového napětí.

b) Pokud je na vstupu AN0 signál o rozkmitu alespoň 2,5 V (minimální frekvence bude 100 Hz a
maximální frekvence 5 kHz, ať se vám to dobře testuje, mimo tyto limity program nemusí fungovat),
piezo 6 x pípne o frekvenci 2 kHz a poměrem 1:1 zvuk:mezera. Celková doba pípání (všech 6
pípnutí včetně mezer) je 1 sekunda.

c) Pokud je na vstupu AN0 signál o rozkmitu odpovídající natočení potenciometru (plné = 5V) a
frekvenci 500 Hz až 1000 Hz, piezo 6 x pípne o frekvenci 2 kHz a poměrem 1:1 zvuk:mezera.
Celková doba pípání (všech 6 pípnutí včetně mezer) je 1 sekunda. V době pípání se vstupní signál
neměří. Program musí využívat sleep režim pro měření analogového napětí, a CCP modul pro
generování pípnutí.

No tak Acko bych z casti mel ale stale mi nefunguje to mereni a overeni hodnoty 1,5V.WATCHDOG mám ale už spuštěný v režimu Sleep ale stále mi to nerozsvítí led při 1,5V ale vždy při jiném napětí :frowning:

:arrow_right: administrator: přejmenováno z "Programovani PIC p16F877A"

Ahoj,

můj názor je, že watchdog není úplně to pravé (to je jen poslední záchrana, když zabloudí program), ale připouštím že i to funguje.
Spíš bych povolil přerušení od AD převodníku a z režimu sleep tak vyskočíš hned, když převod skončí.
Jestli se LED rozsvítí při jiné hodnotě napětí, tak musíš změnit hodnotu v programu, se kterou porovnáváš výsledek AD převodu. Popř. zkontrolovat nastavení reference (taky by se hodilo uvést typ procesoru :slight_smile:

jinak - chodím sem sporadicky, tak nečekej moc aktivní komunikaci.

Ten v nadpisu ti nestačí? :smiley:

Hned jsem věděl, že když v průběhu psaní zazvoní telefon, skončí to špatně :frowning:
Tímto se hluboce omlouvám a slibuju, že už nikdy …