2010-2012 Microchip Technology Inc.
DS39977F-page 243
PIC18F66K80 FAMILY
EXAMPLE 18-2:
CURRENT CALIBRATION ROUTINE
#include "p18cxxx.h"
#define COUNT 500
//@ 8MHz = 125uS.
#define DELAY for(i=0;i<COUNT;i++)
#define RCAL .027
//R value is 4200000 (4.2M)
//scaled so that result is in
//1/100th of uA
#define ADSCALE 1023
//for unsigned conversion 10 sig bits
#define ADREF 3.3
//Vdd connected to A/D Vr+
int main(void)
{
int i;
int j = 0; //index for loop
unsigned int Vread = 0;
double VTot = 0;
float Vavg=0, Vcal=0, CTMUISrc = 0;
//float values stored for calcs
//assume CTMU and A/D have been setup correctly
//see Example 25-1 for CTMU & A/D setup
setup();
CTMUCONHbits.CTMUEN = 1;
//Enable the CTMU
for(j=0;j<10;j++)
{
CTMUCONHbits.IDISSEN = 1;
//drain charge on the circuit
DELAY;
//wait 125us
CTMUCONHbits.IDISSEN = 0;
//end drain of circuit
CTMUCONLbits.EDG1STAT = 1;
//Begin charging the circuit
//using CTMU current source
DELAY;
//wait for 125us
CTMUCONLbits.EDG1STAT = 0;
//Stop charging circuit
PIR1bits.ADIF = 0;
//make sure A/D Int not set
ADCON0bits.GO=1;
//and begin A/D conv.
while(!PIR1bits.ADIF);
//Wait for A/D convert complete
Vread = ADRES;
//Get the value from the A/D
PIR1bits.ADIF = 0;
//Clear A/D Interrupt Flag
VTot += Vread;
//Add the reading to the total
}
Vavg = (float)(VTot/10.000);
//Average of 10 readings
Vcal = (float)(Vavg/ADSCALE*ADREF);
CTMUISrc = Vcal/RCAL;
//CTMUISrc is in 1/100ths of uA
}
相关PDF资料
PIC16C55-RC/P IC MCU OTP 512X12 28DIP
SFW23R-2STE1 SFW23R-2STE1-FFC/FPC CONN
PIC24FJ64GA002-E/SS IC PIC MCU FLASH 64K 28-SSOP
PIC18LF46K22-I/ML IC PIC MCU 64KB FLASH 44QFN
PIC18F45K80-I/ML MCU PIC 32KB FLASH 44QFN
PIC24F32KA302-I/ML MCU 32KB FLASH 2KB RAM 28-QFN
PIC18LF45K80-I/ML MCU PIC ECAN 32KBFLASH 44QFN
PIC18F4221-I/PT IC PIC MCU FLASH 2KX16 44TQFP
相关代理商/技术参数
PIC18F26K80-I/SO 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F26K80-I/SP 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F26K80-I/SS 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F26K80T-I/ML 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F26K80T-I/MM 功能描述:8位微控制器 -MCU ECAN 64KB FL 4KBRM 16 MIPS 12b ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F26K80T-I/SO 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F26K80T-I/SS 功能描述:8位微控制器 -MCU 64KB FL 4KBRM 16MIPS 12bit ADC CTMU RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F27J13-I/ML 功能描述:8位微控制器 -MCU 128KB Flash 4KB RAM 12MIPS nanoWatt RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT