Hello everyone,
I am pretty new with Pic Programming . I have to measure the time elapsed between V0-V voltages. I am planning to use a POT as an input and display the time on 2x16 display. I am planning to use 16 F877 .
Any ideas?
Thanks
Berkay
Hello everyone,
I am pretty new with Pic Programming . I have to measure the time elapsed between V0-V voltages. I am planning to use a POT as an input and display the time on 2x16 display. I am planning to use 16 F877 .
Any ideas?
Thanks
Berkay
What are the minimum and maximum times you will be needing to measure?
Will you be needing anything else going on at the same time?
Maybe something like
I know, not real code But an idea for you to try.Code:for X = 1 to 255 pause 10 t = t + 1 do whatever, pot if whatever = thisorthat then tCalc next x tCalc: display t
So if "t" equals 100 , that would mean about a second has passed.
Dave
Always wear safety glasses while programming.
This is for my master thesis project.
My time range is between 300 - 700 microseconds . Depending on the elapsed time value i will control the valves.
Thanks for your help
how can i start the timer for example when the analog input from the pot is 3 V and stop the timer when it is 5 V ?
thanks
You may want to consider using ADCIN in place of POT.Code:loop: If pot value => 3V then time goto loop time: for X = 1 to 255 pauseus 10 t = t + 1 do whatever, pot if pot value = 5V then tCalc next x tCalc: display t goto time
Notice I changed the example to PAUSEUS.
And someplace around here there is a discussion about code execution time, or just test it to adjust the PAUSEUS.
Dave
Always wear safety glasses while programming.
Thanks for your idea,
One more question. How am i gonna define the voltage. I have added a loop like but it didnt work. What can be the problem ?
ADC_READ:
ADCIN 0, ADCINFO
D=ADCINFO*100/51
timeloop:
if D>3 then
T1CON.0=1
if D>=4 then
T1CON.0=0
endif
ELSE
goto timeloop
endif
Hi mackrackit
i tried this
but it doesnt stop counting for a defined voltage once it is triggered it does not stop for the final voltage.
Once i stop it i ll adjust the pauseus valueloop:
adcin 0, adval
If adval => 500 then time
goto loop
time:
for X = 1 to 1023
pauseus 10
t = t + 1
If adval = 1000 then tcalc
next x
tCalc:
LCDOUT $fe, 2,"Time" ,":",DEC t
goto time
Anything missing? any suggestions?
Bookmarks