wdmagic
- 15th April 2013, 01:01
I need to call a sub on a schedule, say every 30 minutes. The sub reads 8 ADC's into a VAR Array and sets PORTB based on those numbers.
I dont need it so accurate that I would need a RTC, but I would like to get in the neiborhood of 30 minutes. and I need it to do this like an interupt where it will fire even in a pause mode.
Here is what I need to call every 30 minutes (and optional on button would be nice but PORTB INT's are being used)
ReadVolts:
For X = 0 to 7
PORTE = X 'Activates Binary Relays
PAUSE 100 ' Allow Relay contacts to settle before ADC Conversion
ADCIN 0, VOLTS[X] ' Read Channel 0 data
VOLTS[X] = VOLTS[X] / 13 ' 64k = ~5000 mv (temporary math)
if VOLTS[X] > 4000 then
PORTB.0[X] = 1
ELSE
PORTB.0[X] = 0
ENDIF
PauseUS 100 ' Pause for ADC Refresh
NEXT X
RETURN
PORTB uses Bipolar LEDs for status indicators. I am going to assume I need to use one of the internal timers, but I have never used them. So if anyones got any ideas or code samples....
I dont need it so accurate that I would need a RTC, but I would like to get in the neiborhood of 30 minutes. and I need it to do this like an interupt where it will fire even in a pause mode.
Here is what I need to call every 30 minutes (and optional on button would be nice but PORTB INT's are being used)
ReadVolts:
For X = 0 to 7
PORTE = X 'Activates Binary Relays
PAUSE 100 ' Allow Relay contacts to settle before ADC Conversion
ADCIN 0, VOLTS[X] ' Read Channel 0 data
VOLTS[X] = VOLTS[X] / 13 ' 64k = ~5000 mv (temporary math)
if VOLTS[X] > 4000 then
PORTB.0[X] = 1
ELSE
PORTB.0[X] = 0
ENDIF
PauseUS 100 ' Pause for ADC Refresh
NEXT X
RETURN
PORTB uses Bipolar LEDs for status indicators. I am going to assume I need to use one of the internal timers, but I have never used them. So if anyones got any ideas or code samples....