📄 atod.c
字号:
#include <p30f6014.h>
#include <adc12.h>
#include "common.h"
#include "timers.h"
#include "atod.h"
void InitAD(void);
unsigned int GetADValue(char pot);
//初始化12位ADC子程序
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -