gzc581 发表于 2013-3-26 11:29:07

【求助】mega8 模拟比较器进不了中断 AVRSTUDIO+PROTUS仿真

在mega16 上仿真的还好好啊,一到mega8就不行了。
实在不知道为什么,小灯就是不变化,没有进中断的样子。

//-----------------------------------------------------------------
//-----------------------------------------------------------------
//Ãû³Æ: Ä£Äâ±È½ÏÆ÷²âÊÔ
//-----------------------------------------------------------------
#define F_CPU   1000000UL            //1M¾§Õñ
#include <avr/io.h>
#include <avr/interrupt.h>
#define INT8U   unsigned char
#define INT16Uunsigned int


#define LED3_ON()(PORTD &= 0xDF)//¿ªLED3
#define LED3_OFF() (PORTD |= 0x20)//¹ØLED3
//------------------------------------------------------------------
// Ö÷³ÌÐò
//------------------------------------------------------------------
int main()
{
       
       
        DDRD   =0B00100000;                 //PD2-INT0 ; PD67±È½Ï ; PD5 2¼«¹Ü


        SFIOR &= ~_BV(ACME);                                //AIN1-PD7½Ó¸º¼«
        SFIOR |=_BV(PUD);                                        //½ûÓÃÄÚ²¿ÉÏÀ­
        ACSR   =_BV(ACIE);                                //ÔÊÐí±È½ÏÖжÏ,ÄÚ²¿»ù×¼µçѹ£¬±ä»¯¼´ÖжÏ

       sei();
        while(1);
}

//-----------------------------------------------------------------
// Ä£Äâ±È½ÏÆ÷ÖжϷþÎñ³ÌÐò
//-----------------------------------------------------------------
ISR (_VECTOR(10))
{

        if(ACSR & _BV(ACO))
        {

                LED3_OFF();

        }
        else
        {

               LED3_ON();

        }

}

shuipaopao 发表于 2013-3-26 16:52:35

SFIOR &= ~_BV(ACME);不使能模拟比较器多路复用器;不知楼主SFIOR |=_BV(PUD); 这句配置起什么作用?

gzc581 发表于 2013-3-28 12:31:17

shuipaopao 发表于 2013-3-26 16:52 static/image/common/back.gif
SFIOR &= ~_BV(ACME);不使能模拟比较器多路复用器;不知楼主SFIOR |=_BV(PUD); 这句配置起什么作用? ...

禁止上拉

foxpro2005 发表于 2013-3-28 13:16:25

用实际硬件电路调试吧

yklstudent 发表于 2013-3-28 21:22:43

ISR (_VECTOR(10))?????
这个是模拟中断向量号???

gzc581 发表于 2013-3-29 21:44:30

foxpro2005 发表于 2013-3-28 13:16 static/image/common/back.gif
用实际硬件电路调试吧

我是硬件不行才来仿真的...

gzc581 发表于 2013-3-29 21:45:46

本帖最后由 gzc581 于 2013-3-29 21:47 编辑

yklstudent 发表于 2013-3-28 21:22 static/image/common/back.gif
ISR (_VECTOR(10))?????
这个是模拟中断向量号???

看了一下手册
0x010 ANA_COMP 模拟比较器

gzc581 发表于 2013-3-29 21:46:47

yklstudent 发表于 2013-3-28 21:22 static/image/common/back.gif
ISR (_VECTOR(10))?????
这个是模拟中断向量号???

擦,我错了....应该是16或者 0x10,我试试

xinhoujue 发表于 2013-3-31 18:23:13

M8的模拟中断向量号是【17】吧?{:smile:}
页: [1]
查看完整版本: 【求助】mega8 模拟比较器进不了中断 AVRSTUDIO+PROTUS仿真