Datasheet

PIC18F87K22 FAMILY
DS39960D-page 392 2009-2011 Microchip Technology Inc.
EXAMPLE 27-1: SETUP FOR CTMU CALIBRATION ROUTINES
#include "p18cxxx.h"
/**************************************************************************/
/*Setup CTMU *****************************************************************/
/**************************************************************************/
void setup(void)
{ //CTMUCON - CTMU Control register
CTMUCONH = 0x00; //make sure CTMU is disabled
CTMUCONL = 0X90;
//CTMU continues to run when emulator is stopped,CTMU continues
//to run in idle mode,Time Generation mode disabled, Edges are blocked
//No edge sequence order, Analog current source not grounded, trigger
//output disabled, Edge2 polarity = positive level, Edge2 source =
//source 0, Edge1 polarity = positive level, Edge1 source = source 0,
// Set Edge status bits to zero
//CTMUICON - CTMU Current Control Register
CTMUICON = 0x01; //0.55uA, Nominal - No Adjustment
/**************************************************************************/
//Setup AD converter;
/**************************************************************************/
TRISA=0x04; //set channel 2 as an input
// Configured AN2 as an analog channel
// ANCON0
ANCON0 = 0X04;
// ANCON1
ANCON1 = 0XE0;
// ADCON2
ADCON2bits.ADFM=1; // Resulst format 1= Right justified
ADCON2bits.ACQT=1; // Acquition time 7 = 20TAD 2 = 4TAD 1=2TAD
ADCON2bits.ADCS=2; // Clock conversion bits 6= FOSC/64 2=FOSC/32
// ADCON0
ADCON1bits.VCFG0 =0; // Vref+ = AVdd
ADCON0bits.VCFG1 =0; // Vref+ = AVdd
ADCON0bits.VCFG = 0; // Vref- = AVss
ADCON0bits.CHS=2; // Select ADC channel
ADCON0bits.ADON=1; // Turn on ADC
}