adc.c

来自「《MSP430单片机常用模块与综合系统实例精讲》整书的源代码有30个」· C语言 代码 · 共 46 行

C
46
字号
#include <msp430x14x.h>
#include "adc.h"

void Init_ADC(void)
{
    //设置P6.0~P6.3为模拟输入通道
    P6SEL = 0X07;                 
    
    //设置ENC为0,从而修改ADC12寄存器的值
    ADC12CTL0 &= ~(ENC);      
    //转换的起始地址为:ADCMEM0
    ADC12CTL1 |= CSTARTADD_0;		
    
    //设置参考电压分别为AVSS和AVCC,输入通道为A0
    ADC12MCTL0 = INCH_0;            
    //设置参考电压分别为AVSS和AVCC,输入通道为A1
    ADC12MCTL1 = INCH_1;    
    //设置参考电压分别为AVSS和AVCC,输入通道为A2
    ADC12MCTL2 = INCH_2;     
    //设置参考电压分别为AVSS和AVCC,输入通道为A3
    ADC12MCTL3 = INCH_3; 
    //设置参考电压分别为AVSS和AVCC,输入通道为A4
    ADC12MCTL4 = INCH_4;        
    //设置参考电压分别为AVSS和AVCC,输入通道为A5    
    ADC12MCTL5 = INCH_5;            
    //设置参考电压分别为AVSS和AVCC,输入通道为A6
    ADC12MCTL6 = INCH_6 ;    
    //设置参考电压分别为AVSS和AVCC,输入通道为A7
    ADC12MCTL7 = INCH_7 + EOS;      
    	    
    ADC12CTL0 |= ADC12ON;
    ADC12CTL0 |= MSC;
    
    //转换模式为:多通道、单次转换
    ADC12CTL1 |= CONSEQ_1;	
    //SMCLK
    ADC12CTL1 |= ADC12SSEL_1;	
    //时钟分频为1
    ADC12CTL1 |= ADC12DIV_0;		
    //采样脉冲由采用定时器产生
    ADC12CTL1 |= (SHP);			
    //使能ADC转换            
    ADC12CTL0 |= ENC;			
    return;
}

⌨️ 快捷键说明

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