Datasheet

2010-2012 Microchip Technology Inc. DS41419D-page 331
PIC16(L)F1824/1828
27.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.
27.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.
27.6.1 TIMER0
To select Timer0 as the timer resource for the capacitive
sensing 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 Section 20.0 “Timer0 Module” for
additional information.
27.6.2 TIMER1
To select Timer1 as the timer resource for the
capacitive sensing 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 capacitive sensing module.
Refer to Section 20.1.2 “8-bit Counter Mode” for
additional information.
TABLE 27-2: TIMER1 ENABLE FUNCTION
27.7 Software Control
The software portion of the capacitive sensing 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
27.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.
27.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
oscillations of the capacitive sensing oscillator with an
additional capacitive load. The frequency of the capac-
itive 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
00 Off
01 Off
10 On
11Count Enabled by input