Sari la conținut
ELFORUM - Forumul electronistilor

ajutor cod pentru pic


critix

Postări Recomandate

Salutare.

 

Doresc sa fac pt un pic 12f675 un cod in care un port sa il tin in high 10 min la aparitia unei alarme (daca alarma dispare mai repede de 10 min, atunci il trec in low), apoi sa il pun in low.

o parte din cod unde nu stiu cum sa fac:

alarmm:    If alarma = 1 Then        Repeat             High RELEU        Until alarma = 0 or ???? daca a trecut timpul de 10 min    EndIfReturn
alarma este un pin din pic care este in high daca este alarma, low daca nu mai este.

Ma puteti ajuta sa imi spuneti ce ar trebui (cum ar trebui) sa verific daca au trecut 10 minute?

Multumesc

Link spre comentariu
  • Răspunsuri 3
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • critix

    2

  • francezu

    1

  • 10vid

    1

Top autori în acest subiect

Salut!Foloseste un timer, pe care-l configurezi sa faca overflow la o perioada de timp convenabila. Activezi intreruperea generata de overflow-ul timer-ului respectiv, si in rutina de intrerupere incrementezi un contor. Apoi in main testezi intrarea de alarma si cand intrarea este pe 1 logic, resetezi contorul si accesezi o rutina/bucla separata. In aceasta rutina setezi iesirea si astepti disparitia alarmei sau expirarea timpului de alarmare(verifici valoarea contorului).

Link spre comentariu

Mersi, dar problema e urmatoarea: nu stiu cum sa fac exact... sunt mai la inceput cu pic-urile....Daca ai putea (si ai avea timp) sa imi faci un exemplu... daca poti in picbasic sau proton... stiu ca is foarte multe conditii si cereri din partea mea...Multumesc anticipat.

Link spre comentariu
  • 2 săptămâni mai târziu...

Ia de aici niste pseudo cod (sorry, nu stiu picbasic sau microC) care nu foloseste intreruperi:

 

main:if (ALARMA = 0) then goto mainRELEU = 1for i = 1 to 600       //10 min.  delay (1 sec.)  if (ALARMA=0) then {RELEU = 0; goto main}next iRELEU = 0asteapta:if (ALARMA = 1) then goto asteapta   // asteptam sa dispara vechea alarma care depaseste 10 mingoto main

Pentru o acuratete mai mare, se poate modifica valoarea contorului si a delay-ului (ex: 6000 si 0.1 sec.)

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări