atod.c

来自「dspic开发控制程序,有助开发pic单片机程序」· C语言 代码 · 共 54 行

C
54
字号
#include <p30f6014.h>
#include <adc12.h>
#include "common.h"
#include "timers.h"
#include "atod.h"

void InitAD(void);
unsigned int GetADValue(char pot);

//初始化12位A/D
void InitAD(void)
{
	TRISBbits.TRISB4 = 1;	//ADC端口引脚设为输入
	TRISBbits.TRISB5 = 1;
	TRISBbits.TRISB7 = 1;
	TRISBbits.TRISB8 = 1;
	ADCON1bits.ADON = 0; //关ADC
	SetChanADC12( ADC_CH0_POS_SAMPLEA_AN4 &
					ADC_CH0_POS_SAMPLEA_AN5 &
					ADC_CH0_POS_SAMPLEA_AN7 &
					ADC_CH0_POS_SAMPLEA_AN8 &
					ADC_CH0_POS_SAMPLEA_AN15 &
					ADC_CH0_NEG_SAMPLEA_NVREF &
					ADC_CH0_POS_SAMPLEB_AN0 &
					ADC_CH0_NEG_SAMPLEB_NVREF);
	ConfigIntADC12(ADC_INT_DISABLE);
	OpenADC12(	ADC_MODULE_ON &
					ADC_IDLE_CONTINUE &
					ADC_FORMAT_INTG &
					ADC_CLK_AUTO &
					ADC_AUTO_SAMPLING_ON,
				ADC_VREF_AVDD_AVSS &
					ADC_SCAN_ON &
					ADC_ALT_BUF_OFF &
					ADC_ALT_INPUT_OFF &
					ADC_SAMPLES_PER_INT_4,
				ADC_SAMPLE_TIME_31 &
					ADC_CONV_CLK_SYSTEM &
					ADC_CONV_CLK_32Tcy,
				ENABLE_AN4_ANA &
					ENABLE_AN5_ANA &
					ENABLE_AN6_ANA &
					ENABLE_AN8_ANA &
					ENABLE_AN15_ANA,
				(BIT4|BIT5|BIT6|BIT8|BIT15)	
			);
}

//读ADC值子程序
unsigned int GetADValue(char pot)
{
	return ReadADC12(pot);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?