Sari la conținut
ELFORUM - Forumul electronistilor

Ajutor in programarea rfPIC12C509AF


Vizitator elvi-ionut

Postări Recomandate

Ai doua variante:1)Testezi bitul de overflow al timerului. Cand il vezi ca e setat, trimiti bitul. Metoda iroseste o gramada de timp al procului.2)Configurezi sa primesti intrerupere cand timerul se da peste cap (overflow). Procul sare la intrerupere si trimite bitul. Intreruperile iti vor da cadenta de trimitere a bitului.Cirip

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

Top autori în acest subiect

  • cirip

    8

  • Cristiano

    2

  • pavcostel

    1

Salut!

Incearca la http://www.willem.org!

Este un forum cu vechime in programari, cu soft, adaptoare, programator, free sau de cumparat.

Contine si ceva linkuri spre alte programatoare mai simple.

Oricum lista de discutii este f. cuprinzatoare.

 

Cu stima,

Costel

Link spre comentariu
Vizitator elvi-ionut

Multumesc pt link.Cat despre variante cred ca doar prima ramane, pentru ca din cate am citit rfPIC12C509AF nu are implementat sistem de intreruperi.

Link spre comentariu

Am ramas mac! Habar n-aveam si nu mi-am inchipuit ca mai face cineva proc fara intreruperi. Ai dreptate, nu are intreruperi. Hm! Da' bag seama ca nici bit de overflow n-are (sau nu-l vad eu). Cred ca tre' sa faci intarziere ciobaneasca prin numararea oilor sau a ciclilor de ceas, ce ai la indemana. In timpul asta nu mai faci nimic altceva. Chiar sunt curios cum folosesti timerul.Cirip

Link spre comentariu
Vizitator elvi-ionut

As putea folosi secventa ?

 

........... ; initializareloop ...... ; citire de la porturile de intrare..............................btfss TMR0, 1goto loop............; trimit bitbcf TMR0, 1

Si cum as putea sa codez 4 intrari in format ASCI (de ex 0000 -> 30h) pe care apoi sa-l trimit la portul de iesire?

Link spre comentariu

Nu prea cred. Asa cum ai scris testezi bitul 1 (numaratoarea incepe de la 0) a lui TMR0. Bitul 1 clampane de 128 de ori intr-un ciclu complet al lui TMR0. Eu as testa TMR0 daca e zero. Asta se face usor cu TSTF TMR0, apoi faci B(N)Z ... unde vrei. Ce parere ai?Cirip

Link spre comentariu

BZ=Branch if ZeroBNZ=Branch if Non ZeroO folosesti pe aia care iti convine in context.Nu le vei gasi in setul de instructiuni din foaia de catalog. Uita-te in doc asamblorului la sectiunea "12-Bit/14-Bit Instruction Width Pseudo-Instructions "Cirip

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