timing lus

T

tibisz

Guest
Pls help me, ik ben een beginer in PIC programmeren.Ik wil een knipperlicht en ik schreef het programma (in assembler), maar ik moet een timing tussen 0,1 & 1sec.These is in corelation met een potentiometer, en ik gebruik de A / D converter van de PIC (het is een 16F676). Maar ik niet doen hoe de gegevens van de potmeter (van 0 integreren tot 255) om een lus met de timing bovenstaande mentionated.No precisie te verkrijgen die nodig is.
Elke helpen welcome.Thank u
Tibi
PS scuse mijn slechte Engels.

 
Welke frequentie kristal gebruikt u?

Je kon bewegen de waarde geproduceerd door de ADC-converter en plaats deze in TMR0 dat een prescaler aan hem opgedragen (dwz 1:256) heeft.Elke keer dat Rolls-over, decrement een variabele met de waarde 16 in.Dit geeft een max van ą1.048576 seconde (255 * 256 * 16) en een min van ą20ľS (0 * 256 * 16).Oke, ik weet het niet dit min waarde, gesprekken en gotos zal beïnvloeden.De min en max zal worden swapt rond, dus net omgekeerd de aansluitingen van de pot.Ik denk dat ik recht in het bovenstaande, maar ik kon vergissen.Het is gewoon mijn idee en wat ik zou proberen.

Oh, gebruikte ik een 4MHz kristal voor mijn voorbeeld hierboven (1LS per instructie).Ik zal zien wat code die ik kan bedenken, kan ik niet garanderen hoe lang het zal nemen wat met examens en alles gebeurt nu!

Sputnik

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />
 
Hallo Sputnik
Ik gebruik een RC-oscillator, denk ik dat de frequentie 4MHZ (iets dat ik zie op de reikwijdte). De config hiervoor is _EXTRC_OSC_CLKOUT

 
Is dat ą4MHz op de OSC uitgang van de PIC, in dat geval is de PIC draait op ą16MHz.Vergeet niet, de PIC verdeelt intern de inkomende OSC frequentie 4.

Sputnik

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top