Sari la conținut
ELFORUM - Forumul electronistilor

Prescaler


Postări Recomandate

Stie cineva cum sa imi configurez tmr1 si tmr2 pentru a genera un pwm de 20ms?atasez ce am facut pana acum:void tmr1_init(){TMR1H=….TMR1L=……T1CON = 0x21;GIE = 1; PEIE = 1; TMR1IF = 0; TMR1IE = 1; TMR1ON = 1;}Void tmr2_init(){TMR2=0x00; PR2=…. T2CON=….. GIE=1; PEIE=1; TMR2IF=0; TMR2IE=1; TMR2ON=1;}nu stiu cum se foloseste prescalerul si cum sa imi calculez baza de timp de aceea nu stiu ce sa scriu in tmr1h si tmr1L la fel si in PR2 respectiv T2CON.microcontrollerul pe care il folosesc este pic16f690.

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

Top autori în acest subiect

Zile populare

Top autori în acest subiect

Salut,

 

Pentru PWM iti trebuie doar TMR2.

Perioada PWM e

T = (PR2 + 1) * 4 * Tocs * PrescTmr2
Pe T il stii - 20 ms, Tosc stii, e perioada ceasului extern.

Ce-ti ramane e sa 'potrivesti' valoarile scrise in PR2 si PrescTmr2 a.i. relatia de mai sus sa se verifice.

Cred ca cel mai simplu e prin tatonari. Faci prescalerul 1 si calculezi PR2. Daca obtii o valoare pe 8 biti (<255), ai terminat. Daca e prea mare, iei urmatorul prescaler. Te opresti cand obtii o valoare OK pentru PR2.

 

Succes.

Link spre comentariu

TMRxL & TMRxL sunt registrii in care numaratorul scrie unde a ajuns/in care tu scrii de unde sa inceapa sa numereDaca te uiti la pagina 130, e o 'diagrama temporala'.La pornire TMR2L&H sunt/sunt facuti 0 si iesirea PWM e comutata in high. TMR2 numara (e incrementat) pana cand e egal cu valoarea duty cycle (a propos, si asta trebuie stabilit). In momentul asta iesirea PWM e comutata in zero. TMR2 numara in continuare pana cand e egal cu PR2.In momentul asta se genereaza o intrerupere, TMR2L & H sunt facute zero si procesul se reia.PS tot ce am povestit eu mai sus (numai ceva mai detaliat) gasesti in data-sheet.

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