Datasheet

PIC18F66K80 FAMILY
DS39977F-page 242 2010-2012 Microchip Technology Inc.
EXAMPLE 18-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
// ANCON1
ANCON1 = 0x04;
// ADCON1
ADCON2bits.ADFM=1; // Result format 1= Right justified
ADCON2bits.ACQT=1; // Acquisition time 7 = 20TAD 2 = 4TAD 1=2TAD
ADCON2bits.ADCS=2; // Clock conversion bits 6= FOSC/64 2=FOSC/32
// ADCON1
ADCON1bits.VCFG0 =0; // Vref+ = AVdd
ADCON1bits.VCFG1 =0; // Vref+ = AVdd
ADCON1bits.VNCFG = 0; // Vref- = AVss
ADCON1bits.CHS=2; // Select ADC channel
ADCON0bits.ADON=1; // Turn on ADC
}