比较器A模块 
   以下图可以看出比较器A的结构大概可以分4部分构成,分别为模拟输入,比较器A核心,低通虑波器,基准电压部分和中断部分组成。
CAREF1, CAREF0 选择参考源:
0 使用外部参考
1 选择0.25VCC为参考电压
2 选择0.5VCC为参考电压
3 选择二极管电压为参考电压,须参见具体IC的资料
CAON: 控制比较器A的打开与关闭
0 关闭比较器工作
1 打开比较器工作
CAIES: 中断边沿触发模式选择
0 上升沿使中断标志CAIFG置位
1 下降沿使中断标志CAIFG置位
CAIE:比较器中断允许
0 禁止中断
1 允许中断
CAIFG: 比较器中断标志
0 没有中断请求
1 有中断请求标志信号
CACTL2 比较器控制寄存器2
P2CA0:控制输入端CA0
 0 外部引脚信号不与比较器A连接
 1 外部引脚信号与比较器A连接
CAF: 选择比较器输出端是否经过RC低通滤波器
 0 开通RC低通滤波器
 1 直通信号
CAOUT: 比较器A输出的信号
 0 CA0小于CA1
 1 CA0大于CA1
CAPD 端口禁止寄存器
  比较器A模块的输入输出与IO口共用引脚,可以控制IO端口输入缓冲器的通断开关.CAPD控制位初始化为0,则端口输入缓冲器有效.当相应位为1时,端口输入缓冲器无效。
程序范例:
#include <msp430x11x1.h>
void main (void)
 {
  WDTCTL = WDTPW + WDTHOLD;     // 停止WDT
  CAPD |= 0x08;           // 断开与IO端口输入
  CACTL2 = P2CA0;          // 设置P2.3为+comp
  CCTL0 = CCIE;           // CCR0 允许中断
  TACTL = TASSEL_2 + ID_3 + MC_2;  // SMCLK/8,计数模式
  _EINT();             // 开总中断
 while (1) // 循环
 {
  CACTL1 = 0x00;          // 没有参考电压
  _BIS_SR(LPM0_bits);        // 进入LPM0
  CACTL1 = CAREF0 + CAON;      // 0.25*Vcc=P2.3, 比较器开
  _BIS_SR(LPM0_bits);        // 再次进入LPM0
  CACTL1 = CAREF1 + CAON;      // 0.5*Vcc=P2.3, 比较器开
  _BIS_SR(LPM0_bits);        // 再次进入 LPM0
  CACTL1 = CAREF1 + CAREF0 + CAON;  // 0.55V on P2.3,比较器开
  _BIS_SR(LPM0_bits);        // 再次进入LPM0
 }
}
// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
 _BIC_SR_IRQ(LPM0_bits);       //退出LMP0模式
}