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

📄 3_8_2_4.c

📁 魏小龙《MSP430系列单片机接口技术及系统设计实例》书中全部程序代码
💻 C
字号:
#include <msp430x13x.h>     
#define ADCMEM ((int*) 0x0140)  	// ADC12MEMx  定义
void Init(void);
unsigned int Result[2];
void main(void)				//使用中断方式取结果
{ 
    Init();
    ADC12CTL0 |= 0x01;     		// 开始转换
    LPM0;                  		//进入低功耗状态,等待中断
    _NOP();    	
}
void Init(void)
{    
     WDTCTL = WDTPW + WDTHOLD; 
     P6SEL = 0xFF;         		// 所有P6口线均为ADC模块使用
     ADC12CTL0 &=~ 0x02;   		// 在进行设置时首先复位ADC的转换使能
     ADC12MCTL0  = 0x00;    		// Ref = AVss, AVcc; 输入通道 = A0
     ADC12MCTL1  = 0x8a;    		// Ref = AVss, AVcc; 输入通道 = A10
     ADC12CTL1 = 0x0206 ;   		// 第一个转换结果被放在ADC12MEM0
                            		// 第二个转换结果被放在ADC12MEM1
                            		// 采样脉冲由采样定时器产生
                            		// 时钟源:内部振荡器
                            		// 时钟分频: 1
                            		// 转换模式: 多通道、重复转换
     ADC12CTL0 = SHT0_8+ MSC+ADC12ON ;
                           
     ADC12IE = 0x002;               	//使能转换中断
     ADC12CTL0 |= 0x02;                 
     _EINT();                       	//使能全局中断
}
interrupt [ADC_VECTOR] void ADC12(void) // ADC 中断处理程序
{   
    unsigned int  i;
    for(i = 0 ; i < 2 ; i++ )
    {
        Result[i] = ADCMEM[i] ;		//读取结果
    }
}   

⌨️ 快捷键说明

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