⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc12.txt

📁 msp430f149的A/D转换。单通道单次转换和时钟模块操作的程序
💻 TXT
字号:
#include <msp430x14x.h>

unsigned int ADvalue;
void ADC12Init(void);

void main(void)
{
	WDTCTL = WDTPW + WDTHOLD;
	initclk();
	ADC12Init();			//A/D转换初始化
	_EINT();			//允许中断			 
	ADC12CTL0 |= ADC12SC;		//启动第一次A/D转换
	while(1);
}

void ADC12Init(void)
{
	ADC12CTL0 &= ~ENC;		//在改变设置前停止A/D转换
	ADC12CTL0 = ADC12ON;		//打开ADC内核,无转换时间溢出中断,无溢出中断
	ADC12CTL1 = CONSEQ_0 + SHP;	//单通道单次,采样定时器输出为采样信号

	ADC12MCTL0 = 0X00;		//ADC12MCTL0的输入通道为A0
	ADC12IE    = BIT0;
	ADC12CTE0  |= ENC;
}

interrupt [ADC_VECTOR] void ADC(void)
{
	case 0x02:break;
	case 0x04:break;
	case 0x06:
		ADvalue = ADC12MEM0;
		ADC12CTL0 |= ADC12SC;
	default:break;
}

void initclk(void)
{
      unsigned char i;
      BCSCTL1  &= ~(XT2OFF + XTS);		//启动XT2晶振,ACLK为XT1;
      BCSCTL2  |= SELM1;			//MCLK为XT2,不分频
      do					//等待时钟源转换完成
      {
            IFG1 &= ~OFIFG;
            for ( i = 0xff ; i > 0 ;i--);
      }
      while((IFG1 & OFIFG) != 0);
}     
     

⌨️ 快捷键说明

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