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

📄 3_8_2_1.c

📁 MSP430系列单片机接口技术及系统设计实例_光盘资料
💻 C
字号:
#include "MSP430x13x.h"     
#define ADCMEM ((int*) 0x0140)  	// ADC12MEMx 定义
void Init(void);          	        // 系统初始化
void main(void)
{
    unsigned int i; 
    unsigned int j;
    unsigned int Result[2];     	//用以保存转换结果
    Init();                     	//对ADC进行初始化
    while (1)
    { 
       for (i=0;i<2;i++)       
       {
            ADC12CTL0 |= 0x01;     	// 开始转换
            ADC12CTL0 &=~0x01;     
          for (j=0;j<=1000;j++); 	// 延时,准备触发序列中的下一次转换
       }
       while ((ADC12CTL1&0x01)==1); 	// 等待整个序列的转换完成
       for(j = 0 ; j <2; j++) 
       {
            Result[j] = ADCMEM[j];
       }
       for (i=0;i<=40000;i++);   	// 两个序列之间的一个延时
    }
}
void Init(void)
{
    WDTCTL = WDTPW + WDTHOLD; 	        // 停止Watchdog
/* ADC12 Settings: */     
     P6SEL = 0xFF;         		// 所有P6口线均为ADC模块使用
     ADC12CTL0 &=~ 0x02;   		// 在进行设置时首先复位ADC的转换使能

                            		// 选则参考电压和输入管脚
     ADC12MCTL0  = 0x00;    		// Ref = AVss, AVcc; Input = A0
     ADC12MCTL1  = 0x8a;    		// Ref = AVss, AVcc; Input = A10
                            		// ADC12MCTL1 是最后一个转换通道
     ADC12CTL1 = 0x0202;    		// ADC12SC 位触发采样和保持
                            		// 采样脉冲由采样定时器产生
                            		// 时钟源:内部振荡器
                            		// 时钟分频: 1
                            		// 转换模式: 多通道、单次转换
     ADC12CTL0 = 0x0010+SHT0_8;    
     ADC12CTL0 |= 0x02;     		// 使能ADC转换
}

⌨️ 快捷键说明

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