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

📄 adc12内部模块演示程序之多通道单次采样.c

📁 包含了msp430单片机上的ADC、定时器A、定时器B、基础时钟、看门狗的初始化及中断程序。基本示例程序
💻 C
字号:
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_06.C]
////ADC12, Sequence Conversions
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - ADC12内部模块演示程序之多通道单次采样
//时钟设置:
////ACLK=N/A,MCLK=SMCLK=default(DCO~800k)
//当前演示程序功能描述:
////利用MSP430F14X的AD0~AD2,进行多通道单次转换实验,P60~P62悬空即可
////通过断点在View->Watch中观察转换结果A0_Results.A1_Results.A2_Results一次
/*********************************************************/

#include <msp430x14x.h>

unsigned int A0_Results;			//保存A0结果
unsigned int A1_Results;			//保存A1结果
unsigned int A2_Results;			//保存A2结果

void main(void) {
	WDTCTL = WDTPW + WDTHOLD;		//关闭看门狗
	
	P6SEL |= (BIT0 + BIT1 + BIT2);		//端口的第二功能
	ADC12CTL0 = ADC12ON + MSC + SHT0_8;	//打开ADC12,设置采样时间
	ADC12CTL1 = SHP + CONSEQ_1;		//使用采样时钟,多通道单次采样
	ADC12MCTL0 = INCH_0;			//A0,ref+ = AVCC
	ADC12MCTL1 = INCH_1;			//A1,ref+ = AVCC
	ADC12MCTL2 = INCH_2 + EOS;		//A1,ref+ = AVCC
	ADC12IE = BIT2;				//允许P63中断
	ADC12CTL0 |= ENC;			//允许进行转换
	ADC12CTL0 |= ADC12SC;			//开始进行转换
	_BIS_SR(GIE);				//允许系统总中断
}

#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void) {
	A0_Results = ADC12MEM0;			//保存A0转换结果
	A1_Results = ADC12MEM1;			//保存A1转换结果
  	A2_Results = ADC12MEM2;			//保存A2转换结果
  	_NOP();					//在此处添加断点观察数据
}

⌨️ 快捷键说明

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