I recently lost a HDD and with it my notes on a project. So, I have a few questions for which I hope to find answers, saving a bit of research effort.

I will be using a 12F683 (8MHz internal oscillator) and an ASK RF receiver module with +/-10kHz bandwidth to capture several RF codes from various sources. The codes vary in frequency (310-320MHz), start sequence (initial pulses vary from ~2mS to 9mS), length (i.e.number of bits), and protocols. Some have constant length pulses with the following spaces varying for 1 vs. 0 (e.g. NEC) while others are just the opposite with constant length spaces preceded by pulses that vary in length (e.g. Sony). In each case, it's the time between rising edges that determine 1 or 0. The long bit-times are 2.0-2.4mS and the short ones half of that. All but one of the codes terminate with a lengthy silence. The longest code has 44 bits. The one code that does not have a terminating silence has a 2mS start pulse while the only code with 44 bits has a 9mS start pulse so I can determine which is which based on their start pulses. I also wish to measure the amplitude of the RF receiver's analog output. I've found that measuring the modulation depth (pulse amplitude - space amplitude) is an excellent proxy for RSSI (Received Signal Strength Indicator). I do not plan to use interrupts.

My algorithm...

1. Wait for rising edge
2. Measure amplitude of start pulse
3. Wait for falling edge
4. Calculate duration of pulse - if out of limits reset and wait for next pulse
5. Measure amplitude of space (pulse-space=RSSI)
6. Capture up to 44 bits - using CCP1 set for rising edges - reset TMR0 to overflow at ~2.6mS
7. Output results via RS232 (and store for response to RS485 query).

The algorithm itself works fine using another processor (ZX-40a from ZBasic) although the timeout function is slightly different. It uses an overall timeout value rather than the 2.6mS value I plan to use on a per bit basis.

My questions:

1. How do I set the TMR1 prescale value to 2?
T1CON=%00010000?
2. What values (preset, prescale) do I need for TMR0 for a 2.6mS overflow?
TMR0=93?, OPTION_REG=%10000011?
3. With interrupts disabled, can I monitor the IOC flag (INTCON.0) to detect when there's an input on one of the two serial inputs (RS232 & RS485)? They will send $FF one or more times to get the receiver's attention.