MSP430F149学习之路——比较器Comparaor_A

时间:2023-03-09 16:22:37
MSP430F149学习之路——比较器Comparaor_A

代码一:

 #include <msp430x14x.h>
int flag = ;
void int_clk()
{
BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELM_2 + SELS;
do
{
IFG1 &= ~OFIFG;
for(int i=;i<;i++)
_NOP();
}while((IFG1 & OFIFG)!=);
IFG1 &= ~OFIFG;
} void int_COMPARATORA()
{
P2SEL |= BIT3 + BIT4; //P2.3,P2.4分别作为比较器的输出和输入
P2DIR |= BIT3; //P2.3作为输出 CACTL1 &= ~CAEX;
CACTL1 |= CARSEL + CAREF_2 + CAON + CAIES + CAIE;
CACTL2 |= CAF + P2CA1; //使能输出滤波器,CA1作为比较器的输入功能
}
#pragma vector=COMPARATORA_VECTOR
__interrupt void COMPARATORA(void)
{
flag = ;
} void main()
{
WDTCTL = WDTPW + WDTHOLD;
P6DIR = 0XFF;
P6OUT = 0X00;
int_clk();
int_COMPARATORA();
_EINT();
while()
{
while(flag)
{
P6OUT ^= 0XFF;
flag = ;
}
}
}

代码二:

 #include <msp430x14x.h>
void main()
{
WDTCTL = WDTPW + WDTHOLD;
P2SEL |= BIT3;
P1DIR |= BIT2;
P1OUT &= ~BIT2; CACTL1 = CAEX + CARSEL + CAREF_2 + CAON;
CACTL2 = CAF + P2CA1; while()
{
if(CAOUT==)
P6OUT = BIT0;
else
P6OUT = BIT7;
}
}