//电压比较器,P1.0输入的未知电压接到比较器A正端
//片内参考电压0.25Vcc接到比较器A负端
//如果未知电压大于0.25Vcc,P1.6置位,否则P1.6复位。
#include <msp430g2553.h>
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止看门狗
P1DIR |= 0x80; // P1.7 输出
CACTL1 = CARSEL + CAREF0 + CAON; // 0.25 Vcc = -comp
CACTL2 = P2CA0; // P1.1 = +comp
// P2DIR|=0xff;
// P2OUT=0xff;
while (1)
{
if ((CAOUT&CACTL2))
P1OUT |= 0x80;
// CAOUT =1, 置位 P1.0
else P1OUT &=~0x80;
// 否则复位
}
}