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

📄 3_8_2_3.c

📁 魏小龙《MSP430系列单片机接口技术及系统设计实例》书中全部程序代码
💻 C
字号:
#include "MSP430x14x.h"     
#define ADCMEM ((int*) 0x0140)          // ADC12MEMx 定义
void Init(void);                        // 初始化系统及ADC寄存器
interrupt [ADC_VECTOR] void ADC12(void) ;  
unsigned int Result;
void main(void)				// 使用中断方式
{
    Init();
    ADC12CTL0 |= 0x01;                  // 开始转换
    LPM0;                               // 进入低功耗状态,等待中断
    _NOP();                             //
}
void Init(void)
{   
     WDTCTL = WDTPW + WDTHOLD;          // 停止Watchdog
/* ADC12 Settings: */     
     P6SEL = 0xFF;                      // 所有P6口线均为ADC模块使用
     ADC12CTL0 &=~ 0x02;                // 在进行设置时首先复位ADC的转换使能
     ADC12CTL0 = SHT0_8+MSC+ADC12ON;    // 内部振荡器,置位MSC位,因此转换能自动进行
     ADC12CTL1 = 0x0204;                // ADC12SC 位触发采样和保持
                                        // 采样脉冲由采样定时器产生
                                        // 时钟源:内部振荡器
                                        // 时钟分频: 1
                                        // 转换模式: 单通道、重复转换
                                        // 选则参考电压和输入管脚
     ADC12MCTL0  = 0x0a;                // Ref = AVss, AVcc; Input =A10 
                                        // source = Temperature diode 
     ADC12IE = 0x001;                   // 使能通道10 转换完成后中断
     _EINT();
     ADC12CTL0 |= 0x02;                 // 使能ADC转换
}
interrupt [ADC_VECTOR] void ADC12(void) // ADC INTERRUPT HANDLER
{   
    Result = ADCMEM[0];
}    

⌨️ 快捷键说明

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