adc.c

来自「msp430f169的ad da程序」· C语言 代码 · 共 34 行

C
34
字号

#include "msp430x16x.h"

//DAC0输出1.25V
//ADC A0通道测量DAC0输出,测量值保存在ADC12MEM0寄存器中
void Init_DAC0() {
  ADC12CTL0=REF2_5V+REFON;//内部2.5V参考电压
  DAC12_0CTL=DAC12IR+DAC12AMP_5+DAC12ENC;//单量程、中等速率、使能DAC
  DAC12_0DAT=0x7FF;//1.25V
}

void Init_ADC0() {
  unsigned int i;
  P6SEL|=0x01; 
  ADC12CTL0|=ADC12ON+SHT0_2;//打开ADC12、设置采样速度
  ADC12CTL1=SHP;//使用采样时钟
  ADC12MCTL0=SREF_1;  //Vr+=Vef,选择参考电压范围
  for(i=0;i<3600;i++);//参考电压稳定延时
  ADC12CTL0|=ENC; //使能转换
  while(1) {
    ADC12CTL0|=ADC12SC;//开始转换
    while((ADC12IFG&ADC12BUSY)==0);//等待转换
    _NOP();
  }
}

void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;//关闭看门狗
  Init_DAC0();
  Init_ADC0();
}

⌨️ 快捷键说明

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