ATmega8的模擬比較器的總結(jié)
1、當(dāng)ACBG=1時(shí),使用內(nèi)部能隙基準(zhǔn)源(1.23V)做AIN0端的電壓,ACME=0、ADEN=0時(shí)外界電壓作AIN1端的電壓。當(dāng)外界電壓小于1.23V時(shí),紅燈亮。否則,綠燈亮。模擬比較器段初始化程序設(shè)計(jì):
void ac_init(void)
{
//{{WIZARD_MAP(Analog Comparator)
// Interrupt on Output Toggle
// Bandgap Enabled
// Multiplexer Disabled
ACSR = 0x48;
SFIOR |= 0x0;
//}}WIZARD_MAP(Analog Comparator)
}
ISR(SIG_COMPARATOR)
{
// TODO: Add your code here
if(ACSR _BV(ACO))
{
SET_RED_LED;
CLR_GRE_LED;
}
else
{
CLR_RED_LED;
SET_GRE_LED;
}
}
2、不使用內(nèi)部的能隙基準(zhǔn)源,模擬比較器的AIN0、AIN1兩端口都直接接外界的電壓,直接比較外部的兩個(gè)電壓的狀況。當(dāng)AIN0AIN1時(shí),綠燈亮。否則,紅燈亮。模擬比較器段初始化程序設(shè)計(jì):
void ac_init(void)
{
//{{WIZARD_MAP(Analog Comparator)
// Interrupt on Output Toggle
// Bandgap Enabled
// Multiplexer Disabled
ACSR = 0x08;
SFIOR |= 0x0;
//}}WIZARD_MAP(Analog Comparator)
}
ISR(SIG_COMPARATOR)
{
// TODO: Add your code here
if(ACSR _BV(ACO))
{
SET_RED_LED;
CLR_GRE_LED;
}
else
{
CLR_RED_LED;
SET_GRE_LED;
}
}
3、模擬比較器的AIN0端接外部電壓,AIN1端接模數(shù)轉(zhuǎn)換的多路輸入端,對(duì)兩端口的狀態(tài)的比較。模擬比較器負(fù)極輸入使用參考表:
當(dāng)AIN0AIN1時(shí),綠燈亮。否則,紅燈亮。模擬比較器段初始化程序設(shè)計(jì):
void ac_init(void)
{
//{{WIZARD_MAP(Analog Comparator)
// Interrupt on Output Toggle
// Bandgap Enabled
// Multiplexer Disabled
ACSR = 0x08;
SFIOR |= 0x08;
ADCSRA=0x00;
ADMUX=0x00;
//}}WIZARD_MAP(Analog Comparator)
}
ISR(SIG_COMPARATOR)
{
// TODO: Add your code here
if(ACSR _BV(ACO))
{
SET_RED_LED;
CLR_GRE_LED;
}
else
{
CLR_RED_LED;
SET_GRE_LED;
}
}
評(píng)論