Microchip Technology AC244055 Data Sheet

Page of 488
 2011-2013 Microchip Technology Inc.
DS40001574C-page 319
PIC16(L)F1938/9
26.5
Timer Resources
To measure the change in frequency of the capacitive
sensing oscillator, a fixed time base is required. For the
period of the fixed time base, the capacitive sensing
oscillator is used to clock either Timer0 or Timer1. The
frequency of the capacitive sensing oscillator is equal
to the number of counts in the timer divided by the
period of the fixed time base.
26.6
Fixed Time Base
To measure the frequency of the capacitive sensing
oscillator, a fixed time base is required. Any timer
resource or software loop can be used to establish the
fixed time base. It is up to the end user to determine the
method in which the fixed time base is generated.
26.6.1
TIMER0
To select Timer0 as the timer resource for the CPS
module:
• Set the T0XCS bit of the CPSCON0 register.
• Clear the TMR0CS bit of the OPTION_REG 
register.
When Timer0 is chosen as the timer resource, the
capacitive sensing oscillator will be the clock source for
Timer0. Refer to 
additional information.
26.6.2
TIMER1
To select Timer1 as the timer resource for the CPS
module, set the TMR1CS<1:0> of the T1CON register
to ‘11’. When Timer1 is chosen as the timer resource,
the capacitive sensing oscillator will be the clock
source for Timer1. Because the Timer1 module has a
gate control, developing a time base for the frequency
measurement can be simplified by using the Timer0
overflow flag.
It is recommend that the Timer0 overflow flag, in con-
junction with the Toggle mode of the Timer1 gate, be
used to develop the fixed time base required by the
software portion of the CPS module. Refer to 
 for additional information.
TABLE 26-2:
TIMER1 ENABLE FUNCTION 
26.7
Software Control
The software portion of the CPS module is required to
determine the change in frequency of the capacitive
sensing oscillator. This is accomplished by the
following:
• Setting a fixed time base to acquire counts on 
Timer0 or Timer1.
• Establishing the nominal frequency for the 
capacitive sensing oscillator.
• Establishing the reduced frequency for the 
capacitive sensing oscillator due to an additional 
capacitive load.
• Set the frequency threshold.
26.7.1
NOMINAL FREQUENCY
(NO CAPACITIVE LOAD)
To determine the nominal frequency of the capacitive
sensing oscillator:
• Remove any extra capacitive load on the selected 
CPSx pin.
• At the start of the fixed time base, clear the timer 
resource.
• At the end of the fixed time base save the value in 
the timer resource.
The value of the timer resource is the number of
oscillations of the capacitive sensing oscillator for the
given time base. The frequency of the capacitive
sensing oscillator is equal to the number of counts on
in the timer divided by the period of the fixed time base.
26.7.2
REDUCED FREQUENCY 
(ADDITIONAL CAPACITIVE LOAD)
The extra capacitive load will cause the frequency of the
capacitive sensing oscillator to decrease. To determine
the reduced frequency of the capacitive sensing
oscillator:
• Add a typical capacitive load on the selected 
CPSx pin.
• Use the same fixed time base as the nominal 
frequency measurement.
• At the start of the fixed time base, clear the timer 
resource.
• At the end of the fixed time base save the value in 
the timer resource.
The value of the timer resource is the number of oscil-
lations of the capacitive sensing oscillator with an addi-
tional capacitive load. The frequency of the capacitive
sensing oscillator is equal to the number of counts on
in the timer divided by the period of the fixed time base.
This frequency should be less than the value obtained
during the nominal frequency measurement.
Note:
The fixed time base can not be generated
by the timer resource that the capacitive
sensing oscillator is clocking.
TMR1ON
TMR1GE
Timer1 Operation
0
0
Off
0
1
Off
1
0
On
1
1
Count Enabled by input