Microchip Technology MCU PIC PIC18F87K22-I/PTRSL TQFP-80 MCP PIC18F87K22-I/PTRSL Data Sheet

Product codes
PIC18F87K22-I/PTRSL
Page of 550
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 
    
}