新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ATmega8的模擬比較器的總結

ATmega8的模擬比較器的總結

作者: 時間:2012-08-02 來源:網(wǎng)絡 收藏

1、當ACBG=1時,使用內(nèi)部能隙(1.23V)做AIN0端的電壓,ACME=0、ADEN=0時外界電壓作AIN1端的電壓。當外界電壓小于1.23V時,紅燈亮。否則,綠燈亮。段初始化程序設計:
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)部的能隙,的AIN0、AIN1兩端口都直接接外界的電壓,直接比較外部的兩個電壓的狀況。當AIN0AIN1時,綠燈亮。否則,紅燈亮。段初始化程序設計:
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ù)轉換的多路輸入端,對兩端口的狀態(tài)的比較。模擬比較器負極輸入使用參考表:

當AIN0AIN1時,綠燈亮。否則,紅燈亮。模擬比較器段初始化程序設計:
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;
}
}



評論


相關推薦

技術專區(qū)

關閉